How Softacom Modernized a 35-Year-Old Windows App – 86% Faster Reports, Zero Downtime
-
Industry
Food industry
-
Project type
Software modernization, software migration, software development
Softacom in Numbers
lines of code analyzed
migrated reports
users served
reduction in average report generation time
Description
In the framework of this project, we cooperate with a company that builds software solutions for food distributors. Today, its Windows-based system is being widely used in the US and abroad. The user base includes around 2,000 wholesale food distributors and the company plans to expand its global reach.
The company started its business journey more than 35 years ago. And at that time, it was one of the pioneers in delivering software solutions for this market. The key mission that the company determined many years ago and still follows today is to provide food distributors with efficient tools to optimize their operations and increase profits.
Over the years of development, the company’s main product has become a comprehensive system with a source code that contains over 3 million lines.
It provides a wide range of features that precisely address the needs of food distributors.
For example, the system offers the following tools and functionality:
- Inventory control;
- Cost/pricing management;
- Invoicing;
- Customer management;
- Automated purchasing tools;
- Dashboards;
- Filter-based search;
- Scheduling;
- Google Maps integration;
- Customizable reports.
Software obsolescence is a quite natural process. Though the system had all the tools food distributors may need, when our client contacted us, the performance of some features left much to be desired. One of the most serious issues that the client wanted to address was slow report generation.
This functionality is highly important for users. It allows them to generate reports of different types, including reports on inventory pricing and movement, customer sales and analytics, vendor purchasing and more. These reports cover key areas, helping to track stock levels, analyze sales, and monitor financial performance.
The system lets food distributors choose the specific times and periodicity for certain reports to be automatically generated, which ensures that they can get the most relevant business insights.
However, the delays in report generation pose a threat to the reputation of the client’s software. That’s why the company needed to look for professionals who would be able to work with their legacy Windows app, detect the reasons for its performance deterioration, and introduce the required changes.
Moreover, in the process of software review, it was detected that the system still relied on the old database. It didn’t have all the required features and it couldn’t cope with the ongoing load.
- The first version of the system was developed several decades ago. Since then, it has been greatly changed, enhanced, and expanded based on the needs of modern wholesale food distributors. Nevertheless, the company now saw that some of the functionality of their solution didn’t meet modern standards. That’s why they were quite preoccupied that this could become a reason for their users to look for alternative systems provided by their rivals.
- They started to receive complaints from users about delays in report generation. As a result, they couldn’t get the freshest insights into their sales and other business processes.
- The company was also thinking about launching a SaaS version of their solution that would allow them to address the needs of a wider group of potential users.
Project team size
- 3 developers
- 1 AQA
- 1 PM/BA
Solutions
The first thing that we did when our client turned to us was the analysis of the current state of the system and elaboration of the general plan of action. We used AI tools in combination with human oversight to accelerate this step. It helped us in code search, discovery and refactoring.
We identified two main areas of improvement:
- Low performance of the report-building feature. It impacted the decision-making process.
- Issues caused by the old database.
How we tackled these challenges
Slow Report Generation
The core issue was slow report generation. The legacy reporting logic relied on outdated data retrieval methods: scanning entire tables and filtering records one by one, with minimal SQL usage. This led to extremely poor performance across all reports.
Solution:
We developed a new Report Builder and completely refactored the reporting engine.
With our AI-assisted environment, we mapped dependencies and identified potential refactoring targets. Instead of iterating through records manually, the new system automatically generates optimized SQL queries for each report. It also reduced the average report generation time by 86%. The server load was decreased by 43% and the client load by 95%. We migrated and tested 150+ reports, all of which were successfully integrated into the client’s next production release.
Database limitations
The system was built on Advantage DB, an outdated and less commonly used database engine. It had limited support for modern SQL syntax and suffered from performance bottlenecks, making further optimization difficult.
Solution:
Rather than a full migration, the client chose a hybrid approach, introducing PostgreSQL as an optional second database engine. This allows them to gradually adopt SQL features without disrupting existing operations. We applied insights gained during the earlier report engine refactoring. This approach allows for phased adoption of modern database features without disrupting existing operations.
Outcome
We successfully updated the report generation functionality. 150+ reports were tested and migrated to production without disruptions. Users of the system have already shared their opinions. They are fully satisfied with the performance of the modernized feature.
“Generating reports used to be painful. It could take several minutes and often froze, especially during peak hours. Now, it’s fast and stable, even when we are pulling large datasets. This change alone is saving us hours of work each week – and nerves.”
– Employee
The legacy report engine was fully replaced with a modern SQL-driven Report Builder, leading to:
- 86% reduction in average report generation time
- Client-side load dropped by 95%, server load by 43%
- Fewer freezes and higher reliability during peak hours
We introduced a hybrid database architecture that combines Advantage DB for backward compatibility and PostgreSQL for better performance and SQL capabilities.
