Die sd
flowchart TB
%% =========================
%% On-Premises (Customer)
%% =========================
subgraph ONPREM["On-Premises Server (Customer) 👤 — SLA: 🟢"]
direction TB
Server["Server (Host)"]
Gateway["On-premises Data Gateway"]
SQLDB["SQL Server Database"]
Server --- Gateway
Server --- SQLDB
end
%% =========================
%% Power BI Service
%% =========================
subgraph PBI["Power BI Service"]
direction TB
%% ---- Workspace: Power BI Proxy (Customer-managed) ----
subgraph ProxyWS["Workspace: Power BI Proxy 👤 — SLA: 🟢 (Customer)"]
direction TB
SM1[(Semantic Model: Auslieferung)]
SM2[(Semantic Model: Electro)]
SM3[(Semantic Model: Prüfung)]
RP1[Report: Auslieferung]
RP2[Report: Electro]
RP3[Report: Prüfung]
SM1 --> RP1
SM2 --> RP2
SM3 --> RP3
end
%% ---- Workspace: Power Partners (Managed by Power Partners) ----
subgraph PartnersWS["Workspace: Power Partners 🤝 — SLA: 🟢 (Power Partners)"]
direction TB
DF1[[Dataflow A]]
DF2[[Dataflow B]]
UndefModels["Reports and Semantic Models (unspecified and evolving)"]
DF1 --> UndefModels
DF2 --> UndefModels
end
end
%% =========================
%% Cross-boundary data movement
%% =========================
SQLDB --> SM1
SQLDB --> SM2
SQLDB --> SM3
Gateway -.-> DF1
Gateway -.-> DF2
%% =========================
%% Legend (icons & indicators)
%% =========================
subgraph Legend["Legend"]
direction TB
LEG1["👤 Customer-owned"]
LEG2["🤝 Power Partners–owned"]
LEG3["SLA: 🟢 meets target | 🟡 at risk | 🔴 breach"]
LEG4["Edges: --> direct | -.-> via gateway"]
end
%% =========================
%% Styling
%% =========================
classDef customer fill:#e6f4ff,stroke:#2b6cb0,stroke-width:1.2px,color:#0b2e59;
classDef pp fill:#e8f5e9,stroke:#2e7d32,stroke-width:1.2px,color:#10451d;
classDef neutral fill:#f5f5f5,stroke:#616161,stroke-width:1px,color:#212121;
class ONPREM,SQLDB,Gateway,Server,ProxyWS,SM1,SM2,SM3,RP1,RP2,RP3 customer
class PBI,PartnersWS,DF1,DF2,UndefModels pp
class Legend neutral