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.
HSI chose Mobilize.Net 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 Mobilize.Net 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 Mobilize.Net 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”.
Mobilize.Net 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.
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 Mobilize.Net 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. Mobilize.Net 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.
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.
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#.
HSI chose Mobilize.Net 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.
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.
For more information about automated legacy migration software and services from Mobilize.Net, or to request information on migrating your applications, contact us and a software modernization professional will get back to you. Please send an email to email@example.com