Master 5OpenShiftDistributed SystemsMaven Multi-Module

OpenShift Distributed Enterprise Maven Platform

Steigerung mit mehr Beschreibung, mehr OpenShift-Bezug und kompakten SVG-Erklärbildern. Fachlogik, Infrastruktur, Betrieb und Deployment sind getrennt, aber gemeinsam lesbar.

OpenShift-Schwerpunkt

Deployment

Namespace, Deployment, Service, Route, NetworkPolicy, Ressourcenlimits und Health-Probes.

GitOps/Pipelines

Tekton und Argo CD als kontrollierter Weg von Commit bis Rollout.

Security

RBAC, SCC, NetworkPolicy, Secrets, mTLS und Policy-Gates.

Betrieb

Logs, Metriken, Traces, Alerts, Runbooks, Chaos-Experimente und Rollbacks.

SVG-Erklärbilder

openshift-topology.svg
deployment-flow.svg
hybrid-boundaries.svg

Module

platform-bom

Zentrale Versionen, Dependency-Management und Plugin-Regeln für reproduzierbare Enterprise-Builds.

Ablauf: Build-Reihenfolge einfrieren, Versionen zentralisieren, Enforcer-Regeln aktivieren.

BOMDependency Management

Modulbeschreibung öffnen

shared-kernel

Gemeinsame Value Objects, Fehlerkontrakte, IDs, Zeitmodell und technische Basisklassen.

Ablauf: Domain-Bausteine zuerst stabilisieren, dann von Fachmodulen nutzen.

Value ObjectFactory Method

Modulbeschreibung öffnen

enterprise-contracts

OpenAPI, AsyncAPI, Event-Schemas und Consumer-Provider-Verträge.

Ablauf: Verträge versionieren, Tests ableiten, Breaking Changes sichtbar machen.

ContractAdapter

Modulbeschreibung öffnen

order-domain

Order Aggregate, OrderLine, Pricing Decision und Zustandswechsel.

Ablauf: Order erfassen, validieren, Domain Events erzeugen.

Aggregate RootDomain Event

Modulbeschreibung öffnen

billing-domain

Rechnung, Zahlung, Mahnung und Buchungsstatus.

Ablauf: Invoice aus Order-Event ableiten, Payment buchen, Fehler kompensieren.

StateStrategy

Modulbeschreibung öffnen

inventory-domain

Bestand, Reservierung, Lagerprüfung und Nachlieferung.

Ablauf: Reserve -> Confirm -> Release über Saga-Schritte.

RepositoryCommand

Modulbeschreibung öffnen

customer-domain

Kundenprofil, Segment, Bonität, Consent und Kommunikationsregeln.

Ablauf: Kundenstatus prüfen, Risiko und Consent an Use Cases liefern.

SpecificationPolicy

Modulbeschreibung öffnen

pricing-domain

Rabattregeln, Staffelpreise, Kundensegmente und Kampagnen.

Ablauf: Preisentscheidung als erklärbares Ergebnis liefern.

StrategyChain of Responsibility

Modulbeschreibung öffnen

shipping-domain

Lieferadresse, Carrier-Auswahl, Tracking und Versandstatus.

Ablauf: Carrier wählen, Label erzeugen, Status rückmelden.

AdapterTemplate Method

Modulbeschreibung öffnen

integration-events

Stabile Integration Events zwischen Domains, OpenShift und externen Systemen.

Ablauf: Event-Versionen pflegen, Producer/Consumer getrennt halten.

Event EnvelopeVersioned Contract

Modulbeschreibung öffnen

outbox-core

Transactional Outbox für zuverlässige Event-Publikation aus Datenbanktransaktionen.

Ablauf: Domain speichern, Outbox schreiben, Publisher liefert später aus.

OutboxUnit of Work

Modulbeschreibung öffnen

saga-core

Langlaufende Geschäftsprozesse mit Kompensation über Order/Billing/Inventory/Shipping.

Ablauf: Start, Step, Retry, Timeout, Compensation.

SagaCommandCompensating Transaction

Modulbeschreibung öffnen

cqrs-readmodel

Lesemodelle für Suche, Dashboard, Audit und Reporting.

Ablauf: Events konsumieren, Projektionen idempotent aktualisieren.

CQRSProjection

Modulbeschreibung öffnen

api-gateway

Eingang für externe Clients, Routing, AuthN/AuthZ, Rate Limits und Correlation IDs.

Ablauf: Request prüfen, Token validieren, Use Case aufrufen.

FacadeGateway

Modulbeschreibung öffnen

api-rest

REST API für Order, Billing, Inventory und Tracking.

Ablauf: Controller nimmt DTO an, Application Service orchestriert, Response erzeugen.

ControllerDTOMapper

Modulbeschreibung öffnen

api-admin

Admin-API für Betriebsfälle, Replays, Sperren und Diagnose.

Ablauf: Nur privilegierte Rollen, sichere Audit-Spur, begrenzte Aktionen.

CommandAudit Trail

Modulbeschreibung öffnen

worker-scheduler

Zeitgesteuerte Jobs für Replays, Retention, Outbox-Publishing und Cleanup.

Ablauf: CronJob/Timer triggert kleine idempotente Batches.

SchedulerIdempotent Consumer

Modulbeschreibung öffnen

worker-event-consumer

Konsumenten für Kafka/AMQ Streams Events.

Ablauf: Partition lesen, deduplizieren, Readmodel aktualisieren.

Idempotent ConsumerObserver

Modulbeschreibung öffnen

adapter-aws-sqs

Adapter zu AWS SQS für Cloud-Kopplung und hybride Queue-Kommunikation.

Ablauf: Port implementieren, Message Attribute setzen, Retry-Konzept beachten.

AdapterPort

Modulbeschreibung öffnen

adapter-aws-sns

Adapter zu AWS SNS für Fan-out Ereignisse in AWS.

Ablauf: Event normalisieren, Topic auswählen, Publish bestätigen.

PublisherAdapter

Modulbeschreibung öffnen

