← Zur Uebersicht

Novaris Versicherung AG — Legacy- und Modernisierungs-Lernprojekt

Lernprojekt fuer eine umfangreiche, realistische Java-8/WebSphere-Legacy-Enterprise- Landschaft: EJB (Stateless/Stateful/Message-Driven/Singleton-Timer), SOAP (Client + Service), JMS/IBM MQ, Oracle + DB2, WebSphere-/Liberty-Konfiguration — mit bewusst "lebensechten" Klassen (inklusive der Komplexitaet, die reale Alt-Systeme mit sich bringen) und ausfuehrlicher, erklaerender Dokumentation.

Fachlicher Rahmen: eine fiktive Versicherung (Policen & Schaden) — Details siehe docs/00-ueberblick/systemlandschaft.md.

Fokus dieser Ausbaustufe: EJB tief verstehen (Session-Bean-Typen, CMT/BMT, Message-Driven Beans, Timer Service, Interceptors, Application- vs. System-Exceptions, JNDI/Packaging) — siehe docs/10-ejb-konzepte/.

Migration: die zunaechst zurueckgestellte Migration ist inzwischen abgeschlossen als eigener Reactor novaris-modern-parent (Spring Boot, Java 17, Jakarta EE, Kafka/AMQ Streams, OpenShift-Manifeste) - siehe docs/70-migration/ und novaris-modern-parent/README.md. Der hier beschriebene Legacy-Reactor bleibt dabei bewusst unveraendert als "Vorher"-Referenz bestehen.

Projektstatus und Kanon

Schnellstart

Voraussetzungen: JDK (Kompilierung erfolgt mit --release 8, jede aktuelle JDK-Version funktioniert dafuer), Maven.

cd novaris-legacy-parent
mvn test

Das laeuft komplett ohne Docker/Datenbank/MQ — alle Beans sind containerfrei mit Mockito-Mocks getestet. Echtes Oracle + echtes IBM MQ (per Docker) sowie ein echter Open-Liberty-Serverstart sind in novaris-integration-tests verifiziert, siehe novaris-integration-tests/README.md und docs/50-websphere-config/03-liberty-serverstart-verifiziert.md.

Repository-Pruefungen werden unter PowerShell 7 zentral gestartet:

pwsh -NoProfile -File ci/scripts/verify-repository.ps1 -Mode Fast
pwsh -NoProfile -File ci/scripts/verify-repository.ps1 -Mode Full
pwsh -NoProfile -File ci/scripts/verify-repository.ps1 -Mode Integration

Fast prueft beide Maven-Reaktoren und das Frontend. Full ergaenzt Coverage, Produktionsbuild und Dependency-Audit. Integration startet zusaetzlich die vorbereiteten Laufzeit-Integrationstests und verwendet automatisch Podman, wenn es installiert ist; alternativ Docker. Die gemeinsam genutzte lokale Plattform liegt im separaten Repository shared/enterprise-infrastructure beziehungsweise relativ zu diesem Projekt unter ../../shared/enterprise-infrastructure.

Struktur

Verzeichnis Inhalt
docs/ Systemlandschaft-Ueberblick + tiefe EJB-Konzept-Dokumentation
novaris-legacy-parent/ Maven-Reactor
novaris-legacy-parent/novaris-common-legacy/ Geteilte JNDI-/Messaging-/Exception-/SOAP-Vertrags-Bausteine
novaris-legacy-parent/novaris-policy-core/ Der EJB-Kern der Policenverwaltung + SOAP-Client-Integration + Event-Publishing
novaris-legacy-parent/novaris-billing-soap/ Billing-Partnersystem (JAX-WS-SOAP-Service)
novaris-legacy-parent/novaris-claims-mq/ Schaden-Partnersystem (JMS Request/Reply)
novaris-legacy-parent/novaris-notification-jms/ Benachrichtigung (JMS Topic Publish/Subscribe)
novaris-legacy-parent/novaris-policy-web-legacy-jsf/ Novaris-Kundenportal (JSF, JAAS-Legacy-Auth)
novaris-legacy-parent/novaris-policy-ear/ EAR-Packaging (EJB- + Web-Modul)
novaris-legacy-parent/novaris-integration-tests/ Verifikation gegen echtes Oracle + echtes IBM MQ (siehe README dort)

CI/CD: vier Stages

local (IntelliJ, kein Jenkins-Job) → test (automatisch) → qs (manuelle Freigabe) → prod (manuelle Freigabe, nur von main/release/*). Siehe Jenkinsfile und docs/60-ci-cd/ fuer die vollstaendige Erklaerung.

Migration (Spring Boot / Jakarta EE / OpenShift) — abgeschlossen

Paralleler Reactor novaris-modern-parent/ (eigenes mvn test, eigene Modul-READMEs, eigenes Jenkinsfile). Strangler-Fig-Ansatz: der Legacy-Reactor oben bleibt unveraendert bestehen, der moderne Reactor baut dieselbe Fachlogik neu auf. Die Phasen M0-M7 sind im Repository umgesetzt: Reactor-Skeleton, EJB-zu-Spring-Kern (inkl. echtem SOAP-Client und persistiertem Antragswizard-Ersatz), Kafka-Messaging-Redesign (novaris-claims-modern, novaris-notification-modern), Versionssprung auf Java 17/Spring Boot 3/Jakarta EE + Spring Security + Container-Image, OpenShift-Manifeste (inkl. Strimzi-Kafka), React-SPA + eigenes Jenkinsfile. DB2, echtes OpenShift und automatisches Liberty-EAR-Deployment sind vorbereitet, aber in dieser Umgebung noch nicht live verifiziert. Vollstaendiger Plan, Versionsstrategie, EJB-zu-Spring-Abbildungstabelle, Messaging-Redesign, Refactoring-Taxonomie und OpenShift/Jenkins-Doku in docs/70-migration/.

M6 umfasst Scheduler, Kafka-DLT, DB2-Port, Tracing, OIDC/Keycloak und Blocking-Bugfixes; M7 ergänzt die React-SPA mit Authorization Code + PKCE. Der aktuelle, ehrliche Status steht in docs/70-migration/14-verifikationsstatus.md. Die empfohlenen nächsten Ausbauschritte stehen in docs/70-migration/16-verbesserungsvorschlaege.md.

Ausbaustufen

Siehe docs/00-ueberblick/systemlandschaft.md fuer die vollstaendige Roadmap (SOAP-Anbindung, JMS/MQ-Systemlandschaft, Web-Frontend/EAR/ WebSphere-Konfiguration, Integrationstests gegen echte Container).

Lizenz / Nutzung

Privates Lernprojekt. Kein Produktionscode, keine echten Daten.

⌂ Cockpit