Before → Refactoring → Modern

Enterprise Legacy Monolith, SOLID-Zielbild und Spring Boot

Die drei Ebenen stehen nebeneinander, ohne die alte Beispiel-Legacy weiterzuführen.

Before

enterprise-legacy-monolith enthält fachlich dichte EJB-Abläufe, JDBC, JMS, Remote Calls und breite Transaktionen.

Refactoring

solid-refactoring trennt Domain, Ports, Pricing und Application Service. Die ACL verhindert Legacy-Leakage.

Modern

spring-boot-migration liefert REST, JPA, PostgreSQL, Transactional Outbox, Kafka und Betriebsendpunkte.

SOLID-Zuordnung
PrinzipLegacy-VerstoßZiel
SRPEin EJB erledigt Pricing, Payment, DB und Messaging.Application Service plus spezialisierte Ports.
OCPNeue Carrier/Rules benötigen Änderungen in Monster Methods.Ports und austauschbare Adapter.
ISPGroße, technische Legacy-Abhängigkeiten.Kleine fachliche Interfaces.
DIPFachlogik ruft konkrete SOAP/JDBC-Klassen.Domain hängt von Ports ab.
Outbox-Zustandsmaschine

NEW → PROCESSING → SENT oder bei Fehler RETRY → PROCESSING. Nach Erreichen der maximalen Versuche endet das Event in FAILED. nextAttemptAt steuert Backoff, SKIP LOCKED erlaubt parallele Publisher.

⌂ Cockpit