adapter-aws-s3

Objektspeicher für Dokumente, Belege, Exportdateien und Archivierung.

Ablauf: Key bilden, Metadaten setzen, Retention beachten.

RepositoryAdapter

Modulbeschreibung öffnen

adapter-aws-rds

RDS-Anbindung für Cloud-Datenhaltung mit Migrationen.

Ablauf: Datasource konfigurieren, Flyway/Liquibase steuern, Health prüfen.

RepositoryData Mapper

Modulbeschreibung öffnen

adapter-openshift-routes

OpenShift Routes und Ingress-Verhalten als Deployment-Baustein.

Ablauf: Service exponieren, TLS terminieren, Pfade trennen.

GatewayReverse Proxy

Modulbeschreibung öffnen

adapter-openshift-config

ConfigMaps, Secrets, ServiceAccounts und Projekt-Konfiguration.

Ablauf: Konfiguration extern halten, Secrets nicht ins Repo schreiben.

Externalized ConfigurationSecret Provider

Modulbeschreibung öffnen

adapter-openshift-storage

PVC, StorageClass und Stateful Workloads für On-Prem/Cloud.

Ablauf: Storage-Anforderung beschreiben, Backup/Restore beachten.

RepositoryInfrastructure Adapter

Modulbeschreibung öffnen

adapter-openshift-amq-streams

Kafka/AMQ Streams auf OpenShift als Event Backbone.

Ablauf: Topic-Contract pflegen, Consumer Group planen, Dead Letter prüfen.

Event BusIdempotent Consumer

Modulbeschreibung öffnen

adapter-openshift-service-mesh

Service Mesh, mTLS, Traffic-Splitting, Retry und Circuit Breaking.

Ablauf: Sidecar aktivieren, Policies setzen, Canary kontrollieren.

ProxyCircuit Breaker

Modulbeschreibung öffnen

adapter-openshift-gitops

Argo CD/OpenShift GitOps für deklarative Releases.

Ablauf: Git Commit -> Sync -> Health -> Rollback.

GitOpsDesired State

Modulbeschreibung öffnen

adapter-openshift-pipelines

Tekton/OpenShift Pipelines für Build, Test, Scan und Deployment.

Ablauf: TaskRun baut Image, Pipeline validiert und deployed.

PipelineChain of Responsibility

Modulbeschreibung öffnen

adapter-openshift-monitoring

Prometheus, Alertmanager, Grafana/Konsole, SLIs/SLOs.

Ablauf: Metriken exportieren, Rules testen, Alerts routen.

ObserverHealth Check

Modulbeschreibung öffnen

adapter-openshift-logging

Loki/EFK-orientierte Logs mit Correlation ID.

Ablauf: JSON Logs schreiben, Labels setzen, Suche ermöglichen.

ObserverCorrelation ID

Modulbeschreibung öffnen

adapter-openshift-security

SCC, RBAC, NetworkPolicy, Image Signatures und Secret Handling.

Ablauf: Least Privilege erzwingen, Policies automatisiert prüfen.

PolicyGuard

Modulbeschreibung öffnen

adapter-openshift-autoscaling

HPA, KEDA, Cluster Autoscaling und Lastprofile.

Ablauf: Metrik wählen, Grenzwerte setzen, Backpressure testen.

Feedback LoopBulkhead

Modulbeschreibung öffnen

adapter-onprem-oracle

On-Prem Oracle Integration mit Stored Procedures und Legacy-Schema.

Ablauf: Anti-Corruption Layer isoliert Legacy-Datenmodell.

Anti-Corruption LayerRepository

Modulbeschreibung öffnen

adapter-onprem-mq

IBM MQ/JMS Integration für bestehende Rechenzentrumslandschaft.

Ablauf: Queue lesen/schreiben, Transaktionsgrenzen markieren.

AdapterMessage Channel

Modulbeschreibung öffnen

adapter-vm-postgres

PostgreSQL auf VM oder Dedicated Hosting als kontrollierter Datenservice.

Ablauf: Connection Pool konfigurieren, Backups dokumentieren.

RepositoryUnit of Work

Modulbeschreibung öffnen

adapter-baremetal-files

Bare-Metal Dateischnittstellen für Batch, Export und Import.

Ablauf: Datei atomar schreiben, Prüfsumme erzeugen, Übergabe quittieren.

AdapterTemplate Method

Modulbeschreibung öffnen

adapter-dedicated-soap

SOAP Partnerintegration auf dediziertem Hosting oder Legacy-VM.

Ablauf: WSDL kapseln, Timeout/Retry begrenzen, Fehler übersetzen.

AdapterAnti-Corruption Layer

Modulbeschreibung öffnen

adapter-dedicated-sftp

SFTP Dateiübergabe zu Partnern und Bank-/Logistiksystemen.

Ablauf: Upload in Staging, Rename commit, Audit Event schreiben.

AdapterCommand

Modulbeschreibung öffnen

deployment-openshift-base

Kubernetes/OpenShift Manifeste: Namespace, Deployment, Service, Route.

Ablauf: Basis deployen und Health/Readiness sichtbar machen.

DeploymentDesired State

Modulbeschreibung öffnen

deployment-openshift-kustomize

Kustomize Overlays für dev/test/prod und Infrastrukturvarianten.

Ablauf: Base definieren, Overlays für Cluster/Umgebung ergänzen.

OverlayConfiguration Composition

Modulbeschreibung öffnen

deployment-openshift-helm

Helm Chart für parametrisierte Releases und Installation.

Ablauf: Values trennen, Chart linten, Upgrade testen.

Template MethodRelease Package

Modulbeschreibung öffnen

deployment-openshift-gitops

Argo CD Applications und App-of-Apps Struktur.

Ablauf: Repo-Struktur mit Umgebungen synchronisieren.

GitOpsComposite

Modulbeschreibung öffnen

deployment-openshift-pipelines

Tekton Pipeline Beispiele für Build, Test, Image Scan und Promote.

Ablauf: Pull Request validieren, Main deployt in Test, Tag nach Prod.

