Case Study: HSI leapfrogs in front of their competition by migrating their LatNav
application from VB6 to C#
Using ArtinSoft’s Visual Basic Upgrade Companion and consulting services,
HSI was able to save about 12 months of development time and $160,000, while getting
a massively improved product out to market earlier than anticipated puts them back
in the driver seat.
Situation
Customer Profile
Texas-based Horizontal Solutions International (HSI) provides geo-navigation solutions
for the horizontal drilling industry. Their LatNav software application allows steering
of horizontal or extended reach wells.
Business situation
The high business value of LatNav urged HSI to look for a solution to leverage this
investment and preserve their competitive advantage. The end of official support
for the VB6 development environment and taking advantage of the .NET platform’s
capabilities were compelling reasons to migrate to C#.
Solution
HSI chose ArtinSoft to migrate their LatNav application from VB6 to C# on a turn-key
basis, using a slightly customized version of the Visual Basic Upgrade Companion.
The scope for the project included ADO and DAO conversion to ADO.NET, and the replacement
of COM components.
Benefits
The highly automated migration allowed preserving the business knowledge embedded
in the application, while obtaining high-quality, native .NET code. The application
was delivered one year earlier than a manual rewrite and saved HSI about $160,000.
Migrating to C# moved HSI away from an unsupported environment and allowed them
to improve their mission-critical application by taking advantage of the new features
available in the new platform. Fixing and enhancing the application can now be done
in a much shorter timeframe, saving the company a huge amount of time and money.
Founded in 1996 by Ken Bowdon, the US pioneer in exploratory horizontal well drilling,
Horizontal Solutions International (HSI) provides exploration and production companies
the knowledge, experience and technology they need to keep their horizontal wellbores
on target. Headquartered in Texas, HSI’s geo-navigation consulting services,
reporting services, geologic expertise and geo-navigation methodology are unmatched
in the horizontal drilling industry.
Mr. Bowdon founded HSI after writing a software program that offers superior navigation
of horizontal wellbores using MWD gamma ray signatures. Called LatNav, this application
allows the operator to successfully steer horizontal or extended reach wells, no
matter how complex the geologic setting. With LatNav, gamma ray data recorded along
a horizontal wellbore path is translated to its true stratigraphic position. This
creates a log that correlates to nearby vertical wells, making the position of the
bit within the stratigraphic section easy to identify.
This stand-alone desktop VB6 application had 82,258 lines of source code, and ran
on Windows XP with the back end running on Microsoft Access as the database. It
was composed of a single project (.vbp) that held all the forms, business logic
and database access layer, and it relied on a series of controls and libraries to
provide certain key functionality, such as data access and display.
The high business value of LatNav urged HSI to look for a solution to leverage this
investment and preserve their competitive advantage. The end of official support
for the VB6 development environment was one of the compelling reasons to migrate
to the .NET platform, but HSI was also looking towards modernizing the application
to fend off its competition.
Solution
HSI chose ArtinSoft to perform the complete VB6 to C# migration of their LatNav
application, using a slightly customized version of the Visual Basic Upgrade Companion.
They chose ArtinSoft because of their technology and experience in real world migration
projects, and after analyzing the implications of a rewrite from scratch. “Very
quickly we realized that upgrading the application gave us the ability to have something
already and then just improve each part of it as we moved forward. Without question,
we would still be working on it if we’d done it ourselves, saving us up to
12 months of development time easily”, said Ryan Grady, Owner of Newbury Road,
the company in charge of supporting and developing LatNav for HSI. Also, using the
Upgrade Wizard that ships with Visual Studio .NET produced too many errors, so they
were looking for something to fill the gap. “We don’t have the tools
and resources that ArtinSoft does, so it would have been a daunting task, whereas
they did it pretty painlessly and simply”, Grady added.
The scope for the project included ADO and DAO conversion and the replacement of
COM components. ADO and DAO components and methods were replaced by functionally
equivalent classes and methods from ADO.NET, using the System.Data.Common namespace.
Likewise, COM components, such as MSFlexGrid, MSComctlLib, MSComDlg, Stdole, TabDlg,
MSDataGridLib, MSDataListLib, MSADODC and C1 Chart 7.0, were automatically converted
to native .NET components with corresponding functionality.
The C1 Chart control was one of HSI’s biggest concerns. As Ryan Grady puts
it, “that 3rd party chart control was almost a decade old, and we were worried
it wouldn’t be migrated and that would be one of the things we would have
to completely rewrite. Thankfully, it was easily upgraded by the Visual basic Upgrade
Companion”.
ArtinSoft consultants ran the code through the Visual Basic Upgrade Companion tool,
fixing all compilation errors in the migrated application and performing manual
changes when necessary. Then, after running the migrated application, they fixed
all the run-time issues, delivering a functionally-equivalent application on the
.NET platform. The code was verified under the test plan and test cases previously
created by HSI in order to define the acceptance criteria.
Benefits
The highly automated migration process allowed preserving all the business rules
embedded in the application, while obtaining high-quality, native .NET code. The
migrated application was delivered in 4 months, just as scheduled, while a manual
rewrite would have taken 1 year more, and with the risk of losing some of the aforementioned
ingrained business knowledge.
“I was very pleased with the methods ArtinSoft utilized to communicate progress
on the project and the professional manner in which their staff conducted themselves”,
said Ken Bowdon. “Utilizing the Visual Basic Upgrade Companion saved us about
one year of development and $160,000. ArtinSoft completed the project on time and
within the turnkey cost. This conversion will allow us to leapfrog well in front
of our competition.”
Converting the mission-critical application to C# moved HSI away from a legacy development
environment and into a fully supported platform. This process allowed the company
to improve the existent application while taking advantage of the new features available
in .NET.
There was no immediate need to have independence from the DB engine providers through
the System.Data.Common interfaces. Currently, the LatNav application needs to work
with MS Access only, so the VB to .NET upgrade could have been done using ADO and
DAO via COM Interop. Nevertheless, the HSI development team found the automatic
migration from ADO and DAO to ADO.NET to be extremely useful for the eventual database
migration from MS Access to SQL Server 2005, since performing this conversion as
a manual enhancement to the migrated application would consume substantial amounts
of effort and time. Hence, the database access model conversion delivered by the
Visual Basic Upgrade Companion greatly enhanced the application’s scalability
and future maintenance.
In the end, the migration of LatNav to C# broadened the technological gap with competing
products, which will eventually strengthen the presence of HSI in the market. “Getting
the product to market earlier than anticipated puts HSI back in the driver seat,
with a massively improved product out. By migrating from VB6 to C#, we didn’t
just moved to a new platform, but also changed language; an enormous leap that allows
us to bring a completely new and superior product to market. There were many features
we wanted in the software, but it was such a hassle to write them in the legacy
language that it was pointless. Now we get to fix and enhance the application in
a much shorter timeframe, saving a huge amount of time and money”, concluded
Grady.