Skip to content
All cases
Enterprise softwarePlatform modernisation and development

From Java 6 to Java 21: modernising a platform that could not stop

three generations of migration
Java 6 → 21
question types in the builder
18 types
in the form interface
5 languages

The challenge

The vendor had a working product with live corporate customers — and a stack that no longer attracted developers: Java 6, an old Spring, an ExtJS interface. Rewriting from scratch meant leaving those customers without new features for a year. Freezing development meant losing them.

What we did

First we simply kept it alive

We took over support of the legacy Java 6 version — fixes, small features, customer escalations. While the product kept running, we learned it from the inside.

Migration in three steps

Java 6 → Java 12 → Java 21, together with the move to a current Spring. Each step shipped as its own release, after which the system ran in production.

A new interface instead of ExtJS

The web client was rewritten in Angular with an entirely new UI, keeping the workflows users already knew.

A form builder with eighteen question types

From text and lookups to photos, signatures, QR codes and geo-stamps. Every question carries its own translations, so an inspector sees their own language in each country.

Versioning and publication

A form has a version, an approval status and a publication queue — only approved revisions reach the devices.

Multi-tenancy and corporate sign-in

Tenants, login journals and system settings live in a separate console; sign-in runs through LDAP with a one-time code as the second check, and roles carry granular permissions.

The result

The product moved onto a current stack and a new interface without dropping out of the market. The vendor keeps selling and supporting it, and hiring developers for it became realistic again.

More cases