PipelineQuality Gate

Modulbeschreibung öffnen

deployment-aws-rosa

ROSA/Managed OpenShift Variante auf AWS.

Ablauf: Cloud-Identität, LoadBalancer, Storage und SQS/S3 integrieren.

Managed Platform AdapterGateway

Modulbeschreibung öffnen

deployment-vm-okd

OKD oder OpenShift auf VM-Landschaft für Lab/Private Cloud.

Ablauf: Installer/UPI planen, DNS/Ingress/Storage vorbereiten.

Platform AdapterDesired State

Modulbeschreibung öffnen

deployment-baremetal-openshift

Bare-Metal OpenShift mit MachineConfig, Nodes, Storage und Netz.

Ablauf: Hardware-Profile dokumentieren, Netzwerk/Storage testen.

Infrastructure AdapterNode Pool

Modulbeschreibung öffnen

deployment-onprem-integrations

On-Prem Integrationszone mit Firewall, MQ, Oracle, SFTP und Monitoring.

Ablauf: Netzpfade prüfen, Secrets verteilen, Latenzen messen.

Integration ZoneAnti-Corruption Layer

Modulbeschreibung öffnen

deployment-dedicated-hosting

Dedicated/VM Hosting als externer Partner- oder Übergangsbereich.

Ablauf: Reverse Tunnel/Firewall, SFTP/SOAP, Betriebsgrenzen dokumentieren.

Boundary ContextGateway

Modulbeschreibung öffnen

infra-config

Konfigurationsmodell für Profile, Environments, Secrets und Feature Flags.

Ablauf: Keine Umgebung hart codieren, Änderung nachvollziehbar machen.

Externalized ConfigurationFeature Toggle

Modulbeschreibung öffnen

infra-security

Security Baseline für OAuth2/OIDC, RBAC, mTLS, Secrets, Policies.

Ablauf: Threat Model ableiten, Policies prüfen, Audit aktivieren.

PolicyZero Trust Boundary

Modulbeschreibung öffnen

infra-observability

Logs, Metriken, Traces, Alerts, Dashboards und Runbooks.

Ablauf: Golden Signals und fachliche SLIs in Betrieb bringen.

ObserverCorrelation ID

Modulbeschreibung öffnen

infra-resilience

Timeouts, Retries, Circuit Breaker, Bulkheads, Rate Limits.

Ablauf: Fehler isolieren, Backpressure verwenden, Chaos testen.

Circuit BreakerBulkhead

Modulbeschreibung öffnen

testing-architecture

ArchUnit und modulare Architekturregeln.

Ablauf: Abhängigkeiten prüfen, Verletzungen früh blockieren.

Architecture Fitness FunctionGuard

Modulbeschreibung öffnen

testing-contract

Consumer-/Provider-Contract-Tests für REST/Event/SOAP.

Ablauf: Vertrag brechen verhindern, Versionierung testen.

Contract TestMock Adapter

Modulbeschreibung öffnen

testing-openshift

OpenShift-nahe Tests mit Testcontainers, Smoke Tests und Manifests.

Ablauf: Image starten, Health prüfen, YAML validieren.

Test PyramidSmoke Test

Modulbeschreibung öffnen

chaos-lab

Fehlerlabor für Netz, Pod Kill, Queue Lag, Datenbankausfall.

Ablauf: Hypothese, Experiment, Beobachtung, Runbook-Update.

Chaos EngineeringCircuit Breaker

Modulbeschreibung öffnen

runbook-operations

Betriebshandbuch für Deployments, Incident, Rollback und Recovery.

Ablauf: Diagnosepfad, Entscheidung, Aktion, Nachweis.

RunbookDecision Tree

Modulbeschreibung öffnen

documentation-site

Zentrale Doku mit Architektur, Ablauf, SVGs und Lernpfad.

Ablauf: Projekt für Lernen und Übergabe lesbar machen.

Documentation as CodeKnowledge Base

Modulbeschreibung öffnen

Empfohlener Lernablauf

1. Architektur und Projektbeschreibungen lesen.
2. Domain-Module vor Infrastruktur lesen.
3. Ports/Adapter und OpenShift-Manifeste vergleichen.
4. GitOps/Pipeline/Security/Observability als Betriebskette verstehen.
5. Chaos-Lab und Runbook als Abschlussübung nutzen.

Entwurfsmuster

Alle relevanten Klassen enthalten // PATTERN:-Marker. Die ausführliche Sammlung liegt in docs/design-patterns.html.

Runnable Smoke-Test

Dieser Master enthaelt jetzt ein direkt ausfuehrbares Maven-Modul runnable-smoke.

Runnable-Anleitung oeffnen

Lehrbuch und Praxis

Was lerne ich hier?

Fachlicher Kern

OpenShift

Technischer Fokus

Wie Java-Enterprise-Anwendungen auf OpenShift gebracht werden.

Warum wichtig?

OpenShift-Manifeste, Routes, Services, Deployments und Plattformdenken.

Lernziel

Du erkennst Zweck, Ablauf, Modulgrenzen und Betriebsbezug dieses Masters.

Fachliches Mini-Szenario

Szenario: Dieser Master zeigt einen fokussierten Lernabschnitt: OpenShift-Manifeste, Routes, Services, Deployments und Plattformdenken. Der Ablauf ist so aufgebaut, dass man zuerst Zweck und Kontext versteht, danach Module und Runtime liest und erst anschließend tiefer in Code, Muster und Infrastruktur einsteigt.
?

Fachliche Frage

Welche Geschäftsentscheidung wird hier unterstützt und welche Daten müssen nachvollziehbar bleiben?

?

Technische Frage

Welche Module sind wirklich Fachkern und welche sind nur Adapter, Runtime oder Infrastruktur?

Fachliches und technisches SVG

Fachlicher AblaufZielbildModuleAblaufRuntimeQualität
Technischer AblaufREST/APIUse CaseDomainRepositoryOutbox/EventAdapter

