Projects

Java Enterprise Backend Development

Completed projects in chronological order. The summaries provide a quick overview; responsibilities, architectural decisions and further professional details can be expanded for each project.

06/2024 – 06/2026

Architecture and Modernisation of Java Enterprise Platforms

Anstalt für Kommunale Datenverarbeitung (AKDB) · Team: multiple product groups · OOA/OOD/OOP, Java, Agile, DevOps

Design of a unified provisioning approach for AKDB applications across data centres, customer-operated environments and cloud-native platforms. Participation in AKDB's central architecture group and coordination with configuration management and development. Migration to JBoss EAP 8 using Galleon feature packs and declarative Infrastructure as Code. Validation and demonstration of key building blocks through numerous proofs of concept. In 2026, implementation of one part as an automated build and transformation pipeline for Spring Boot applications.

Project details

The aim was to provision AKDB applications from the same code base for traditional data-centre installations, customer-operated environments and cloud-native platforms.

In 2024 and 2025, I developed a phased transformation concept, coordinated it with configuration management and development, and contributed it to company-wide recommendations as a member of AKDB's central architecture group. It replaces imperative installation and setup procedures with declarative Infrastructure as Code and links traditional operating models with the move towards cloud native.

A key building block was the migration to JBoss EAP 8 using Galleon feature packs for application-specific, reproducible runtimes.

I validated the core elements in numerous proofs of concept covering provisioning, configuration, secrets, integration tests, container images, CI/CD and observability. I demonstrated the results to the participating departments and refined the approaches with their feedback.

In 2026, I transferred part of this approach into the automated provisioning of a modular Spring Boot application landscape as WAR/EAR packages and container images for WildFly/JBoss EAP.

Technologies: Java 17, Jakarta EE, WildFly/JBoss EAP 8, Galleon, Infrastructure as Code, Maven, GitLab CI/CD, Docker, Kubernetes, Helm, Testcontainers, JFR, Micrometer and Spring Boot.

Java 17 Spring Boot Jakarta EE WildFly / JBoss EAP Galleon Maven GitLab CI/CD Docker Kubernetes Testcontainers JFR / Micrometer
11/2022 – 12/2023

Development of EMBE Online Software (OZG)

HR-Solutions GmbH · Team: 20 · OOA/OOD/OOP, Java, Agile, DevOps

EMBE-Online is an online portal for submitting measurement reports, developed according to the EfA principle. Responsible for the backend on a microservice architecture, containerised and deployed with Helm from GitLab pipelines onto the Kubernetes platform Rancher. Use of the Spring IO technology stack – Spring Boot, Spring Security, Spring Data. Keycloak 20.x as identity provider. Working under Scrum methodology with 2-week sprint cycles. (Stopped December 2023)

Project details

The project was stopped in December 2023.

EMBE-Online is an online portal that was intended to be used for submitting measurement reports from 2023. Under the EfA principle, one German state or an alliance of states develops a service centrally and subsequently makes it available for reuse by other states and municipalities.

I was responsible for the backend within a small development team. It is based on a microservice architecture, is containerised and is deployed with Helm from GitLab pipelines to the Rancher Kubernetes platform.

I used the Spring IO technology stack that I have worked with intensively for more than 15 years, including Spring Boot, Spring Security and Spring Data. Keycloak 20.x served as the identity provider.

The work followed Scrum with two-week sprint cycles supported by Jira and Confluence.

Technologies: Java 17, Spring Boot, Spring Security, Spring Data, PostgreSQL, Keycloak, Maven, Git, GitLab, IntelliJ IDEA, JUnit, Docker, Helm, Kubernetes, Rancher, Tomcat and Liquibase.

Java 17 Spring Boot Spring Security Spring Data PostgreSQL Keycloak Docker Kubernetes Helm Rancher GitLab
01/2020 – 12/2022

Architecture and Development for E-Government (OZG)

