Fachlicher Kern
Distributed Systems
Komplexer Maven-Multi-Module-Workspace mit fachlichen Slices, technischen Adaptern, Outbox, Saga, CQRS, Security, Observability und OpenShift.
27 Maven-ModuleDDDHexagonalOutboxSagaCQRS
README · Projektbeschreibungen · Entwurfsmuster · Architektur · Lehrbuch · Prüfbericht
BOM
Versionen und DependencyManagement, damit alle Module konsistente Abhängigkeiten nutzen.
Ablauf: Wird von allen fachlichen Modulen importiert.
Pattern: Facade, Dependency Management
Shared Kernel
Gemeinsame fachliche Wertobjekte, IDs, Domain Events und Fehlerklassen.
Ablauf: Alle Domains hängen nur kontrolliert davon ab.
Pattern: Value Object, Domain Event
Test Utilities
Testdatenbauer, Contract-Test-Basis, Assert-Helfer.
Ablauf: Wird nur im Test-Scope verwendet.
Pattern: Test Data Builder, Object Mother
Order Domain
Bestellung als Aggregate Root mit OrderLine, Pricing-Regeln und Statusübergängen.
Ablauf: Use Case legt Bestellung an, Domain prüft Invarianten, Event wird erzeugt.
Pattern: Aggregate Root, Specification, Factory
Payment Domain
Zahlungsautorisierung, Capture, Refund und Zahlungsstatus.
Ablauf: Saga startet Autorisierung und kompensiert bei Lieferproblem.
Pattern: State, Strategy, Domain Service
Inventory Domain
Reservierung, Freigabe und Bestandsbuchung.
Ablauf: OrderCreated reserviert Bestand; bei Fehler Compensation.
Pattern: Repository, Aggregate Root
Customer Domain
Kundenprofil, Kreditlimit und Risikoindikator.
Ablauf: Use Case fragt Kreditlimit ab, bevor Bestellung bestätigt wird.
Pattern: Policy, Specification
Catalog Domain
Produktkatalog, Preislisten, Produktverfügbarkeit.
Ablauf: Order Use Case prüft Artikel und Preise.
Pattern: Read Model, Adapter
Order Application
Use Cases für OrderPlacement, Confirmation und Cancellation.
Ablauf: Koordiniert Ports, startet Domainlogik, schreibt Outbox.
Pattern: Use Case, Port, Command Handler
Payment Application
Use Cases für Payment Authorization und Capture.
Ablauf: Wird durch Saga oder REST Adapter aufgerufen.
Pattern: Command Handler, Adapter
Inventory Application
Use Cases für Inventory Reservation und Release.
Ablauf: Verarbeitet Events und ruft Domain-Service auf.
Pattern: Application Service, Transaction Script bewusst begrenzt
Customer Application
Use Cases für Kundenprüfung und Segmentierung.
Ablauf: REST oder Saga fragt CustomerDecision ab.
Pattern: Facade, Policy
REST Adapter
HTTP API, DTO Mapping, Controller, Fehlerantworten.
Ablauf: Nimmt Request an, validiert oberflächlich, ruft Use Case Port auf.
Pattern: Adapter, DTO, Mapper
JPA Persistence Adapter
Repository-Implementierungen, Entity Mapping, Outbox Tabelle.
Ablauf: Speichert Aggregates und Outbox in derselben Transaktion.
Pattern: Repository, Data Mapper, Unit of Work
Kafka Messaging Adapter
Event Publishing und Event Listener für Integrationsereignisse.
Ablauf: Outbox Publisher sendet Events idempotent an Kafka.
Pattern: Publisher, Consumer, Idempotent Receiver
Legacy SOAP Adapter
Anti-Corruption Layer für alte SOAP Partner oder ERP Services.
Ablauf: DTO wird in Legacy Request übersetzt, Fehler werden normalisiert.
Pattern: Anti-Corruption Layer, Adapter
Batch Adapter
Import/Export Jobs, Reconciliation und Recovery-Läufe.
Ablauf: Periodischer Job liest offene Outbox/Saga Fälle.
Pattern: Template Method, Chunk Processor
Saga Orchestration
Langlaufende Order-to-Cash Prozesssteuerung mit Compensation.
Ablauf: OrderPlaced -> Reserve -> Authorize -> Confirm oder kompensieren.
Pattern: Saga, Process Manager, State Machine
Outbox Engine
Transaktionaler Outbox Publisher mit Retry, Locking und Idempotenz.
Ablauf: Liest Pending Events, published, markiert abgeschlossen.
Pattern: Transactional Outbox, Retry, Idempotency
CQRS Read Models
Projektierte Lesemodelle für UI und Reporting.
Ablauf: Events aktualisieren optimierte Tabellen oder Views.
Pattern: CQRS, Projection
Security
Rollen, Berechtigungen, Token Claims, Method Policies.
Ablauf: REST Adapter prüft Claims; Use Case prüft fachliche Rechte.
Pattern: Policy, Guard, Chain of Responsibility
Observability
Tracing, strukturierte Logs, Metriken und Audit Events.
Ablauf: Jeder Use Case erzeugt Correlation-ID und Business Audit.
Pattern: Observer, Decorator
Gateway/BFF
Zusammengesetzte API für Web/Mobile Clients.
Ablauf: Ruft mehrere Use Cases/Read Models zusammen.
Pattern: Facade, API Gateway
Contract Tests
Consumer/Provider Verträge für REST und Events.
Ablauf: Sichert Adapter-Kompatibilität zwischen Modulen.
Pattern: Contract Test, Test Pyramid
Architecture Tests
ArchUnit-Regeln für Layering, Dependency Direction und Naming.
Ablauf: Build bricht bei verbotenen Abhängigkeiten.
Pattern: Architecture Fitness Function
Integration Tests
Testcontainers-orientierte End-to-End-Flows.
Ablauf: Startet Adapter und prüft Order-to-Cash.
Pattern: Test Harness, Fixture
Deployment
Kubernetes/OpenShift Manifeste, Helm/Kustomize Beispiel und Runbook.
Ablauf: Build erzeugt Images, Deployment rollt Services aus.
Pattern: Infrastructure as Code, Blue-Green
Stand 2026-07-07. Root-Index mit relativen Links.
Dieser Master enthaelt jetzt ein direkt ausfuehrbares Maven-Modul runnable-smoke.
Distributed Systems
Wie Modularisierung in verteilte Architektur überführt wird.
Service-Schnitt, verteilte Grenzen, Integration und DDD-Slices.
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-ddd-hex-kafka/deploy-openshiftKubernetes/OpenShift Manifeste, Helm/Kustomize Beispiel und Runbook.
Build erzeugt Images, Deployment rollt Services aus.
• DeployOpenshiftComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DeployOpenshiftRepository: austauschbare Speicherabstraktion.
Infrastructure as Code, Blue-Green
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/adapter-batchImport/Export Jobs, Reconciliation und Recovery-Läufe.
Periodischer Job liest offene Outbox/Saga Fälle.
• AdapterBatchComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• AdapterBatchRepository: austauschbare Speicherabstraktion.
Template Method, Chunk Processor
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/adapter-legacy-soapAnti-Corruption Layer für alte SOAP Partner oder ERP Services.
DTO wird in Legacy Request übersetzt, Fehler werden normalisiert.
• AdapterLegacySoapComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• AdapterLegacySoapRepository: austauschbare Speicherabstraktion.
Anti-Corruption Layer, Adapter
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Event Publishing und Event Listener für Integrationsereignisse.
Outbox Publisher sendet Events idempotent an Kafka.
• AdapterMessagingKafkaComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• AdapterMessagingKafkaRepository: austauschbare Speicherabstraktion.
Publisher, Consumer, Idempotent Receiver
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Repository-Implementierungen, Entity Mapping, Outbox Tabelle.
Speichert Aggregates und Outbox in derselben Transaktion.
• AdapterPersistenceJpaComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• AdapterPersistenceJpaRepository: austauschbare Speicherabstraktion.
Repository, Data Mapper, Unit of Work
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/adapter-restHTTP API, DTO Mapping, Controller, Fehlerantworten.
Nimmt Request an, validiert oberflächlich, ruft Use Case Port auf.
• AdapterRestComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• AdapterRestRepository: austauschbare Speicherabstraktion.
Adapter, DTO, Mapper
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/api-gateway-bffZusammengesetzte API für Web/Mobile Clients.
Ruft mehrere Use Cases/Read Models zusammen.
• ApiGatewayBffComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ApiGatewayBffRepository: austauschbare Speicherabstraktion.
Facade, API Gateway
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Use Cases für Kundenprüfung und Segmentierung.
REST oder Saga fragt CustomerDecision ab.
• ApplicationCustomerComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ApplicationCustomerRepository: austauschbare Speicherabstraktion.
Facade, Policy
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Use Cases für Inventory Reservation und Release.
Verarbeitet Events und ruft Domain-Service auf.
• ApplicationInventoryComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ApplicationInventoryRepository: austauschbare Speicherabstraktion.
Application Service, Transaction Script bewusst begrenzt
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/application-orderUse Cases für OrderPlacement, Confirmation und Cancellation.
Koordiniert Ports, startet Domainlogik, schreibt Outbox.
• ApplicationOrderComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ApplicationOrderRepository: austauschbare Speicherabstraktion.
Use Case, Port, Command Handler
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/application-paymentUse Cases für Payment Authorization und Capture.
Wird durch Saga oder REST Adapter aufgerufen.
• ApplicationPaymentComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ApplicationPaymentRepository: austauschbare Speicherabstraktion.
Command Handler, Adapter
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/architecture-bomVersionen und DependencyManagement, damit alle Module konsistente Abhängigkeiten nutzen.
Wird von allen fachlichen Modulen importiert.
• ArchitectureBomComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ArchitectureBomRepository: austauschbare Speicherabstraktion.
Facade, Dependency Management
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/domain-catalogProduktkatalog, Preislisten, Produktverfügbarkeit.
Order Use Case prüft Artikel und Preise.
• DomainCatalogComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DomainCatalogRepository: austauschbare Speicherabstraktion.
Read Model, Adapter
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/domain-customerKundenprofil, Kreditlimit und Risikoindikator.
Use Case fragt Kreditlimit ab, bevor Bestellung bestätigt wird.
• DomainCustomerComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DomainCustomerRepository: austauschbare Speicherabstraktion.
Policy, Specification
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/domain-inventoryReservierung, Freigabe und Bestandsbuchung.
OrderCreated reserviert Bestand; bei Fehler Compensation.
• DomainInventoryComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DomainInventoryRepository: austauschbare Speicherabstraktion.
Repository, Aggregate Root
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/domain-orderBestellung als Aggregate Root mit OrderLine, Pricing-Regeln und Statusübergängen.
Use Case legt Bestellung an, Domain prüft Invarianten, Event wird erzeugt.
• DomainOrderComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DomainOrderRepository: austauschbare Speicherabstraktion.
Aggregate Root, Specification, Factory
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/domain-paymentZahlungsautorisierung, Capture, Refund und Zahlungsstatus.
Saga startet Autorisierung und kompensiert bei Lieferproblem.
• DomainPaymentComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• DomainPaymentRepository: austauschbare Speicherabstraktion.
State, Strategy, Domain Service
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafkaKomplexer Enterprise-Lernworkspace mit 28 konzeptionellen Modulen. Ziel ist nicht nur lauffähiger Beispielcode, sondern Architekturverständnis: Modulgrenzen, Abhängigkeitsrichtung, Entwurfsmuster, Teststrategie und Betriebsfähigkeit.
mvn -q -DskipTests package
mvn -q test
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.
mvn-ws-ddd-hex-kafka/orchestration-sagaLanglaufende Order-to-Cash Prozesssteuerung mit Compensation.
OrderPlaced -> Reserve -> Authorize -> Confirm oder kompensieren.
• OrchestrationSagaComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• OrchestrationSagaRepository: austauschbare Speicherabstraktion.
Saga, Process Manager, State Machine
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/outbox-engineTransaktionaler Outbox Publisher mit Retry, Locking und Idempotenz.
Liest Pending Events, published, markiert abgeschlossen.
• OutboxEngineComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• OutboxEngineRepository: austauschbare Speicherabstraktion.
Transactional Outbox, Retry, Idempotency
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Projektierte Lesemodelle für UI und Reporting.
Events aktualisieren optimierte Tabellen oder Views.
• QueryCqrsReadmodelComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• QueryCqrsReadmodelRepository: austauschbare Speicherabstraktion.
CQRS, Projection
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/shared-kernelGemeinsame fachliche Wertobjekte, IDs, Domain Events und Fehlerklassen.
Alle Domains hängen nur kontrolliert davon ab.
• SharedKernelComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• SharedKernelRepository: austauschbare Speicherabstraktion.
Value Object, Domain Event
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
Tracing, strukturierte Logs, Metriken und Audit Events.
Jeder Use Case erzeugt Correlation-ID und Business Audit.
• ObservabilityModuleComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ObservabilityModuleRepository: austauschbare Speicherabstraktion.
Observer, Decorator
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/security-moduleRollen, Berechtigungen, Token Claims, Method Policies.
REST Adapter prüft Claims; Use Case prüft fachliche Rechte.
• SecurityModuleComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• SecurityModuleRepository: austauschbare Speicherabstraktion.
Policy, Guard, Chain of Responsibility
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/architecture-testsArchUnit-Regeln für Layering, Dependency Direction und Naming.
Build bricht bei verbotenen Abhängigkeiten.
• ArchitectureTestsComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ArchitectureTestsRepository: austauschbare Speicherabstraktion.
Architecture Fitness Function
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/common-testTestdatenbauer, Contract-Test-Basis, Assert-Helfer.
Wird nur im Test-Scope verwendet.
• CommonTestComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• CommonTestRepository: austauschbare Speicherabstraktion.
Test Data Builder, Object Mother
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/contract-testsConsumer/Provider Verträge für REST und Events.
Sichert Adapter-Kompatibilität zwischen Modulen.
• ContractTestsComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• ContractTestsRepository: austauschbare Speicherabstraktion.
Contract Test, Test Pyramid
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/integration-testsTestcontainers-orientierte End-to-End-Flows.
Startet Adapter und prüft Order-to-Cash.
• IntegrationTestsComponent: kompakter Fach-/Adapterbaustein mit Pattern-Kommentaren.
• IntegrationTestsRepository: austauschbare Speicherabstraktion.
Test Harness, Fixture
Lies zuerst die README, dann die Klassen, dann die Pattern-Kommentare. Ergänze danach einen Test, der eine fachliche Regel oder eine Adaptergrenze absichert.
Stand 2026-07-07
mvn-ws-ddd-hex-kafka/runnable-smokeDieses 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.
Umfangreicher Master-Workspace mit 27 Maven-Modulen, DDD, Hexagonal Architecture, Outbox, Saga, CQRS, Security, Observability, Contract Tests und OpenShift-Hinweisen.
Öffne index.html im Root. Für Code: mvn-ws-ddd-hex-kafka in IntelliJ oder VS Code öffnen.
Dieses Projekt enthält jetzt einen eigenen Bereich, der beschreibt, wie Codex oder Claude Code den Workspace phasenweise aufbauen würde: docs/ai-build-phases.html.
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-ddd-hex-kafka: cd mvn-ws-ddd-hex-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.