Die zwei SVGs trennen bewusst Fachlichkeit und Technik. Dadurch sieht man, ob ein Thema wirklich fachlich ist oder nur eine technische Umsetzungsschicht darstellt.

Modulkarte

Domain / Fachmodell
Application / Use Cases
Adapter / Infrastruktur
Runtime / Start
Qualität / Betrieb
Dokumentation / Lernen
Leseregel: Starte immer beim Fachmodell und gehe erst danach in Adapter, Runtime und Plattform. So bleibt die Architektur verständlich.

Start, Runtime und praktische Nutzung

Schnellstart

Öffne RUNNABLE.html oder nutze den Smoke-Start im jeweiligen Workspace.

Spring/Jakarta

Wo vorhanden, ergänzen Spring Boot oder Jakarta eine echte Runtime. Smoke bleibt der robuste Minimalstart.

Container

Bei Container-Mastern helfen Compose, Kubernetes und OpenShift-Profile beim Betriebsverständnis.

mvn -q -pl runnable-smoke -am package exec:java

Was ist Demo, was wäre Produktion?

  • Demo: lokale Startbarkeit, vereinfachte Adapter, nachvollziehbare Abläufe.
  • Produktionsnah: klare Modulgrenzen, dokumentierte Patterns, Container-/Runtime-Profile und Betriebsdenken.
  • Noch zu ergänzen für echte Produktion: echte Secrets, echte Infrastruktur, Security-Härtung, Lasttests und verbindliche Compliance-Vorgaben.

Weiter im Projekt

Diese Links führen aus dem Lehrbuch in die eigentliche Projektstruktur.

Final UI & Lehrbuch Upgrade · Kacheln, zwei SVG-Perspektiven, Mini-Szenario und bessere Leseführung.

Module und Quellcode

60 Module4 KategorienInhalte vollständig übernommen

Deployment 50

adapter-aws-rdsDeployment
Verantwortung

RDS-Anbindung für Cloud-Datenhaltung mit Migrationen.

Fachlicher Ablauf

Datasource konfigurieren, Flyway/Liquibase steuern, Health prüfen.

Wichtige Klassen

  • AdapterAwsRdsPort: fachlicher Port oder Betriebsport.
  • AdapterAwsRdsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterAwsRdsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Repository
  • Data Mapper

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-aws-s3Deployment
Verantwortung

Objektspeicher für Dokumente, Belege, Exportdateien und Archivierung.

Fachlicher Ablauf

Key bilden, Metadaten setzen, Retention beachten.

Wichtige Klassen

  • AdapterAwsS3Port: fachlicher Port oder Betriebsport.
  • AdapterAwsS3Adapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterAwsS3UseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Repository
  • Adapter

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-aws-snsDeployment
Verantwortung

Adapter zu AWS SNS für Fan-out Ereignisse in AWS.

Fachlicher Ablauf

Event normalisieren, Topic auswählen, Publish bestätigen.

Wichtige Klassen

  • AdapterAwsSnsPort: fachlicher Port oder Betriebsport.
  • AdapterAwsSnsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterAwsSnsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Publisher
  • Adapter

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-aws-sqsDeployment
Verantwortung

Adapter zu AWS SQS für Cloud-Kopplung und hybride Queue-Kommunikation.

Fachlicher Ablauf

Port implementieren, Message Attribute setzen, Retry-Konzept beachten.

Wichtige Klassen

  • AdapterAwsSqsPort: fachlicher Port oder Betriebsport.
  • AdapterAwsSqsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterAwsSqsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Port

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-baremetal-filesDeployment
Verantwortung

Bare-Metal Dateischnittstellen für Batch, Export und Import.

Fachlicher Ablauf

Datei atomar schreiben, Prüfsumme erzeugen, Übergabe quittieren.

Wichtige Klassen

  • AdapterBaremetalFilesPort: fachlicher Port oder Betriebsport.
  • AdapterBaremetalFilesAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterBaremetalFilesUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Template Method

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-dedicated-sftpDeployment
Verantwortung

SFTP Dateiübergabe zu Partnern und Bank-/Logistiksystemen.

Fachlicher Ablauf

Upload in Staging, Rename commit, Audit Event schreiben.

Wichtige Klassen

  • AdapterDedicatedSftpPort: fachlicher Port oder Betriebsport.
  • AdapterDedicatedSftpAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterDedicatedSftpUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Command

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-dedicated-soapDeployment
Verantwortung

SOAP Partnerintegration auf dediziertem Hosting oder Legacy-VM.

Fachlicher Ablauf

WSDL kapseln, Timeout/Retry begrenzen, Fehler übersetzen.

Wichtige Klassen

  • AdapterDedicatedSoapPort: fachlicher Port oder Betriebsport.
  • AdapterDedicatedSoapAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterDedicatedSoapUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Anti-Corruption Layer

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-onprem-mqDeployment
Verantwortung

IBM MQ/JMS Integration für bestehende Rechenzentrumslandschaft.

Fachlicher Ablauf

Queue lesen/schreiben, Transaktionsgrenzen markieren.

Wichtige Klassen

  • AdapterOnpremMqPort: fachlicher Port oder Betriebsport.
  • AdapterOnpremMqAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOnpremMqUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Message Channel

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-onprem-oracleDeployment
Verantwortung

On-Prem Oracle Integration mit Stored Procedures und Legacy-Schema.

Fachlicher Ablauf

Anti-Corruption Layer isoliert Legacy-Datenmodell.

Wichtige Klassen

  • AdapterOnpremOraclePort: fachlicher Port oder Betriebsport.
  • AdapterOnpremOracleAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOnpremOracleUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Anti-Corruption Layer
  • Repository

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-amq-streamsDeployment
Verantwortung

Kafka/AMQ Streams auf OpenShift als Event Backbone.

Fachlicher Ablauf

Topic-Contract pflegen, Consumer Group planen, Dead Letter prüfen.

Wichtige Klassen

  • AdapterOpenshiftAmqStreamsPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftAmqStreamsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftAmqStreamsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Event Bus
  • Idempotent Consumer

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-autoscalingDeployment
Verantwortung