Anstalt für Kommunale Datenverarbeitung · Team: 20 · Agile, DevOps

Creating architecture, implementation, and deployment concepts for software systems in the Online Access Act (OZG) domain, including Citizen Service Portal, Service Account, and Bayern ID. Kubernetes platform on SuSE Enterprise, Helm and Ansible for provisioning, GitLab deployment pipelines. Java 11/17 with the Spring IO product landscape, MariaDB, MongoDB, RabbitMQ, Shibboleth. Product development across multiple groups under Scrum. Additionally leading contribution to updating the legacy Citizen Service Portal through to a fully automated deployment pipeline.

Project details

I created architecture, implementation and delivery concepts for software systems in the context of Germany's Online Access Act, including the Citizen Service Portal, Service Account and BayernID.

The operating platform was based on Kubernetes and SUSE Linux Enterprise. Helm and Ansible provisioned the applications, controlled by GitLab deployment pipelines.

The containerised applications were implemented in Java 11 and 17 using the Spring IO product landscape with Spring Framework, Spring Boot and Spring Cloud. MariaDB and MongoDB served as backends, RabbitMQ as the message broker and Shibboleth for identity management.

Product development was organised across several groups with around 50 participants, following Scrum and supported by Jira and Confluence.

In addition, I made a leading contribution within a small development team to updating the legacy Citizen Service Portal through to a fully automated deployment pipeline. Technologies included Java 8, Red Hat JBoss EAP 6, Red Hat Enterprise Linux, GitLab, Ansible, Maven, MariaDB and Elasticsearch.

Technologies: Java 8/11/17, Spring Boot, Spring Security, Spring Integration, MySQL/MariaDB, MongoDB, SQL, Maven, Git, GitLab, IntelliJ IDEA, JUnit, Nexus, Docker, Kubernetes, Rancher, Tomcat, RabbitMQ, JBoss EAP and Ansible.

Java 8/11/17 Spring Boot Spring Security Spring Integration MariaDB MongoDB RabbitMQ Docker Kubernetes Ansible JBoss EAP
09/2018 – 10/2019

Consulting: Modernisation of Custom Software

Carl Zeiss Meditec AG · Team: 20 · OOA/OOD/OOP, Java, Agile, DevOps

Extensive technology overhaul of a product over 10 years old. Migration away from an EJB-centric monolithic application towards lightweight, domain-separated microservices, runnable on Docker, on-premise, AWS and Azure. Transformation of Enterprise Java Beans into technology-neutral classes following SOLID and Clean Architecture. Consistent use of Spring Framework/Boot/Integration/Data/Security. Active MQ as message broker. Components operable as standalone services and in monolithic structure, deployed as Docker images.

Project details

The modernisation of a product developed over more than ten years was treated as a separate project because it involved extensive functional and technological change.

The existing Java Enterprise container-based, EJB-centric monolithic application was transformed into lightweight, domain-separated components that could run as containerised microservices both on-premise and on AWS and Azure.

The main focus was transforming numerous Enterprise Java Beans into domain-separated, technology-neutral classes following SOLID and Clean Architecture. Spring Framework, Spring Boot, Spring Integration, Spring Data and Spring Security were used consistently.

Application events were transported with ActiveMQ. Its embedded operation simplified small on-premise installations; Apache Kafka proved too complex for this use case. ActiveMQ and Azure Service Bus can both be used as JMS providers.

The resulting components could run both as independent services and combined into a monolithic structure. Docker images were the deployable units. Cloud-native and configuration patterns allowed the services to run on different cloud platforms and on-premise without code changes.

Technologies: J2EE with JPA, EJB, JMS, CDI, JDBC, JSF and JAX-RS, Java 11, Spring Framework, Spring Boot, Spring Security, Spring Integration, MySQL 5, SQL, Jersey, Maven, Subversion, IntelliJ IDEA, TeamCity, Ant, JUnit, Artifactory, MongoDB 3, Docker, GlassFish 3, jclouds, ActiveMQ and Thymeleaf.

