• Cases
  • We helped our client to migrate a huge desktop Delphi app that has around 1600 functions and 3200 modules to the .NET web

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 our team to help them migrate their desktop software 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.

Client`s pain and concern

We need to make the app available on a wide variety of devices so we decided to move it to the web.
We build custom software but our in-house developers don’t have enough expertise in software migration projects.

Project Team size

  • Business Analyst
  • Project Manager
  • 2 Delphi Developer
  • 2 .NET Developer
  • QA specialist
  • UX/UI designer
Project Team size

Solutions

The first pitfall we faced was the size of the software which turned out 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 custom software to organize the automated 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.

Given the complexity of the software architecture, we paid a lot of attention to such stages as Initial Business analysis and the development of a project migration plan.

Before starting the migration itself we had to implement the first batch of REST API methods.
We:

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 Object Pascal
  • C# C#
  • RAD Studio RAD Studio
  • Microsoft Azure SQL Database Microsoft Azure SQL Database
  • ASP.NET Core ASP.NET Core
  • Microsoft Azure Microsoft Azure

Outcome

After the migration, the app became available through the web, i.e. employees can now work on a wide variety of devices.

The app maintenance costs are expected to decrease.

Application support and adding new features will become possible for in-house cloud developers.

Subscribe to our newsletter and get amazing content right in your inbox.

You can unsubscribe from the newsletter at any time

This field is required
This field is required Invalid email address

You're almost there...

A confirmation was sent to your email

confirm your subscription, make sure to check
your promotions/spam folder