We helped our client to migrate a huge desktop Delphi app that has around 1600 functions and 3200 modules to the .NET web
-
Industry
IT
-
Project type
Desktop
Description
Our client is a global enterprise contact center solution provider, delivering edge customer experience and workforce engagement software. They turned to us, as they wanted Softacom’s team to help them re-platform their desktop Delphi application to the cloud in order to make it accessible on a variety of devices through the web.
Though the task didn’t seem difficult for us, together with the client, we previewed the common risks associated with software reengineering projects caused by re-platforming old software to the cloud.
We built custom software but our in-house developers don’t have enough expertise in software migration projects. That’s why now, when we want to change the platform, we should turn to a team with expertise in working with Delphi applications and code migration.
The Delphi code is not easily maintainable, which leads to extra expenses from our side.
We want to work with professionals with a strong track record who can guarantee that our migrated app will preserve the same functionality and will demonstrate long-term reliability in its performance.
Project Team size
- Business Analyst
- Project Manager
- 2 Delphi Developer
- 2 .NET Developer
- QA specialist
- UX/UI designer

Solutions
The first challenge we had to handle was the size of the Delphi application, which turned out to be really big. It had 3200 modules and 1600 functions. It became obvious that testing them all manually after migration didn’t seem to be a feasible task. That’s why we developed a custom application to ensure the automation of the QA testing process. Unit testing was fully performed automatically. It presupposed comparing the requests and responses of the Delphi version with the new .NET version. Our task was to make sure that the converted application has all feature-for-feature equivalents and feels like the initial version with some enhancements.
Given the complexity of the software architecture, its business logic, and source code, we paid a lot of attention to such stages as Initial Business analysis and the development of a project migration plan.
defined the list of methods and models;
described REST API using a web tool, exporting it to the Swagger file;
generated the .NET/C# project from the Swagger file, and ensured the connection to a database.
And only after that, we could proceed to other sprints that presupposed conducting the step-by-step migration process with some sub-projects being migrated and tested in parallel.
Technologies
- used in the project
-
Object Pascal
-
C#
-
RAD Studio
-
Microsoft Azure SQL Database
-
ASP.NET Core
-
Microsoft Azure
Outcome
After the smooth migration from Delphi, the application became available through the web, i.e. employees can now work on a wide variety of devices. All the features remain fully functional.
Now, the company’s in-house developers can successfully maintain and enhance the newly migrated code without the need to outsource such services.
Moreover, after the conversion from Delphi, the legacy complex code has become much more readable. This means that when the company decides to rebuild something in the application or add new components, it can be done without the assistance of external expert teams.
The costs of the app’s support and maintenance are expected to significantly decrease as well.