Java 11 Spring Framework Spring Boot Spring Security MySQL MongoDB Docker Active MQ Glassfish
12/2010 – 09/2018

Consulting: Further Development of Custom Software

Carl Zeiss Meditec AG · Team: 20 · OOA/OOD/OOP, J2EE, Agile, DevOps

Continued development of a PACS archiving solution for the medical sector. Java Enterprise 6/Java 8 in client/server architecture. Migration from CORBA IIOP to REST. Independent implementation of a Continuous Integration process with Teamcity and Artifactory. Modularisation of the backend monolith following Domain-Driven Design. Implementation of security with Microsoft Kerberos/Active Directory and OAuth2 via Spring Security. Development of an AWS cloud variant (S3, CloudWatch, EC2) and an analytics engine based on Elasticsearch.

Project details

Further development of a PACS archive solution for medical use that had been under development since 2008. The backend was developed with Java Enterprise 6 and Java 8 in a conventional client/server architecture. Inter-process communication initially used CORBA/IIOP and JMS; CORBA was later replaced by HTTP- and REST-oriented interfaces.

I independently implemented a continuous-integration process based on the ideas of Jez Humble, using JetBrains TeamCity as the CI server and JFrog Artifactory as the repository for all build results. Maven 3 built the Java artefacts and ran the automated tests. Build-pipeline outputs were Docker images and system installers.

Main responsibilities:

  • Modularising the backend monolith according to Domain-Driven Design, integrable into the overall system via JNDI while also runnable as an independent service; implementation with Java 8, Spring Framework and Spring Boot.
  • Integrating backend components with security systems such as Microsoft Kerberos/Active Directory and OAuth2 using Spring Security 4 and 5.
  • Introducing the development team to DevOps, Clean Code, Clean Architecture, Domain-Driven Design and SOLID.

Further work:

  • Replacing CORBA/IIOP-based inter-process communication with HTTP.
  • Automated data migration with Flyway.
  • Developing an AWS cloud variant of the backend using a lift-and-shift approach with S3, CloudWatch and EC2.
  • Developing an analytics engine with Elasticsearch, AWS serverless functions, S3 and Kibana.
  • Implementing a document-oriented index for structured metadata searches using MongoDB 3, Spring Boot and RESTHeart.
  • Developing plugins for Maven 3, TeamCity and Artifactory to improve CI processes.
  • Maintaining the GlassFish application server, including bug fixes and component updates.

Technologies: J2EE with JPA, EJB, JMS, CDI, JDBC, JSF and JAX-RS, Spring Framework, Spring Boot, Spring Security, Spring Integration, MySQL 5, SQL, Jersey, Maven, Subversion, IntelliJ IDEA, TeamCity, Ant, JUnit, Artifactory, MongoDB 3, Docker, GlassFish 3, jclouds, Thymeleaf, AWS, Elasticsearch and ELK.

J2EE Spring Framework Spring Boot MySQL MongoDB Docker AWS Elastic Search Teamcity Maven
11/2006 – 12/2010

Consulting: Development of Custom Software

Hypovereinsbank IS / UniCredit Bank AG · Team: 8 · OOA/OOD/OOP, J2EE

Development of a tool for assessing specialised financing (ships, real estate, wind turbines, aircraft). Classic three-tier web application design. UI with JSF 1.2/Facelets, independent calculation engine via JMS. Persistence via JPA/Hibernate in Oracle DB. Main responsibilities: architecture design, communication with business departments, development of all layers from UI to persistence.

Project details

Development of a tool for assessing specialised financing for ships and fleets, real estate, wind turbines and aircraft. The business department supplied the calculation model, which was refined and extended with support from IT.

