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.
labs/novaris-versicherung-legacynursude/novaris-versicherung-legacymainpython ci/scripts/md-to-html.py . daraus neu erzeugt.project.yamlAGENTS.md sowie die verwalteten Dateien unter
ai/ und .agents/ aus nursude/ai-governanceVoraussetzungen: 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.
| 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) |
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.
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.
Siehe docs/00-ueberblick/systemlandschaft.md
fuer die vollstaendige Roadmap (SOAP-Anbindung, JMS/MQ-Systemlandschaft, Web-Frontend/EAR/
WebSphere-Konfiguration, Integrationstests gegen echte Container).
Privates Lernprojekt. Kein Produktionscode, keine echten Daten.
⌂ Cockpit