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

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.

4
Millions lines of code
7
months of work
1000
transactions processed per second
Project Manager
2 Delphi Software Developers
QA Engineer
Programming languages
Delphi 10.4
IDEs
RAD Studio 10.4
DBMS
MS SQL Server 2019
Frameworks
VCL
3rd party components
DevExpress, Orpheus, OmniXML, TMS VCL UI Pack, DragDropXE10, spring4d, Virtual-TreeView

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.

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.

Project budget

$ 135 000

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.

Talk to us and get your project moving
Book a free consultation with a solution expert.
Name
This field is required
E-mail
Company web site
This field is required
Phone Number
This field is required

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