Summary
- Customer: a manufacturer and supplier of gift packaging and accessories
- Country: USA
- Product Used: Migration service
- Source Technology: Delphi
- Target Technology: C#
- Project Scope: 40 000 LOC
- Project Duration: 4,5 months
Ispirer migration service facilitates application conversion through the use of the Ispirer Toolkit. By automating part of the project, the Ispirer team was able to speed up the conversion and reduce the migration time to 4.5 months.
Results
Background
A customer is one of the oldest and largest designers and suppliers of quality decorative gift bags and gift packaging & accessories. They design, market, and distribute decorative gift bags and other gift packaging products for Christmas, Valentines Day, Easter and other gift giving occasions primarily to Large National Retail Chains in USA and Canada.
Challenge
In order to synchronize information about the quantity of goods in the warehouse, deliveries, and product orders, the customer needs a modern infrastructure, namely an application and a database. The database that the customer used was SQL Server which completely met the client’s requirements. But with the application the situation was the opposite. Understanding the importance of infrastructure modernization, over the 60 years of the company’s operation, the client has updated its own applications more than once. And taking into account the fact that Delphi is already over 30 years old, the client decided that it’s time to migrate this application too.
In fact, the client was worried about outdated software, which became difficult to scale and integrate with other services. At the client's request, the SQL Server database should have been left as is. This is exactly the request the client came to us with.
Outdated software can significantly slow down business development. Our team regularly faces complaints about outdated programming languages and databases. In this case, after a thorough study of the application and analysis of the source code, the Ispirer team proposed migration to C# Winforms using our migration service.
Why not nGLFly Wizard? In the case of our client, a migration service served as the most optimal solution. The main reason for that is a significant amount of third-party controls, Infopower VCL.
Solution
Let us remind you that the Ispirer migration service is a combination of automatic migration by our software and manual conversion of code structures that are not advisable to automate. Why? There are code structures that are not practical to migrate automatically, since the effort that needs to be spent on automation exceeds the effort for manual migration. That was the case with our client, because although most of the code was migrated seamlessly using nGLFly Wizard, a significant amount of third-party controls were more efficient to migrate manually.
Most of the code was easily converted using the Ispirer Toolkit: the automation rate was 80%. This approach significantly saves the client’s time and money, since the transfer of code from an outdated language to a modern one is much faster.
The remaining part of the code, consisting of controls, was subject to manual migration. The standard controls were easily migrated from Delphi to the corresponding equivalents in C#. However, several third party controls required manual migration with adjustments. Our team has expanded the functionality of standard Winforms controls, such as ComboBox, CheckBox, DataGridView, BindingNavigator, etc., adding to them the controls features of the source application. After implementing the new conversion rules, these elements were migrated automatically. With the approval of the client, the Ispirer team implemented new custom solutions in the nGLFly Wizard so that in the future similar cases would be migrated automatically.
At the discussion stage, the client asked to leave the database unchanged. However, after converting the application from Delphi to C# conversion, Ispirer developers discovered a performance hit due to the ODBC driver that worked well with the Delphi application. To optimize and accelerate pre-migration performance indicators, the Ispirer team changed the application code since it was necessary to replace the ODBC driver with System Data SQL Connect which is the default library for working with SQL Server.
Outcome
As a result, the project resulted in a win-win solution that helped the client modernize the application from outdated to modern and convenient technology stack in a short time, and an impressive “bundle” of new conversion rules was added to the Ispirer Toolkit core. Thus, subsequent Delphi projects in C# will be carried out even faster, more efficiently and with better quality.