HPA, KEDA, Cluster Autoscaling und Lastprofile.

Fachlicher Ablauf

Metrik wählen, Grenzwerte setzen, Backpressure testen.

Wichtige Klassen

  • AdapterOpenshiftAutoscalingPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftAutoscalingAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftAutoscalingUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Feedback Loop
  • Bulkhead

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-configDeployment
Verantwortung

ConfigMaps, Secrets, ServiceAccounts und Projekt-Konfiguration.

Fachlicher Ablauf

Konfiguration extern halten, Secrets nicht ins Repo schreiben.

Wichtige Klassen

  • AdapterOpenshiftConfigPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftConfigAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftConfigUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Externalized Configuration
  • Secret Provider

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-gitopsDeployment
Verantwortung

Argo CD/OpenShift GitOps für deklarative Releases.

Fachlicher Ablauf

Git Commit -> Sync -> Health -> Rollback.

Wichtige Klassen

  • AdapterOpenshiftGitopsPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftGitopsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftGitopsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • GitOps
  • Desired State

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-pipelinesDeployment
Verantwortung

Tekton/OpenShift Pipelines für Build, Test, Scan und Deployment.

Fachlicher Ablauf

TaskRun baut Image, Pipeline validiert und deployed.

Wichtige Klassen

  • AdapterOpenshiftPipelinesPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftPipelinesAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftPipelinesUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Pipeline
  • Chain of Responsibility

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-routesDeployment
Verantwortung

OpenShift Routes und Ingress-Verhalten als Deployment-Baustein.

Fachlicher Ablauf

Service exponieren, TLS terminieren, Pfade trennen.

Wichtige Klassen

  • AdapterOpenshiftRoutesPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftRoutesAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftRoutesUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Gateway
  • Reverse Proxy

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-service-meshDeployment
Verantwortung

Service Mesh, mTLS, Traffic-Splitting, Retry und Circuit Breaking.

Fachlicher Ablauf

Sidecar aktivieren, Policies setzen, Canary kontrollieren.

Wichtige Klassen

  • AdapterOpenshiftServiceMeshPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftServiceMeshAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftServiceMeshUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Proxy
  • Circuit Breaker

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-storageDeployment
Verantwortung

PVC, StorageClass und Stateful Workloads für On-Prem/Cloud.

Fachlicher Ablauf

Storage-Anforderung beschreiben, Backup/Restore beachten.

Wichtige Klassen

  • AdapterOpenshiftStoragePort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftStorageAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftStorageUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Repository
  • Infrastructure Adapter

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-vm-postgresDeployment
Verantwortung

PostgreSQL auf VM oder Dedicated Hosting als kontrollierter Datenservice.

Fachlicher Ablauf

Connection Pool konfigurieren, Backups dokumentieren.

Wichtige Klassen

  • AdapterVmPostgresPort: fachlicher Port oder Betriebsport.
  • AdapterVmPostgresAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterVmPostgresUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Repository
  • Unit of Work

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

api-adminDeployment
Verantwortung

Admin-API für Betriebsfälle, Replays, Sperren und Diagnose.

Fachlicher Ablauf

Nur privilegierte Rollen, sichere Audit-Spur, begrenzte Aktionen.

Wichtige Klassen

  • ApiAdminPort: fachlicher Port oder Betriebsport.
  • ApiAdminAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • ApiAdminUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Command
  • Audit Trail

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

api-gatewayDeployment
Verantwortung

Eingang für externe Clients, Routing, AuthN/AuthZ, Rate Limits und Correlation IDs.

Fachlicher Ablauf

Request prüfen, Token validieren, Use Case aufrufen.

Wichtige Klassen

  • ApiGatewayPort: fachlicher Port oder Betriebsport.
  • ApiGatewayAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • ApiGatewayUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Facade
  • Gateway

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

api-restDeployment
Verantwortung

REST API für Order, Billing, Inventory und Tracking.

Fachlicher Ablauf

Controller nimmt DTO an, Application Service orchestriert, Response erzeugen.

Wichtige Klassen

  • ApiRestPort: fachlicher Port oder Betriebsport.
  • ApiRestAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • ApiRestUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Controller
  • DTO
  • Mapper

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

billing-domainDeployment
Verantwortung

Rechnung, Zahlung, Mahnung und Buchungsstatus.

Fachlicher Ablauf

Invoice aus Order-Event ableiten, Payment buchen, Fehler kompensieren.

Wichtige Klassen

  • BillingDomainPort: fachlicher Port oder Betriebsport.
  • BillingDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • BillingDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • State
  • Strategy

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

chaos-labDeployment
Verantwortung

Fehlerlabor für Netz, Pod Kill, Queue Lag, Datenbankausfall.

Fachlicher Ablauf

Hypothese, Experiment, Beobachtung, Runbook-Update.

Wichtige Klassen

  • ChaosLabPort: fachlicher Port oder Betriebsport.
  • ChaosLabAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • ChaosLabUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Chaos Engineering
  • Circuit Breaker

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

cqrs-readmodelDeployment
Verantwortung

Lesemodelle für Suche, Dashboard, Audit und Reporting.

Fachlicher Ablauf

Events konsumieren, Projektionen idempotent aktualisieren.

Wichtige Klassen

  • CqrsReadmodelPort: fachlicher Port oder Betriebsport.
  • CqrsReadmodelAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • CqrsReadmodelUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • CQRS
  • Projection

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

customer-domainDeployment
Verantwortung

Kundenprofil, Segment, Bonität, Consent und Kommunikationsregeln.

Fachlicher Ablauf

Kundenstatus prüfen, Risiko und Consent an Use Cases liefern.

Wichtige Klassen

  • CustomerDomainPort: fachlicher Port oder Betriebsport.
  • CustomerDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • CustomerDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Specification
  • Policy

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-aws-rosaDeployment
Verantwortung

ROSA/Managed OpenShift Variante auf AWS.

