Modernizing a business-critical public-sector application
Technical modernization of an established Java application while ongoing domain and regulatory changes continued.
Results / operational benefits
- Current technical foundation for continued development
- Reduced dependency on outdated persistence components
- Better protection against regressions through automated tests
- Modernization alongside ongoing domain development
Initial situation
An application grown over many years needed technical modernization while ongoing domain and regulatory changes still had to be delivered reliably.
Goal
Move the application to a current Java and Jakarta EE platform, replace outdated persistence components, and create a safer foundation for continued development.
Contribution
- Migrated the complete project from Java 11 to Java 21
- Migrated Java EE 8 to Jakarta EE 10 and a current application-server version
- Replaced EJB 2 entity beans with JPA entities
- Reworked the persistence layer and existing data access
- Built an in-memory test setup for persistence and application components
- Expanded and stabilized unit and integration tests
- Investigated complex Java backend issues and implemented lasting fixes
- Made database changes reproducible with Liquibase
Technology (excerpt)
- Java 21
- Jakarta EE 10
- JPA
- Liquibase
- JUnit
- Mockito
- Kafka
- Docker
Role
Senior Java Engineer, hands-on implementation and technical conception within a team
