• Cases
  • We helped our customer to find out the problems in their Delphi software functioning and introduced the necessary changes to overcome the existing issues

We helped our customer to find out the problems in their Delphi software functioning and introduced the necessary changes to overcome the existing issues

  • Industry

    Media

  • Project type

    Desktop

Description

Our client owns Delphi software that processes huge volumes of data in different formats (including text data, images, videos) received from various outlets located all over the world. It accumulates news agenda from journalists who work in different countries. The received information is gathered on the central servers and is further sent to editors of news websites, magazines, newspapers and TV channels.

It is a high load system that should be able to process 1000 transactions per second.

Initially, the app was written with Delphi 2010 with 3rd party component Orpheus. With the flow of time, the app failed to meet some performance standards and the client took a decision to migrate it to Delphi 10.4 with a 3rd party component DevExpress. But as soon as it was done, the client started to notice some errors in the app functioning that led to the overflow of the storage and losses of data. Due to the fact that there was an accumulation of errors, the available server resources were reduced.

The client’s in-house team couldn’t detect the nature of the error and to solve the problem on their own that’s why they decided to find external specialists and they chose us thanks to our rich expertise on working with Delphi software.

Client`s pain and concern

The software was previously migrated to the latest version of Delphi but later some errors in its functioning were detected.

The system couldn’t cope with the required amount of transactions per second.

All the issues led to the accumulation of errors which resulted in the reduction of the available server resources.

Project Team size

  • Project Manager
  • 2 Delphi Software Developers
  • QA Engineer
Project Team size

Solutions

We carefully analyzed the state of the app and detected the issue with multithreading related to the inability of the software to process all the steams. When the app failed to fulfill its functions, it switched to the backup server. But it couldn’t help to solve the problem.

After we find the error, we can work on its solution. We re-wrote the core part of the software that was responsible for working with multithreading.

For us, the main challenge in this project was to build a testing environment for the simulation of the fully functioning system. It was crucial to find the possibility to simulate the process of sending data from different corners of the work.

After we enhanced the app with a new approach to working with streams, all the existing and potential issues were eradicated.

Technologies

  • used in the project
  • Delphi 10.4 Delphi 10.4
  • RAD Studio 10.4 RAD Studio 10.4
  • MS SQL Server 2019 MS SQL Server 2019
  • VCL VCL
  • DevExpress DevExpress
  • TMS VCL UI Pack TMS VCL UI Pack

Outcome

Our team successfully managed to define the problem and its nature. It was a very important milestone for this project but only the first one. We also developed the solution for the existing problem and introduced the necessary changes. Now the system copes with the required amount of transactions per second and the available server resources have been released.

As a result, the client’s app started to function seamlessly and efficiently. No data losses have been detected since then.

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