Fachlicher Kern
Enterprise Modularisierung
Umfangreicheres Master-Paket mit Maven-Reactor, Java 21, Spring Boot, Quarkus/Jakarta, Outbox/Saga, Security/Observability, Architecture Tests, Design-Pattern-Markierungen und Deep-Dive-Versionen.
Konsolidierte HTML-Ausgabe mit Suche, Inhaltsverzeichnis und Codebloeken.
Statische mobile Variante mit robustem Layout.
Schoen gesetztes PDF mit klickbarem Inhaltsverzeichnis.
Codeprojekt mit Parent POM und Modulen.
Pattern, Zweck, Einsatzort und Begruendung.
Dateizaehlung, Pattern-Marker, Linkcheck, Lizenzscan.
Reactor, Parent POM, BOM
DDD und Hexagonal
JPA und Transaktionen
Outbox und Saga
Security und Observability
Quarkus/Jakarta
Contracts und Tests
Referenzplattform
// PATTERN: Aggregate Root - zentrale Konsistenzgrenze
public final class Order extends AggregateRoot<OrderId> {
public void place() {
if (lines.isEmpty()) throw new IllegalStateException("Order must contain lines");
registerEvent(new OrderPlaced(id, lines.size()));
}
}Stand 2026-07-07. Root-Index mit relativen Links.
Dieser Master enthaelt jetzt ein direkt ausfuehrbares Maven-Modul runnable-smoke.
Enterprise Modularisierung
Wie ein Demo-Projekt in eine größere Unternehmensstruktur wächst.
Erweiterte Modulstruktur mit mehr Verantwortlichkeiten, Beschreibungen und Projektübersicht.
Du erkennst Zweck, Ablauf, Modulgrenzen und Betriebsbezug dieses Masters.
Welche Geschäftsentscheidung wird hier unterstützt und welche Daten müssen nachvollziehbar bleiben?
Welche Module sind wirklich Fachkern und welche sind nur Adapter, Runtime oder Infrastruktur?
Die zwei SVGs trennen bewusst Fachlichkeit und Technik. Dadurch sieht man, ob ein Thema wirklich fachlich ist oder nur eine technische Umsetzungsschicht darstellt.
Öffne RUNNABLE.html oder nutze den Smoke-Start im jeweiligen Workspace.
Wo vorhanden, ergänzen Spring Boot oder Jakarta eine echte Runtime. Smoke bleibt der robuste Minimalstart.
Bei Container-Mastern helfen Compose, Kubernetes und OpenShift-Profile beim Betriebsverständnis.
mvn -q -pl runnable-smoke -am package exec:java
Diese Links führen aus dem Lehrbuch in die eigentliche Projektstruktur.
mvn-ws-sb3-quarkus-jpa-kafkaDieses Workspace-Paket ist der umfangreichere zweite Master: ein Maven-Reactor mit Domänenmodulen, Applikationsschicht, Adaptern, Spring-Boot-App, Quarkus-App, Architecture Tests, Outbox/Saga-Beispiel und Pattern-Markierungen im Code.
cd mvn-ws-sb3-quarkus-jpa-kafka
mvn -DskipTests verify
mvn -pl app-spring-boot spring-boot:run
mvn -pl app-quarkus quarkus:dev
// PATTERN:-Kommentare.docs/design-patterns.md erklaert Pattern, Zweck, Einsatzort und Grund.Die Modulbeschreibungen sind direkt im Workspace integriert:
PROJECTS.md / PROJECTS.html: Gesamtuebersicht aller Maven-Module und End-to-End-Ablauf.README.md und README.html mit Zweck, Ablauf, wichtigen Klassen und verwendeten Entwurfsmustern.order-application erzeugt und orchestriert den Use Case.Dieses Projekt enthält jetzt einen eigenen Bereich, der beschreibt, wie Codex oder Claude Code den Workspace phasenweise aufbauen würde: AI_BUILD_PHASES.html.
Fokus: Domain Events, Outbox, Relay, Saga.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Legacy Integration
Schuetzt moderne Domain vor altem SOAP-/Legacy-Modell durch eine Anti-Corruption-Layer.
LegacyOrderGatewayLegacySoapClientLegacyOrderMapperLegacyOrderSnapshotAnti-Corruption LayerGatewayMapperpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Outbound Messaging Adapter
Publiziert Integrationsereignisse nach Kafka und schuetzt Konsumenten gegen doppelte Verarbeitung.
KafkaEventPublisherIdempotentConsumerGuardPublisher AdapterIdempotent ConsumerOutbox Relaypom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Outbound Adapter
Implementiert Persistenz fuer Orders und Outbox, ohne JPA in die Domain eindringen zu lassen.
JpaOrderRepositoryAdapterOrderEntitySpringDataOrderJpaRepositorySpringTransactionBoundaryRepository AdapterData MapperUnit of WorkAdapter Patternpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Inbound Adapter
Stellt HTTP-Endpunkte bereit und uebersetzt Web-Requests in Use-Case-Commands.
OrderRestControllerRestExceptionMapperAdapter PatternControllerDTO Mappingpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
mvn-ws-sb3-quarkus-jpa-kafka/app-quarkusModultyp: Alternative Runtime
Zeigt dieselben Use Cases in einer Quarkus/Jakarta-Runtime, um Framework-Austauschbarkeit der Architektur zu demonstrieren.
QuarkusOrderResourceInMemoryQuarkusWiringComposition RootAdapter PatternRuntime Portabilitypom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Runtime Composition
Startet die Spring-Boot-Variante und verdrahtet REST, Persistenz, Messaging, Security und Observability.
EnterpriseSpringApplicationUseCaseConfigurationComposition RootDependency InjectionModular Monolith Runtimepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context
Kapselt Kundenregeln, besonders Kredit- und Freigabeentscheidungen fuer Bestellungen.
CustomerCreditPolicyPolicy PatternDomain Servicepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context
Plant Versand- oder Erfuellungsaktivitaeten nach erfolgreicher Bestellung und Zahlung.
FulfillmentPlannerDomain ServiceProcess Steppom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Integration / Reliability
Macht Event-Publishing robust, indem fachliche Aenderung und Event-Auslieferungsabsicht getrennt aber nachvollziehbar behandelt werden.
OutboxRecordOutboxWriterOutboxRelayPaymentSagaTransactional OutboxSagaRelay PatternIdempotencypom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context
Beschreibt Reservierungsregeln fuer Lagerbestand, ohne direkt von Datenbank oder Messaging abzuhaengen.
InventoryReservationPolicyPolicy PatternDomain Servicepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context
Kapselt Benachrichtigungsvorlagen und die fachliche Entscheidung, welche Nachricht wann versendet werden soll.
NotificationTemplateTemplate Method / Template ObjectDomain Servicepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Use-Case-Schicht
Orchestriert den fachlichen Bestellablauf zwischen Domain-Modulen, Ports, Transaktionen und Ergebnisobjekten.
PlaceOrderCommandPlaceOrderUseCasePlaceOrderServiceTransactionBoundaryOrderQueryServiceApplication ServiceCommand PatternUnit of Work / Transaction BoundaryUse Case Interfacepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Kern-Domain
Modelliert Bestellung, Bestellpositionen, Status, Repository-Port und fachliche Spezifikationen.
OrderOrderLineOrderStatusOrderPlacedOrderRepositoryOrderSpecificationAggregate RootRepository PortSpecificationDomain Eventpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context / Port
Definiert die Zahlungsintegration als Port, damit echte Provider, Mocks oder Legacy-Zahlungssysteme austauschbar bleiben.
PaymentGatewayPortPort and AdapterGateway Patternpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Maven-BOM / Build Governance
Zentralisiert Versionsverwaltung und gemeinsame Test-/Architektur-Bibliotheken, damit alle Module reproduzierbar dieselben Dependency-Versionen verwenden.
pom.xml als zentrale BOM-DefinitionDependency Management PatternPlatform Governancepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Bounded Context
Berechnet Preise ueber austauschbare Strategien, damit Rabatt-, Staffel- oder Kampagnenlogik nicht im Order Aggregate landet.
PricingStrategyStrategy PatternDomain Servicepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Domain Foundation
Enthaelt kleine, stabile Bausteine, die mehrere fachliche Bounded Contexts gemeinsam benutzen duerfen.
AggregateRootDomainEventMoneyResultIdempotencyKeyValue ObjectDomain EventAggregate RootResult Patternpom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Fokus: Security, Health, Metrics, Audit.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
deep-dive-versions/v07-contract-testingFokus: OpenAPI, Consumer Contracts, Architecture Tests.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Modultyp: Qualitaets-Gate
Prueft Architekturregeln automatisiert, damit Modulgrenzen und Pattern-Markierungen nicht nur Dokumentation bleiben.
LayerRulesTestPatternMarkerTestFitness FunctionArchitecture TestBuild Gatepom.xml ansehen: Welche Module werden benoetigt?../../docs/design-patterns.md lesen und die // PATTERN:-Marker im Code vergleichen.Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Dieses Modul macht den Workspace sofort ausfuehrbar.
mvn -q -pl runnable-smoke -am package exec:javaDer Smoke-Run fuehrt einen kompakten Enterprise-Ablauf aus: Order validieren, Inventory reservieren, Payment autorisieren, Outbox-Event erzeugen und Deployment-Bereitschaft pruefen.
deep-dive-versions/v01-reactor-baselineFokus: Reactor, Parent POM, BOM, Modulgrenzen.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
deep-dive-versions/v02-ddd-hexagonalFokus: Aggregate, Ports, Application Service, Adapter.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Fokus: JPA Adapter, Unit of Work, Repository, Mapper.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
deep-dive-versions/v06-quarkus-jakartaFokus: Quarkus, Jakarta REST, CDI.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Fokus: Endzustand als Referenzplattform.
Diese Version ist kein Archiv, sondern eine bewusst lesbare Lernstufe. Sie zeigt, welcher Architekturbaustein im Master-Workspace hinzukommt und welche Design Patterns dadurch sichtbar werden.
cd ../../mvn-ws-sb3-quarkus-jpa-kafka
mvn -pl order-domain,order-application test
Pruefe in dieser Version, ob die Abhaengigkeiten nach innen zeigen und ob technische Frameworks aus der Domain fernbleiben.
Fuer den praktischen Ablauf im grossen Maven-Workspace siehe ../../mvn-ws-sb3-quarkus-jpa-kafka/PROJECTS.md. Die einzelnen Maven-Module enthalten eigene README-Dateien mit Zweck, Ablauf, wichtigen Klassen und Entwurfsmustern.
Stand 2026-07-07. Markdown und HTML synchron erzeugt.
Umfangreicheres Master-Paket fuer moderne Enterprise-Maven-Multi-Module-Projekte.
1. ZIP entpacken.
2. index.html im Root oeffnen.
3. Fuer Code: Ordner mvn-ws-sb3-quarkus-jpa-kafka in IntelliJ oder VS Code oeffnen.
4. Maven-Build lokal mit Internet ausfuehren.
Siehe RUNNABLE.md und RUNNABLE.html. Jeder Workspace enthaelt ein Modul runnable-smoke mit Startskripten.
<span class="ok">Runnable-Ergaenzung</span>
Dieser Master enthaelt jetzt ein eigenes Maven-Modul runnable-smoke. Damit ist nicht nur Dokumentation vorhanden, sondern ein direkt ausfuehrbarer fachlicher Ablauf.
mvn-ws-sb3-quarkus-jpa-kafka: cd mvn-ws-sb3-quarkus-jpa-kafka && mvn -q -pl runnable-smoke -am package exec:javarun-smoke.bat im Workspace starten../run-smoke.sh im Workspace starten.Der Ablauf simuliert eine echte Enterprise-Kette:
AWS, OpenShift, IBM MQ, Oracle, SFTP, Spring/Jakarta Runtime und Bare-Metal-Adapter brauchen reale Infrastruktur oder Container. Der Smoke-Runner ist bewusst lokal und ohne externe Infrastruktur startbar. Die produktnahen Module bleiben Maven-Module mit POMs, Beschreibungen und Pattern-Kommentaren; der Smoke-Runner ist der schnelle Nachweis, dass der Workspace ausfuehrbar ist.
1. mvn -q -pl runnable-smoke -am package exec:java
2. Danach gesamtes Projekt bauen: mvn clean package
3. Dann einzelne Runtime-Module starten, z. B. Spring Boot oder OpenShift-Deployment.