The software architecture followed a conventional three-tier web application design. The user interface was implemented with JSF 1.2 and Facelets. The calculation core ran as a standalone application and communicated with the user interface and batch processes via JMS. Asset data and rating results were persisted in an Oracle database through JPA/Hibernate.

My main responsibilities were architecture design, communication with the business department and development of all application layers from the user interface through to persistence; the supplied calculation core was excluded.

Technologies: J2EE, AOP, AspectJ, Spring, Oracle 9i, XDoclet, SQL, JDBC, JSF, Acegi, Windows NT, Eclipse, Maven, Ant, JUnit, CVS, Visual SourceSafe, UML and Oracle JVM.

J2EE Spring JSF JPA/Hibernate Oracle Maven AspectJ
05/2006 – 09/2006

Development of Custom Software

Siemens AG / SBS · Team: 10 · OOD/OOP, J2SE/J2ME

Development of a component in the HiPath Security Connector project in the context of the German electronic health card. Development of a Trusted Viewer per gematik specification as part of the signing process. GUI with Swing and Flying Saucer, invoked as an OSGi bundle.

Project details

Independent development of a component in Siemens AG's HiPath Security Connector project in the context of Germany's electronic health card.

The specification by gematik GmbH formed the basis for the Trusted Viewer as part of the signing process. The viewer presented a graphical user interface on the primary system and was controlled by the connector.

The user interface was developed with Swing and the open-source Flying Saucer component. Control of the Trusted Viewer was provided to applications on the connector side as an OSGi bundle.

Technologies: J2ME, J2SE, Swing, OSGi, XML, XSLT, XHTML, Eclipse, NetBeans, Ant, JUnit, CVS, Subversion, Linux and Windows.

J2ME/J2SE Swing OSGi XML/XSLT
10/2005 – 04/2006

Development and Migration of Custom Software

Deutsche Börse AG · Team: 6 · OOD/OOP, J2EE

Migration of a Windows fat-client CRM application (Visual C++/PL/SQL) to J2EE as a web application on AIX with Oracle 9i and Tomcat 5.5. Service-oriented design with Spring Framework. Responsible for the build process, Maven introduction, and implementation of server logic. Reuse of parts of the server implementation in the Oracle JVM.

Project details

Migration of a Windows fat-client/server CRM application implemented in Visual C++ and PL/SQL to a J2EE web application.

The target system consisted of AIX with Oracle 9i, Tomcat 5.5 and J2SDK 1.4. Development was performed on Windows 2000 using Eclipse 3, Oracle 9i, Tomcat 5.5 and J2SDK 1.4.

The MFC controls were replaced by Common Controls from SCC Informationssysteme GmbH and extended by SCC for additional requirements. Logic below the GUI controls was treated as server logic, designed in a service-oriented manner and implemented with Spring Framework.

I was responsible for establishing the build processes, introducing Maven and Spring Framework, and played the leading role in designing and implementing the server logic. Experience from the preceding leasing project was reused. Parts of the server implementation also ran in the Oracle JVM, replacing business logic written in PL/SQL.

Technologies: J2EE, AOP, AspectJ, Spring, Oracle 9i, XDoclet, SQL, JDBC, Struts, Acegi, Windows NT, Eclipse, Maven, Ant, JUnit, CVS, Visual SourceSafe, UML and Oracle JVM.

J2EE Spring Oracle 9i Maven Struts
02/2005 – 09/2005

Development of Custom Software

KGAL · Team: 8 · OOA/OOD/OOP, J2EE

Requirements analysis, design, and development of software for large leasing transactions. Replacement of a heterogeneous software landscape. Encapsulation of J2EE interfaces with Spring, OR-mapping with OJB, authentication/authorisation with Acegi, web client with Struts. Build and deploy with Maven.

Project details

Requirements analysis, design and development of process-supporting software modules for managing large leasing transactions. The aim was to replace, standardise technologically and extend a heterogeneous software landscape.

Requirements were documented as use cases in diagrams and tables; I also described the interfaces to external systems.

