Master 9 - Banking / Core Banking

Fertiges runnable Enterprise-Demo-System mit Beschreibung, Ablauf, SVG und Java-Code.

README

Überblick

Runnable

Start und Smoke Flow

Ablauf und Funktion

Textuelle Beschreibung

Projektbeschreibungen

Module und Abläufe

Entwurfsmuster

Pattern pro Modul

SVG Galerie

Kompakte Erklärbilder

Prüfbericht

Qualität und ZIP

Core Banking Produktionsreferenz – Double-Entry Ledger, idempotente Überweisung, PostgreSQL, Outbox und Audit.

Lehrbuch und Praxis

Was lerne ich hier?

Fachlicher Kern

Banking

Technischer Fokus

Warum Ledger, Buchung und Nachvollziehbarkeit zentrale Enterprise-Themen sind.

Warum wichtig?

Kunde, Konto, Zahlung, Ledger, Tagesabschluss und Audit.

Lernziel

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

Fachliches Mini-Szenario

Szenario: Ein Kunde wird registriert, ein Konto wird eröffnet, eine Zahlung wird gebucht, das Ledger erzeugt Soll/Haben-Einträge und der Tagesabschluss erstellt einen Report.
?

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

39 Module11 KategorienInhalte vollständig übernommen

API & Application 8

account-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung account-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
closing-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung closing-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
customer-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung customer-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
fraud-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung fraud-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
jakarta-rest-apiAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung jakarta-rest-api.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.
ledger-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung ledger-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
payment-applicationAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung payment-application.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.
rest-api-springAPI & Application
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung rest-api-spring.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.

Adapter & Integration 4

batch-file-adapterAdapter & Integration
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung batch-file-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.
card-network-adapterAdapter & Integration
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung card-network-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.
sepa-adapterAdapter & Integration
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung sepa-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.
swift-adapterAdapter & Integration
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung swift-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.

Daten & Storage 2

oracle-core-adapterDaten & Storage
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung oracle-core-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.
postgres-adapterDaten & Storage
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung postgres-adapter.

Architekturbausteine
  • Adapter: fachliche Grenze.
  • Anti-Corruption Layer: stabile Fachwerte.
  • Facade: pruefbare Entscheidung.
  • Repository: entkoppelte Weitergabe.

Deployment 1

devops-openshiftDeployment
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung devops-openshift.

Architekturbausteine
  • Outbox: fachliche Grenze.
  • Saga: stabile Fachwerte.
  • CQRS Projection: pruefbare Entscheidung.
  • Health Check: entkoppelte Weitergabe.

Domain 16

account-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung account-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
card-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung card-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
compliance-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung compliance-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
cqrs-readmodelDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung cqrs-readmodel.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
customer-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung customer-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
fee-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung fee-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
fraud-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung fraud-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
kyc-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung kyc-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
ledger-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung ledger-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
loan-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung loan-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
notification-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung notification-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
payment-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung payment-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
reporting-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung reporting-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
risk-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung risk-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
statement-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung statement-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.
treasury-domainDomain
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung treasury-domain.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.

Messaging 1

event-outboxMessaging
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung event-outbox.

Architekturbausteine
  • Outbox: fachliche Grenze.
  • Saga: stabile Fachwerte.
  • CQRS Projection: pruefbare Entscheidung.
  • Health Check: entkoppelte Weitergabe.

Observability 1

observability-platformObservability
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung observability-platform.

Architekturbausteine
  • Outbox: fachliche Grenze.
  • Saga: stabile Fachwerte.
  • CQRS Projection: pruefbare Entscheidung.
  • Health Check: entkoppelte Weitergabe.

Security 1

security-platformSecurity
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung security-platform.

Architekturbausteine
  • Outbox: fachliche Grenze.
  • Saga: stabile Fachwerte.
  • CQRS Projection: pruefbare Entscheidung.
  • Health Check: entkoppelte Weitergabe.

Testing 3

architecture-testsTesting
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung architecture-tests.

Architekturbausteine
  • Golden Master: fachliche Grenze.
  • Contract Test: stabile Fachwerte.
  • Architecture Rule: pruefbare Entscheidung.
  • Fixture Builder: entkoppelte Weitergabe.
contract-testsTesting
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung contract-tests.

Architekturbausteine
  • Golden Master: fachliche Grenze.
  • Contract Test: stabile Fachwerte.
  • Architecture Rule: pruefbare Entscheidung.
  • Fixture Builder: entkoppelte Weitergabe.
runnable-smokeTesting
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung runnable-smoke.

Architekturbausteine
  • Aggregate Root: fachliche Grenze.
  • Value Object: stabile Fachwerte.
  • Specification: pruefbare Entscheidung.
  • Domain Event: entkoppelte Weitergabe.

Weitere Module 1

migration-toolsWeitere Module
Verantwortung

Dieses Modul ist Teil von Master 9 - Banking / Core Banking und kapselt die Verantwortung migration-tools.

Architekturbausteine
  • Application Service: fachliche Grenze.
  • Command Handler: stabile Fachwerte.
  • Pipeline: pruefbare Entscheidung.
  • Result Object: entkoppelte Weitergabe.

Referenzimplementierung 1

cbs-reference-applicationPROD REF

Produktionsorientierte Core-Banking-Referenz mit Double-Entry Ledger, idempotenten Transfers, PostgreSQL/Flyway, Transactional Outbox, REST, Security und Tests.

Patterns: Aggregate Root, Value Object, Repository, Unit of Work, Data Mapper, Adapter, Idempotent Consumer, Transactional Outbox.

Fachliche Dokumentation öffnen

mvn-ws-impl-cbs/cbs-reference-application

Projektübersicht · Master 9 README

Master 9 README

Banking / Core Banking

Master 9 - Banking / Core Banking

Ziel

Komplexes fertiges Demo-System mit Java-Code, Maven-Modulen, Ablaufbeschreibung, SVGs, Pattern-Dokumentation und runnable Smoke Flow.

Start

cd mvn-ws-impl-cbs
mvn -q -pl runnable-smoke -am package exec:java

Inhalt

Start und Runtime · Master 9 Runnable

Master 9 Runnable

Banking / Core Banking

RUNNABLE Master 9

Start

cd mvn-ws-impl-cbs
mvn -q -pl runnable-smoke -am package exec:java

Erwarteter Smoke Flow

Customer Onboarding, KYC Check, Account Opening, Payment Execution, Ledger Posting, Fraud Review, Daily Closing, Audit Report

Hinweis

Der Smoke Flow ist bewusst ohne externe Infrastruktur lauffaehig.

⌂ Cockpit