
18 Jul, 2010
Kris Ceuppens and David Chipping
The pluggable rule architecture
VB NETamorpher is the Anubex migration tool that migrates Visual Basic 6 applications into .NET. The tool is built using a pluggable rule architecture to implement the mapping of VB6 to the .NET platform. In this architecture, the mapping of a VB6 language or component construct is mapped to the .NET world as a plug-in to the core VB NETamorpher. Plug-ins are .NET assemblies written in any supported language and they are:
This architecture represents a new generation of Anubex migration solutions, tailored to the specific needs of legacy platforms such as VB6, Delphi, and PowerBuilder. These platforms provided the developers with a wealth of third party components at their disposal to enrich their applications. For example, ComponentOne is a well known provider of components such as a datagrid, menubar etc. We believe that in order for a migration tool to be successful in such a flexible market, the ease with which the migration tool can be extended has to reach the same level of flexibility. With the pluggable rule architecture, VB NETamorpher achieves this goal.
Illustration of added value
The value of the pluggable rules is illustrated in a project Anubex is currently executing together with a Dutch customer. One of the core requirements of the project was not just to migrate from VB6 to VB.NET, but also to replace the COM document production components the programs used with a .NET alternative the customer identified as strategic.
To mitigate risks, the customer wanted to divide the project in two phases: cleanly separating and addressing both project concerns. Phase 1 focuses on the translation of VB6 to .NET, preserving all original COM document production code through COM Interop – a facility that integrates the COM and .NET worlds. As soon as this phase is accepted, the second phase focuses on replacing the document production code with code that targets the newly selected library.
To support this, VB NETamorpher is run for each phase, but with a configuration that matches the specific context. In phase 1, the configuration is so that the document production code is Interop’ed in .NET – this is a standard functionality that has been built into the tool. For phase 2, the configuration is updated so that the document production logic is handled by a new set of plug-ins. All other configuration is exactly the same and so is the generated code. Below image illustrates both phases:
After an initial training by Anubex staff on Plug-in development, a customer expert that is an expert in both the old and the new library implemented the new plug-in set for phase 2. This decision has significantly increased both the speed and quality of the second phase of the project: it was much more productive to teach the customer how to develop the plug-in than it would have been for Anubex staff to master both document production libraries.
Conclusion
This practical example illustrates how VB NETamorpher’s pluggable rule architecture has benefited this customer:
From small companies to multinationals, from health insurers to airlines, all Anubex customers save time and money by modernizing their applications with the right set of migration tools.