Fachlicher Ablauf

Cloud-Identität, LoadBalancer, Storage und SQS/S3 integrieren.

Wichtige Klassen

  • DeploymentAwsRosaPort: fachlicher Port oder Betriebsport.
  • DeploymentAwsRosaAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentAwsRosaUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Managed Platform Adapter
  • Gateway

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-baremetal-openshiftDeployment
Verantwortung

Bare-Metal OpenShift mit MachineConfig, Nodes, Storage und Netz.

Fachlicher Ablauf

Hardware-Profile dokumentieren, Netzwerk/Storage testen.

Wichtige Klassen

  • DeploymentBaremetalOpenshiftPort: fachlicher Port oder Betriebsport.
  • DeploymentBaremetalOpenshiftAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentBaremetalOpenshiftUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Infrastructure Adapter
  • Node Pool

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-dedicated-hostingDeployment
Verantwortung

Dedicated/VM Hosting als externer Partner- oder Übergangsbereich.

Fachlicher Ablauf

Reverse Tunnel/Firewall, SFTP/SOAP, Betriebsgrenzen dokumentieren.

Wichtige Klassen

  • DeploymentDedicatedHostingPort: fachlicher Port oder Betriebsport.
  • DeploymentDedicatedHostingAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentDedicatedHostingUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Boundary Context
  • Gateway

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-onprem-integrationsDeployment
Verantwortung

On-Prem Integrationszone mit Firewall, MQ, Oracle, SFTP und Monitoring.

Fachlicher Ablauf

Netzpfade prüfen, Secrets verteilen, Latenzen messen.

Wichtige Klassen

  • DeploymentOnpremIntegrationsPort: fachlicher Port oder Betriebsport.
  • DeploymentOnpremIntegrationsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOnpremIntegrationsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Integration Zone
  • Anti-Corruption Layer

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-openshift-baseDeployment
Verantwortung

Kubernetes/OpenShift Manifeste: Namespace, Deployment, Service, Route.

Fachlicher Ablauf

Basis deployen und Health/Readiness sichtbar machen.

Wichtige Klassen

  • DeploymentOpenshiftBasePort: fachlicher Port oder Betriebsport.
  • DeploymentOpenshiftBaseAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOpenshiftBaseUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Deployment
  • Desired State

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-openshift-gitopsDeployment
Verantwortung

Argo CD Applications und App-of-Apps Struktur.

Fachlicher Ablauf

Repo-Struktur mit Umgebungen synchronisieren.

Wichtige Klassen

  • DeploymentOpenshiftGitopsPort: fachlicher Port oder Betriebsport.
  • DeploymentOpenshiftGitopsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOpenshiftGitopsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • GitOps
  • Composite

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-openshift-helmDeployment
Verantwortung

Helm Chart für parametrisierte Releases und Installation.

Fachlicher Ablauf

Values trennen, Chart linten, Upgrade testen.

Wichtige Klassen

  • DeploymentOpenshiftHelmPort: fachlicher Port oder Betriebsport.
  • DeploymentOpenshiftHelmAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOpenshiftHelmUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Template Method
  • Release Package

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-openshift-kustomizeDeployment
Verantwortung

Kustomize Overlays für dev/test/prod und Infrastrukturvarianten.

Fachlicher Ablauf

Base definieren, Overlays für Cluster/Umgebung ergänzen.

Wichtige Klassen

  • DeploymentOpenshiftKustomizePort: fachlicher Port oder Betriebsport.
  • DeploymentOpenshiftKustomizeAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOpenshiftKustomizeUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Overlay
  • Configuration Composition

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-openshift-pipelinesDeployment
Verantwortung

Tekton Pipeline Beispiele für Build, Test, Image Scan und Promote.

Fachlicher Ablauf

Pull Request validieren, Main deployt in Test, Tag nach Prod.

Wichtige Klassen

  • DeploymentOpenshiftPipelinesPort: fachlicher Port oder Betriebsport.
  • DeploymentOpenshiftPipelinesAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentOpenshiftPipelinesUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Pipeline
  • Quality Gate

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

deployment-vm-okdDeployment
Verantwortung

OKD oder OpenShift auf VM-Landschaft für Lab/Private Cloud.

Fachlicher Ablauf

Installer/UPI planen, DNS/Ingress/Storage vorbereiten.

Wichtige Klassen

  • DeploymentVmOkdPort: fachlicher Port oder Betriebsport.
  • DeploymentVmOkdAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DeploymentVmOkdUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Platform Adapter
  • Desired State

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

documentation-siteDeployment
Verantwortung

Zentrale Doku mit Architektur, Ablauf, SVGs und Lernpfad.

Fachlicher Ablauf

Projekt für Lernen und Übergabe lesbar machen.

Wichtige Klassen

  • DocumentationSitePort: fachlicher Port oder Betriebsport.
  • DocumentationSiteAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • DocumentationSiteUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Documentation as Code
  • Knowledge Base

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

infra-configDeployment
Verantwortung

Konfigurationsmodell für Profile, Environments, Secrets und Feature Flags.

Fachlicher Ablauf

Keine Umgebung hart codieren, Änderung nachvollziehbar machen.

Wichtige Klassen

  • InfraConfigPort: fachlicher Port oder Betriebsport.
  • InfraConfigAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • InfraConfigUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Externalized Configuration
  • Feature Toggle

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

infra-resilienceDeployment
Verantwortung

Timeouts, Retries, Circuit Breaker, Bulkheads, Rate Limits.

Fachlicher Ablauf

Fehler isolieren, Backpressure verwenden, Chaos testen.

Wichtige Klassen

  • InfraResiliencePort: fachlicher Port oder Betriebsport.
  • InfraResilienceAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • InfraResilienceUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Circuit Breaker
  • Bulkhead

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

integration-eventsDeployment
Verantwortung

Stabile Integration Events zwischen Domains, OpenShift und externen Systemen.

Fachlicher Ablauf

Event-Versionen pflegen, Producer/Consumer getrennt halten.

