Back to home
Modernisering Fenics ERP
Technical focus
Overview
Assignment
The assignment focused on supporting the modernisation of Fenics by extending the temporary transition architecture between the existing Swing/RMI environment and the new REST-based Quarkus services.
Results
- Reusable migration pattern for forwarding RMI calls from WildFly management beans to Quarkus REST services.
- Applied migration work within the Masterdata and RawMaterials modules.
- Solutions and guidelines for Java 8 / Java 17 compatibility, request objects, JSON serialisation and error handling.
- Supporting Podman setup for more consistent local Quarkus development and validation.
Approach
- Started from the already migrated HR module to understand the reusable migration pattern.
- Mapped existing Swing/RMI functionality to matching Quarkus services or required REST adjustments.
- Kept existing client-facing methods available while changing the internal backend handling.
- Validated the full flow from Swing client to RMI, WildFly, REST, Quarkus and response handling.
Technical Context
- Fenics is a long-standing Java EE ERP application with a Swing client, WildFly backend and RMI-based communication.
- The organisation is moving towards REST-based Quarkus services and a more cloud-oriented architecture.
- A phased transition was required because the existing Swing client still had to remain operational.
My Contribution
- Analysed existing RMI methods, management beans, object structures and backend flows.
- Adapted WildFly management beans so selected calls could be forwarded to Quarkus REST services.
- Applied the migration approach within Masterdata and RawMaterials based on the existing HR reference.
- Documented recurring migration patterns, technical issues and practical guidelines for future developers.
Reflection & Learning
- I gained deeper experience in application development within a large, historically grown Java enterprise system.
- I learned to analyse technical flows across multiple layers instead of focusing only on isolated errors.
- I improved my understanding of phased modernisation, where legacy systems and new services temporarily coexist.
- The Podman-related work allowed me to combine my DevOps background with the needs of application developers.
Documents
Project Plan
Planning document describing the internship context, objectives, scope and project follow-up.
Required • PDF • To be addedRealization / Thesis
Realization document describing the migration pattern, implementation, validation and results.
Required • PDF • To be addedReflection
Reflection document describing the technical outcomes, personal growth and lessons learned.
Required • PDF • To be added