IFDS Percana chooses the VBUC to upgrade its Eclipse product suite to C# preserving
specific coding standards
The Irish solution provider for the Life and Pensions industry licensed
a customized version of ArtinSoft’s VB6 to .NET product that will allow to quickly
and cost-effectively migrate their software while obtaining native, maintainable
code that complies with their own programming conventions

Situation
Customer Profile
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.
Business situation
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.
Solution
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.
Benefits
By licensing a customized version of ArtinSoft’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.
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.
Solution
IFDS Percana evaluated several alternatives for the migration endeavor, but quickly
decided on ArtinSoft’s Visual Basic Upgrade Companion (VBUC), 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 ArtinSoft 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 ArtinSoft 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 ArtinSoft’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, ArtinSoft 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#.
Benefits
Licensing a customized version of ArtinSoft’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 ArtinSoft’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 ArtinSoft’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.
