How we made two legacy Java registry applications of a state-owned enterprise portable and easy to deploy - without touching the business logic.
Our client is a Hungarian state-owned enterprise whose day-to-day operations are supported by two legacy Java back-office registry applications. The applications ran on Java 11, the Payara application server and a PostgreSQL database, on Windows servers.
The goal was to move the application runtime from Windows to Linux - without changing the proven business operation, while making operations simpler.
FrontX took part in the project as both designer and implementer. The starting point was difficult in several respects:
A mandatory platform changeThe application runtime had to be migrated from Windows to Linux.
A costly native migrationPorting the two applications natively to the new environment would have required a very significant effort.
Slow performance, hard to operateThe applications were very slow and hard to operate.
Hardcoded environment settingsSP integration, mobile app integration, file server paths and server environment settings were hardcoded, so every environment change required a developer.
On the FrontX side the team was a project manager, a database architect and a Java developer. AI-based development tools were also used during the work.
Instead of rewriting the applications natively, we placed them in Docker containers. The Payara application server, PostgreSQL and the other runtime components run inside the container, so the solution is portable and works independently of the host operating system.
The same Docker layer was built for both applications, in a way that left the business logic unchanged. This reduced both the development effort and later operating effort, and made the two systems consistent to manage.
The containerised solution is built with Git and Nexus integration, turning deployment into a simple, step-by-step (next-next) process.
The previously hardcoded environment settings - SP integration, mobile app integration, file server paths, server environment settings - were moved to an external setup file, where they can be changed easily.
Both applications moved to the new environment without a native migration. As a result of the project:
A platform change does not have to mean a rewriteWith containerisation, a legacy application can be moved to a new environment without taking on the full cost and risk of a native migration.
One shared layer can serve several applicationsWhere runtimes are similar, a single well-designed Docker layer can cover the modernisation of several systems.
Externalise configurationMoving hardcoded environment settings to an external file brings a real operational benefit, even as a side effect of modernisation.
AI tools help with legacy work tooThe AI-based tools used during development supported the team in a legacy environment too.
If you are facing a greenfield build or a complex business domain, we would be glad to talk through how we would approach it. No obligation.
Book a free consultation