# Legacy Java Modernization Lab

Eigenständiges Java-17-Lernlabor für die schrittweise Modernisierung eines
klassischen Java-Enterprise-Systems. Das Repository stellt einen bewusst
problematischen Legacy-Ausgangspunkt einer Ports-and-Adapters-Lösung gegenüber
und zeigt mehrere technische Zielplattformen.

## Inhalt

- `legacy-before`: EJB-, JTA-, JMS-, SOAP-, JSP- und JDBC/JPA-Ausgangspunkt
- `modernized-after-domain` und `modernized-after-application`: fachlicher Kern
  und Use Cases
- `modernized-after-adapter-*`: In-Memory-, JPA-, JMS- und SOAP-Adapter
- `modernized-after-legacy-facade`: kontrollierte Übergangsschicht
- `modernized-after-*-target`: Spring Boot, Jakarta EE und Quarkus
- `modernized-after-integration-tests`: reproduzierbare Integrationsszenarien
- `migration-flyway`: Datenbankmigrationen
- `docker-compose`, `kubernetes`, `openshift` und `helm`: Betriebsbeispiele

## Prüfen

```powershell
mvn -B test
```

Ein fokussierter Durchlauf des frameworkfreien Kerns:

```powershell
mvn -B -pl modernized-after-domain,modernized-after-application,modernized-after-adapter-inmemory -am test
```

Der vollständige Reactor umfasst das Root-Projekt und 13 Module. Am
2026-09-08 liefen alle 7 vorhandenen Tests ohne Fehler oder Skips durch. Externe
Container-, Datenbank-, Kubernetes-, OpenShift- oder Application-Server-Systeme
wurden dabei nicht gestartet.

## Lesen und üben

- [Projektstruktur](docs/PROJEKTSTRUKTUR.md)
- [Architektur](docs/architecture.md)
- [Build-Matrix](docs/BUILD-MATRIX.md)
- [Lokale Validierung](docs/LOCAL-VALIDATION.md)
- [Refactoring-Plan](docs/refactoring-plan.md)
- [Workbook](docs/workbook/01-legacy-code-lesen.md)
- [Übungen](docs/exercises/README.md) und [Lösungen](docs/solutions/README.md)
- [Release- und Cutover-Plan](docs/release/release-plan.md)

Generierte HTML-Spiegel, Prüfberichte, alte Erledigungsnotizen und lokale
Build-Ausgaben gehören bewusst nicht zum Repository. Tests, Testvorbereitung,
Migrationen und betriebliche Vorlagen bleiben versioniert.