J2EE interfaces were encapsulated with Spring so that they could be integrated simply and independently of technology into a service-oriented design, while container independence simplified unit testing. Object-oriented access to the persistence layer used OJB; OJB and JDBC were encapsulated through DAO templates. POJOs served consistently as data objects from persistence through to the client.

Visitor, versioning and change-history patterns were implemented as aspects with AspectJ. Acegi provided authentication and authorisation, while XDoclet generated XML descriptors. The web client was built with Struts, FormDef, SiteMesh, Commons Validator and JSTL; Maven provided the build and deployment environment.

Technologies: J2EE, AOP, AspectJ, Spring, Oracle 9i/10g, OJB, OR mapping, XDoclet, SQL, JDBC, Struts, SiteMesh, JSTL, Acegi, Windows NT, Red Hat Linux, Eclipse, Maven, Ant, JUnit, CVS and UML.

J2EE Spring Oracle Struts AspectJ Maven
11/2003 – 12/2004

Development of Custom Software

Berufsgenossenschaft / Phoenics · Team: 30 · OOD/OOP, J2EE

Development of a unified IT system for business transactions at professional associations. Modelling of business processes, use cases, and workflows. Client- and server-side development, creation of the object model and persistence layer, GUI components, test data and fine-tuning with the subject matter experts.

Project details

Development of a unified IT system for the business processes of German employers' liability insurance associations. This included coordinating the specifications created by the domain project, their technical analysis and implementation of the described business processes.

Client- and server-side development:

  • Modelling business processes, use cases and workflows.
  • Modelling agents as the client/server communication structure.
  • Implementing business logic in workflows, use cases and business processes.
  • Creating the object model and modelling persistence.
  • Creating GUI components and their internal logic as well as test data and test cases.

This was followed by detailed coordination with the domain project for transferring business processes into the different test stages and by development support for the test team during the respective bug-fixing cycles.

Technologies: J2EE, Swing, IBM DB2, Innovator, SQL, OR mapping, Avantis, JDBC, Windows NT, AIX, IntelliJ IDEA, JBuilder, Eclipse, WebSphere, Ant, JUnit and CM Synergy.

J2EE Swing IBM DB2 WebSphere
05/2002 – 10/2003

Portal / Intranet Development

Siemens HQ / Elan IT · Team: 10 · PM, OOA/OOD/OOP, J2EE

Development of typical portal presences for Siemens HQ based on J2EE with IBM WebSphere and Oracle 8i/9i. Integration of middle-tier components (voting tool, shop solution, CRM, web analytics). Migration from Tomcat/BEA Weblogic to WebSphere. Coaching of Siemens employees in J2EE web application development.

Project details

Development of typical portal sites for Siemens HQ based on J2EE with IBM WebSphere Application Server and Oracle 8i/9i.

Development and integration of middle-tier components such as a voting tool, shop solution, CRM and web analytics, plus integration of content from the Interwoven TeamSite CMS. Existing applications were migrated from Tomcat and BEA WebLogic to IBM WebSphere Application Server 4.

This also included designing and developing interactive J2EE web applications for WebSphere and administering WebSphere under Linux and Windows 2000 Server.

I coached Siemens employees in J2EE web application development: application servers, IDEs, version control and configuration management, build processes, web-tier and persistence frameworks, and unit, integration and load testing.

Technologies: J2EE, Interwoven TeamSite 5, Oracle 8i/9i, Macromedia Dreamweaver, SQL, OR mapping, JDBC, Windows NT, Solaris, NetBeans, IntelliJ IDEA, JBuilder, Eclipse, WSAD, XDE, Poseidon, Tomcat, WebSphere, Ant, Struts, JUnit, SQL Navigator, CVS, JSTL, OJB, Kana 7.5 and OpenSTA.

J2EE WebSphere Oracle Struts Tomcat

Earlier projects are available in my CV.