Welle 3 · Produktionsfähiger Referenzcode
CommerceOne Referenzimplementierung
Java 21, Spring Boot und Cloud-Native-Artefakte mit klar markierten Architekturmustern.
Vom Domänenwissen zum ausführbaren System
Die Referenzimplementierung überführt die vier CommerceOne-Domänen in ein Java-21-Multi-Modul-Projekt. Der Schwerpunkt liegt auf nachvollziehbaren Abhängigkeiten und nicht auf einem künstlich großen Demo-System.
1. ModularchitekturArchitektur
Abhängigkeitsregel: Domain-Module kennen keine Spring-, HTTP-, JPA- oder Kafka-Klassen. Application-Module kennen Ports. Adapter implementieren diese Ports.
commerceone-platform
├── platform-shared
├── order-domain
├── order-application
├── order-adapters
├── inventory-domain
├── payment-domain
├── notification-domain
├── commerceone-app
├── integration-tests
└── deploy/helm2. Bestellfluss und OutboxMessaging
Der Order Use Case speichert die Bestellung und einen Outbox-Eintrag in einer Transaktion. Ein Publisher überträgt unveröffentlichte Einträge später nach Kafka. Damit entsteht kein unkontrollierter Dual-Write.
HTTP → OrderController → CreateOrderUseCase
→ Order Aggregate
→ OrderRepository
→ OutboxPort
→ PostgreSQL transaction
→ Kafka publisher3. Security und ObservabilityBetrieb
- OIDC Resource Server über Keycloak-Issuer.
- Actuator Health Probes für Kubernetes.
- Prometheus-Endpunkt für Metriken.
- Keine Secrets im Quellcode; Konfiguration über Umgebungsvariablen.
- Non-Root-Container und eingeschränkter Kubernetes Security Context.
4. Build, Test und Supply ChainQualität
mvn -B -ntp verify
mvn -B -ntp org.cyclonedx:cyclonedx-maven-plugin:2.9.1:makeAggregateBom
docker build -t commerceone:local .
helm template commerceone deploy/helm/commerceoneSicherheitsmarkierung: Diese Befehle werden ausschließlich angezeigt. Vor Ausführung Versionen, Registry-Ziel und lokale Umgebung prüfen.
5. Was produktionsnah und was bewusst offen istTransparenz
| Bereich | Vorhanden | Noch offen |
|---|---|---|
| Architektur | Module, Ports, Aggregate, Outbox | vollständige Implementierung aller Use Cases |
| Runtime | Spring Boot, PostgreSQL, Kafka, OIDC | echte Provider-Konfiguration und Secrets |
| Deployment | Docker, Compose, Helm, Probes, Ressourcen | produktive Ingress-, NetworkPolicy- und Secret-Lösung |
| Tests | Domain-Test und Testcontainers-Gerüst | vollständige Contract-, End-to-End- und Lasttests |
← DomänenQuellcode: examples/commerceone-platform
Neu in V6.24
CommerceOne Code Explorer
Controller, Use Case, Domain, Repository, Outbox, PostgreSQL, Kafka, Telemetrie, Container, Helm und CI/CD direkt am realen Referenzcode verfolgen.
Code Explorer öffnen