Wichtige Klassen

  • IntegrationEventsPort: fachlicher Port oder Betriebsport.
  • IntegrationEventsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • IntegrationEventsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Event Envelope
  • Versioned Contract

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

inventory-domainDeployment
Verantwortung

Bestand, Reservierung, Lagerprüfung und Nachlieferung.

Fachlicher Ablauf

Reserve -> Confirm -> Release über Saga-Schritte.

Wichtige Klassen

  • InventoryDomainPort: fachlicher Port oder Betriebsport.
  • InventoryDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • InventoryDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Repository
  • Command

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

order-domainDeployment
Verantwortung

Order Aggregate, OrderLine, Pricing Decision und Zustandswechsel.

Fachlicher Ablauf

Order erfassen, validieren, Domain Events erzeugen.

Wichtige Klassen

  • OrderDomainPort: fachlicher Port oder Betriebsport.
  • OrderDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • OrderDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Aggregate Root
  • Domain Event

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

outbox-coreDeployment
Verantwortung

Transactional Outbox für zuverlässige Event-Publikation aus Datenbanktransaktionen.

Fachlicher Ablauf

Domain speichern, Outbox schreiben, Publisher liefert später aus.

Wichtige Klassen

  • OutboxCorePort: fachlicher Port oder Betriebsport.
  • OutboxCoreAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • OutboxCoreUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Outbox
  • Unit of Work

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

platform-bomDeployment
Verantwortung

Zentrale Versionen, Dependency-Management und Plugin-Regeln für reproduzierbare Enterprise-Builds.

Fachlicher Ablauf

Build-Reihenfolge einfrieren, Versionen zentralisieren, Enforcer-Regeln aktivieren.

Wichtige Klassen

  • PlatformBomPort: fachlicher Port oder Betriebsport.
  • PlatformBomAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • PlatformBomUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • BOM
  • Dependency Management

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

pricing-domainDeployment
Verantwortung

Rabattregeln, Staffelpreise, Kundensegmente und Kampagnen.

Fachlicher Ablauf

Preisentscheidung als erklärbares Ergebnis liefern.

Wichtige Klassen

  • PricingDomainPort: fachlicher Port oder Betriebsport.
  • PricingDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • PricingDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Strategy
  • Chain of Responsibility

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

runbook-operationsDeployment
Verantwortung

Betriebshandbuch für Deployments, Incident, Rollback und Recovery.

Fachlicher Ablauf

Diagnosepfad, Entscheidung, Aktion, Nachweis.

Wichtige Klassen

  • RunbookOperationsPort: fachlicher Port oder Betriebsport.
  • RunbookOperationsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • RunbookOperationsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Runbook
  • Decision Tree

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

saga-coreDeployment
Verantwortung

Langlaufende Geschäftsprozesse mit Kompensation über Order/Billing/Inventory/Shipping.

Fachlicher Ablauf

Start, Step, Retry, Timeout, Compensation.

Wichtige Klassen

  • SagaCorePort: fachlicher Port oder Betriebsport.
  • SagaCoreAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • SagaCoreUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Saga
  • Command
  • Compensating Transaction

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

shared-kernelDeployment
Verantwortung

Gemeinsame Value Objects, Fehlerkontrakte, IDs, Zeitmodell und technische Basisklassen.

Fachlicher Ablauf

Domain-Bausteine zuerst stabilisieren, dann von Fachmodulen nutzen.

Wichtige Klassen

  • SharedKernelPort: fachlicher Port oder Betriebsport.
  • SharedKernelAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • SharedKernelUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Value Object
  • Factory Method

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

shipping-domainDeployment
Verantwortung

Lieferadresse, Carrier-Auswahl, Tracking und Versandstatus.

Fachlicher Ablauf

Carrier wählen, Label erzeugen, Status rückmelden.

Wichtige Klassen

  • ShippingDomainPort: fachlicher Port oder Betriebsport.
  • ShippingDomainAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • ShippingDomainUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Adapter
  • Template Method

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

worker-event-consumerDeployment
Verantwortung

Konsumenten für Kafka/AMQ Streams Events.

Fachlicher Ablauf

Partition lesen, deduplizieren, Readmodel aktualisieren.

Wichtige Klassen

  • WorkerEventConsumerPort: fachlicher Port oder Betriebsport.
  • WorkerEventConsumerAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • WorkerEventConsumerUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Idempotent Consumer
  • Observer

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

worker-schedulerDeployment
Verantwortung

Zeitgesteuerte Jobs für Replays, Retention, Outbox-Publishing und Cleanup.

Fachlicher Ablauf

CronJob/Timer triggert kleine idempotente Batches.

Wichtige Klassen

  • WorkerSchedulerPort: fachlicher Port oder Betriebsport.
  • WorkerSchedulerAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • WorkerSchedulerUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Scheduler
  • Idempotent Consumer

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

Observability 3

adapter-openshift-loggingObservability
Verantwortung

Loki/EFK-orientierte Logs mit Correlation ID.

Fachlicher Ablauf

JSON Logs schreiben, Labels setzen, Suche ermöglichen.

Wichtige Klassen

  • AdapterOpenshiftLoggingPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftLoggingAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftLoggingUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Observer
  • Correlation ID

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

adapter-openshift-monitoringObservability
Verantwortung

Prometheus, Alertmanager, Grafana/Konsole, SLIs/SLOs.

Fachlicher Ablauf

Metriken exportieren, Rules testen, Alerts routen.

Wichtige Klassen

  • AdapterOpenshiftMonitoringPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftMonitoringAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftMonitoringUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Observer
  • Health Check

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

infra-observabilityObservability
Verantwortung

Logs, Metriken, Traces, Alerts, Dashboards und Runbooks.

Fachlicher Ablauf

Golden Signals und fachliche SLIs in Betrieb bringen.

Wichtige Klassen

  • InfraObservabilityPort: fachlicher Port oder Betriebsport.
  • InfraObservabilityAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • InfraObservabilityUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Observer
  • Correlation ID

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

Security 2

