Application migration can be done using the complete rewrite approach, code conversion or a hybrid approach. In some cases with stable functionality and a major dependency on historical data, our clients choose the complete rewrite. In other cases, a hybrid approach may be more appropriate.
Since a complete rewrite is a tedious process, VB.NET’s Upgrade Wizard may be used to automatically convert the syntax, but this is only half the work done. This approach leads fast into problems and errors during compilation that can no longer be dealt with by the Upgrade Wizard. At that point it becomes inevitable to rewrite and rearchitect the code for the new application.
Macrosoft migration team has years of experience dealing with the .NET migration process. Here are some key components of a typical migration project.
1. Application Assessment – Our expert analysts perform a thorough assessment of the application to be upgraded. The existing system functionalities are documented in detail. Our team uses an assessment tool to analyze the VB6 application to understand issues and estimate the cost and effort.
2. Planning and Preparation – The Project Manager then prepares a detailed project plan, write down the scope and have the migration requirements charted out. The team then creates functional requirements for the new framework and application.
3. Upgrade Strategies – Once the requirements are clear, migration strategy is presented to the client after brainstorming. Typically, our recommendation is to first migrate the VB6 application to the new .NET platform with the existing functionality, with or without the help of a code converter tool, and then perform incremental changes to incorporate new functionality.
4. Automatic Upgrade Process – If code migration was done using an automated utility, the quality of the generated code needs review and cleanup by our developers. This involves removing duplicated code, upgrading problematic syntax and controls, fixing data declarations, and the like.
5. Manual Upgrade Process – If It is essential to rewrite critical application logic to suit the .NET framework then the typical development life-cycle plays out. The team focuses on writing new code in VB.NET leaving the bulk of the existing code in VB6 as there is good interoperability between VB6 COM components and VB.NET components.
6. Migrate Data – This involves creating a SQL Server or database and importing data and resizing the database structure.
7. Quality Assurance – Bugs are tracked using various source code analyzers that helps identify duplicate codes and fix data declarations. Upgraded application is subjected to different levels of testing throughout the process to ensure reliability and correctness of the application. Unit test thoroughly each converted item to identify any bugs in implementation. System testing ensures the application functionalities are covered by the new .NET framework application version. Finally, the team imports legacy data and performs load testing to ensure the application works in the .NET environment.
8. Deployment – Once the QA team passes the application, it is deployed to the application server and a complete checklist of all the components and functionalities in the application are verified before handover to client.
Migrating VB6 to .NET is definitely the way to go with rapidly changing programming landscape. Migration puts forth some challenges that can be overcome with automation tools, source code analyzers and proper planning by only upgrading sections relevant from a business point of view. Here at Macrosoft we have a proven track record of successfully migrating business-critical applications, which are executed by a dedicated team of developers experienced in both VB6 and VB.NET environments.
Worried about your company’s future running on a VFP application. Looking for smart automation too ...
As a Technical Account Manager, dealing with a variety of different migration questions or concerns are my specialty. Typically, the ...
A Commercial Off-The-Shelf (COTS) solution can appear cheaper and quicker to implement in the short term but often winds up ...