@startuml title "Context Map: ÖTO Meldestellen-System" !theme vibrant ' Definition der Bounded Contexts package "Personen & Vereine" as PersonenContext { [Personenstamm] [Vereinsstamm] } package "Lizenzen & Qualifikationen" as LizenzContext { [Lizenznehmer] [Qualifikationen] } package "Veranstaltungsplanung" as VeranstaltungsContext { [VeranstaltungsRahmen] [Turnier] [Prüfung (Bewerb)] } package "Nennungsabwicklung" as NennungsContext { [Nennung] [Startliste] } package "Ergebnisdienst" as ErgebnisContext { [Ergebnis] [Rangliste] } package "ZNS-Import (ACL)" as ZNS_ACL { [ZNS Datentransfer] } ' Beziehungen (Upstream/Downstream) und Kommunikationsmuster ' Der Pfeil zeigt in Richtung des Downstream-Partners (Konsument) ' ZNS ist der Upstream-Partner für Personen- und Vereinsdaten ZNS_ACL ..> PersonenContext : Upstream/Downstream (Anti-Corruption Layer) ' Personen- und Veranstaltungsdaten sind Upstream für Nennungen PersonenContext ..> NennungsContext : "Reiter-, Pferdebesitzerdaten" (Consumer) VeranstaltungsContext ..> NennungsContext : "Verfügbare Prüfungen" (Consumer) LizenzContext ..> NennungsContext : "Lizenz- & Qualifikationsstatus" (Consumer) ' Nennungen sind Upstream für Ergebnisse NennungsContext ..> ErgebnisContext : "Angenommene Starter" (Consumer) ' Ergebnisdaten können wieder andere Kontexte beeinflussen (z.B. durch Events) ErgebnisContext ..> LizenzContext : Event: "Erfolg für Lizenz-Upgrade erzielt" ErgebnisContext ..> VeranstaltungsContext : Event: "Ergebnis für Siegerehrung verfügbar" @enduml