adapter-openshift-securitySecurity
Verantwortung

SCC, RBAC, NetworkPolicy, Image Signatures und Secret Handling.

Fachlicher Ablauf

Least Privilege erzwingen, Policies automatisiert prüfen.

Wichtige Klassen

  • AdapterOpenshiftSecurityPort: fachlicher Port oder Betriebsport.
  • AdapterOpenshiftSecurityAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • AdapterOpenshiftSecurityUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Policy
  • Guard

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

infra-securitySecurity
Verantwortung

Security Baseline für OAuth2/OIDC, RBAC, mTLS, Secrets, Policies.

Fachlicher Ablauf

Threat Model ableiten, Policies prüfen, Audit aktivieren.

Wichtige Klassen

  • InfraSecurityPort: fachlicher Port oder Betriebsport.
  • InfraSecurityAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • InfraSecurityUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Policy
  • Zero Trust Boundary

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

Testing 5

enterprise-contractsTesting
Verantwortung

OpenAPI, AsyncAPI, Event-Schemas und Consumer-Provider-Verträge.

Fachlicher Ablauf

Verträge versionieren, Tests ableiten, Breaking Changes sichtbar machen.

Wichtige Klassen

  • EnterpriseContractsPort: fachlicher Port oder Betriebsport.
  • EnterpriseContractsAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • EnterpriseContractsUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Contract
  • Adapter

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

runnable-smokeTesting

runnable-smoke

Dieses Modul macht den Workspace sofort ausfuehrbar.

Start

mvn -q -pl runnable-smoke -am package exec:java

Zweck

Der Smoke-Run fuehrt einen kompakten Enterprise-Ablauf aus: Order validieren, Inventory reservieren, Payment autorisieren, Outbox-Event erzeugen und Deployment-Bereitschaft pruefen.

Entwurfsmuster

  • Command: fachliche Schritte als ausfuehrbare Aktionen.
  • Pipeline: Schritte laufen in stabiler Reihenfolge.
  • Result Object: klare Rueckgabe ohne versteckte Seiteneffekte.
testing-architectureTesting
Verantwortung

ArchUnit und modulare Architekturregeln.

Fachlicher Ablauf

Abhängigkeiten prüfen, Verletzungen früh blockieren.

Wichtige Klassen

  • TestingArchitecturePort: fachlicher Port oder Betriebsport.
  • TestingArchitectureAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • TestingArchitectureUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Architecture Fitness Function
  • Guard

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

testing-contractTesting
Verantwortung

Consumer-/Provider-Contract-Tests für REST/Event/SOAP.

Fachlicher Ablauf

Vertrag brechen verhindern, Versionierung testen.

Wichtige Klassen

  • TestingContractPort: fachlicher Port oder Betriebsport.
  • TestingContractAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • TestingContractUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Contract Test
  • Mock Adapter

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

testing-openshiftTesting
Verantwortung

OpenShift-nahe Tests mit Testcontainers, Smoke Tests und Manifests.

Fachlicher Ablauf

Image starten, Health prüfen, YAML validieren.

Wichtige Klassen

  • TestingOpenshiftPort: fachlicher Port oder Betriebsport.
  • TestingOpenshiftAdapter: technische Implementierung für OpenShift/Cloud/VM/On-Premise.
  • TestingOpenshiftUseCase: kleiner Ablauf, der nur Ports kennt.
Architekturbausteine
  • Test Pyramid
  • Smoke Test

Warum im Master 5?

Dieses Modul zeigt, wie ein modernes Maven-Projekt nicht nur Code, sondern auch Deployment, Plattform, Betrieb und Integrationsgrenzen sauber trennt.

Projektübersicht · Master 5 - OpenShift Distributed Enterprise Maven Platform

Master 5 - OpenShift Distributed Enterprise Maven Platform

Kurzbeschreibung

Master 5 ist die OpenShift-Steigerung der bisherigen Master-Reihe. Es zeigt, wie ein modernes Enterprise Maven Multi-Module Projekt fachlich, technisch und betrieblich aufgebaut wird.

Was macht das Projekt?

Es modelliert eine verteilte Order/Billing/Inventory/Shipping Plattform. Fachmodule erzeugen Events, Outbox und Saga sorgen für zuverlässige Prozesse, Adapter verbinden OpenShift, AWS, VM, Bare Metal, On-Premise und Dedicated Hosting.

Ablauf

1. Maven-Reaktor öffnen.

2. Domain-Module verstehen.

3. Ports und Adapter lesen.

4. OpenShift-Manifeste prüfen.

5. GitOps/Pipeline-Ablauf nachvollziehen.

6. Security, Observability und Resilience bewerten.

7. Chaos-Lab und Runbooks als Betriebsübung verwenden.

Einstieg

  • index.html im Root öffnen.
  • docs/project-descriptions.html für Modulübersicht.
  • docs/architecture.html für Zielbild und SVGs.
  • docs/openshift-deep-dive.html für OpenShift-Erklärung.
  • mvn-ws-ocp-k8s-helm in IntelliJ oder VS Code öffnen.

Runnable Smoke-Test

Siehe RUNNABLE.md und RUNNABLE.html. Jeder Workspace enthaelt ein Modul runnable-smoke mit Startskripten.

Start und Runtime · Master 5 runnable machen

Master 5 runnable machen

<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.

Startbefehle

  • mvn-ws-ocp-k8s-helm: cd mvn-ws-ocp-k8s-helm && mvn -q -pl runnable-smoke -am package exec:java
  • Windows: run-smoke.bat im Workspace starten.
  • Linux/macOS: ./run-smoke.sh im Workspace starten.

Was der Smoke-Run tut

Der Ablauf simuliert eine echte Enterprise-Kette:

  • Bestellung validieren
  • Bestand reservieren
  • Zahlung autorisieren
  • Outbox-Event erzeugen
  • Deployment-Bereitschaft pruefen

Warum Smoke-Runner und nicht alle externen Systeme starten?

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.

Empfohlene Reihenfolge

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.

⌂ Cockpit