StatusType

bayerncloud architektur

@startuml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
LAYOUT_LEFT_RIGHT()
SHOW_PERSON_OUTLINE()
 
' Personen
together {
Person(admin, "BayTM Admin", "Super-Admin, Governance & Freigaben")
Person(editor, "Redakteur:in / Destination", "Pflegt Inhalte")
Person(dev, "API-Consumer (App/Partner)", "Nutzt BCT-Daten über Middleware")
Person(visitor, "Website-Besucher:in", "Sieht Inhalte via Widgets")
}
 
' Systeme im Fokus
System_Boundary(bct, "BCT - Lose 1 & 3") {
  System(mw, "Los 1: Middleware API", "REST (OpenAPI), JSON-LD/@graph", "Performante, read-only Bereitstellung; Filter & Lizenzlogik")
  System(dms, "Los 3: DMS Frontend", "Next.js + Backend", "Datenpflege, Veredelung, RBAC, Widget-Konfigurator")
}
 
' Angrenzende Lose/Komponenten
together {
System_Ext(di, "Los 2: Datenintegration (dataCycle)", "REST/GraphQL", "Aggregation, Validierung, ODTA-Export")
System_Ext(iam, "Keycloak (IAM)", "OIDC/JWT", "Zentrale Authentifizierung")
System_Ext(widgets, "Los 4: Widgets", "Web Components/iFrame", "Ausspielung & Visualisierung")
System_Ext(mon, "Monitoring/Logging", "APM/Logs/Metrics", "Verfügbarkeit, Performance, Audit")
}
 
' Beziehungen
Rel(admin, dms, "Konfiguriert, verwaltet, gibt frei")
Rel(editor, dms, "Pflegt & veredelt Inhalte")
Rel(dev, mw, "Konsumiert Daten", "JWT")
Rel(visitor, widgets, "Nutzt eingebettete Widgets")
 
Rel(dms, di, "Lesen/Schreiben touristischer Daten", "REST/Backend-zu-Backend")
Rel(mw, di, "Liest normalisierte/aktuelle Daten", "REST/Read-Only")
 
Rel(dms, widgets, "Konfiguriert Widgets (Übergabe der Konfiguration)", "API")
Rel(mw, widgets, "Datenquelle für Widget-Laufzeit", "REST/JSON-LD")
 
Rel(mw, iam, "Auth (JWT/OIDC)")
Rel(dms, iam, "Login/RBAC (OIDC)")
 
Rel(mw, mon, "Metriken/Logs")
Rel(dms, mon, "Metriken/Logs")
@enduml