Based in Dublin, Ireland and founded in 1999, IFDS Percana Group Limited is a software development company that provides mission critical enterprise software, called Eclipse, to Life and Pensions companies, along with consultancy services to undertake policy conversion and development projects. Based on the success of its offerings and the demand within the industry, IFDS Percana has grown to provide a complete range of outsourcing services.
The Eclipse product suite is a comprehensive enterprise solution used to manage a wide range of life and pension products. It enables an organization to efficiently, securely and cost-effectively manage their policies throughout their life cycle.
IFDS Percana has always been committed to provide the best solutions, from software products to outsourcing services, employing the latest technologies and development techniques that are easily adapted to both current and future developments in markets and technology.
Because of the business IFDS Percana is in, being a software vendor, the technology that Eclipse was based on could have been considered legacy; Microsoft no longer supported the Visual Basic 6.0 environment, so it was imperative to move to a newer platform that would bring additional features and benefits. Therefore they were eagerly looking forward to upgrading Eclipse to .NET and take advantage of the capabilities of Microsoft’s latest framework.
But the project presented a series of challenges, since Eclipse used a very particular error handling model, among other characteristics, and IFDS Percana had specific coding standards and target requirements. And the complexity was even more considerable when taking into account that it encompassed processing the equivalent of about 7,000,000 lines of VB6, when including shared code
IFDS Percana evaluated several alternatives for the migration endeavor, but quickly decided on VBUC because it's a powerful yet flexible product that not only produced pure VB.NET or C# code but allowed the extensive customization of its core migration engine that could provide precise conversion patterns for the Eclipse source code.
The Visual Basic Upgrade Companion also allowed converting to C#, besides VB.NET, and Bold Technologies had already settled for the former as their target language. Their experience with C++ seemed to make the transition to C# a natural choice somehow, and they also thought that since Microsoft wrote the framework itself in C# they might be putting more effort and support towards that language. Plus they’ve found more resources available for C# compared to VB.NET in the marketplace.
“We became aware of Mobilize.Net because of its close technical relationship with Microsoft. We then compared the results of the VBUC’s trial version with those from other utilities and immediately noticed that the code generated was far better. And there were no proprietary libraries required, so we could convert our application without dependencies on code from another company. Because we are selling licensed software we have to own the intellectual property rights of every line of code in there, so we could not be in a situation where we will be using code from a third party library which we cannot control. And the helper classes used in some cases by the VBUC are entirely optional, and in any case you can get rid of those afterwards”, noted Paddy Keating, IFDS Percana’s Chief Technical Officer.
“Another crucial part of the equation was the fact that Mobilize.Net provided the option to customize the migration engine to meet our requirements. Building on the already good output of the VBUC was a really significant benefit, since we would be able to obtain a result that fully complies with our coding standards. And finally, the tech savvy of Mobilize.Net’s team provided additional comfort that we were dealing with a company who could deliver what we wanted”, concluded Keating.
After a thorough analysis together, Mobilize.Net and IFDS Percana identified and agreed on a series of requirements for VBUC customization, which will produce a significant reduction in the effort necessary to address critical migration challenges. The most notable of these were the following:
- Error handling: The Eclipse source code enclosed a particular mechanism for handling and raising errors. The VBUC was customized to implement explicit error handling conversion patterns.
- Optional Parameters: Eclipse used VB6 optional parameters extensively, and IFDS Percana requested the usage of C# 4.0 Optional Parameters instead of overloading the methods in order to provide the same functionality in .NET.
- ByRef / ByVal: ByRef parameters in VB6 code can take constant values, literal values, method invocations and other expressions that are not supported in C# for ref arguments. Normally, the VBUC addresses this difference by generating auxiliary variables called tempRefParam variables, which are newly declared variables named sequentially (tempRefParam1, tempRefParam2, etc.). The customization focused on improving handling of parameters passed into methods, in order to keep the same ByRef and ByVal semantics found in the VB6 Eclipse code. This will greatly improve final code maintainability and reduce compilation errors.
- Typing of the ‘cCompParms’ variable: A variable called ‘cCompParms’ was employed widely in the application, and in most cases it was late-bound or declared “As Object”. After some configuration, the VBUC was able to recognize any variable named ‘cCompParms’ and declared with type Variant or Object, and change its declaration to CompParams before applying the conversion. This will allow all the conversion rules to recognize these variables with their correct type and apply the corresponding transformation rules as needed. Otherwise CompParams variables would be recognized as late binding variables and several automatic transformations could not be applied.
- Reorganization of shared files: Eclipse contained hundreds of files that were being used by several projects. These files will be re-grouped under a series of namespaces defined by IFDS Percana, in order to simplify a future code re-structuring.
- Conversion of Data Access methods to Extension Methods: Methods from several modules that comply with specific patterns and requirements will be converted to extension methods of the Eclipse data access classes. Additionally, those modules will be relocated to their own assemblies and namespaces.
- Conversion of Date and String Functions to Extension Methods: There was an explicit file in Eclipse that contained a series of methods that could be converted to extension methods for the DateTime or String classes, depending on the type of operations that those methods perform. With the implementation of this requirement, the VBUC will be capable of automatically recognizing most of the methods that should be converted to extensions of the String or DateTime classes, and modify all the calls to those methods accordingly.
- TabPro ActiveX to .NET Tab Control: The implementation of this requirement will extend the VBUC to provide basic support for the replacement of the FarPoint TabPro ActiveX control with the .NET Framework TabControl component.
- C# 4.0 Named Arguments for Optional Parameters: This customization will allow the VBUC to use the “Named Arguments” feature from C# 4.0 when a method with optional parameters is called. With this feature, the VBUC will use parameter names to pass the parameter values to a method, avoiding the use of default values in method calls when optional parameters are not given a specific value.
C# was favored as the target language because it was more predominant in the skill set of the Irish work force, with some market trends reinforcing that conception about programming language popularity. Also, IFDS Percana’s familiarity with C++ and Java also weighed in the final decision, since it made it more comfortable to work with C#.
Licensing a customized version of Mobilize.Net’s VB6 to .NET migration product will save IFDS Percana substantial time and cost on their migration project. The customizations alone are estimated to yield savings of at least 6,000 man-hours and about $100,000. Moreover, it will result in more maintainable code that complies with IFDS Percana’s programming conventions. No other tool in the market could offer that kind of flexibility while at the same time delivering high-quality, native .NET code.
The VBUC’s ease of use, along with Mobilize.Net’s professional support, are also key success factors for a project that is going to be handled in-house. With State Street being one of the investors in IFDS Percana, the migration will be performed by their development center in China, where one of Mobilize.Net’s migration experts travelled to deliver the training pertinent to the project.
And in the end, IFDS Percana will be able to continue offering their flexible and reliable policy administration solution on a more flexible and modern platform that will enable them to respond swiftly to market demands.
IFDS Percana Group Ltd. is an Irish software development company that provides a mission critical software suite, called ECLIPSE, to Life and Pensions companies, along with a complete range of consulting services.
Because of the business IFDS Percana is in, being a software vendor, the technology that Eclipse was based on could have been considered legacy. Microsoft no longer supported the Visual Basic 6.0 environment, so it was imperative to upgrade their flagship application to the .NET framework and take advantage of all its features and benefits. Eclipse used a very particular error handling model, among other characteristics, and IFDS Percana had specific coding standards and target requirements, so the project entailed a high complexity level, even more when considering that it implicated processing the equivalent of about 7,000,000 lines of VB6.
After evaluating several solutions, IFDS Percana chose VBUC for the job. Not only did it allow the extensive customization of its core migration engine that would provide precise conversion patterns, but the resulting codebase did not require a third-party library, something that was simply unacceptable for an ISV.
By licensing a customized version of Mobilize.Net’s VBUC to perform the migration at State Street’s Technology centre in China, IFDS Percana will save time and cost on their migration project and the result will be highly maintainable code that complies with their own programming conventions. No other tool in the market could offer that kind of flexibility while at the same time delivering quality, native .NET code.
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 firstname.lastname@example.org