- otopcua-dataflow: equipment → drivers (8, with stability tiers) → namespaces → ACL → consumers - redpanda-eventhub: site ScadaBridge → store-and-forward → central cluster (topics + retention tiers + schema registry) → enterprise consumers - snowbridge-dataflow: source adapters (Historian/Redpanda) → governed selection + approval workflow → Snowflake landing - scadabridge-dataflow: OtOpcUa inputs → scripts/templates → multiple outputs (Redpanda, Web APIs, DB, email, equipment writes, Camstar) - snowflake-dbt-dataflow: landing → staging → curated layer (dim_equipment, fact_state_transitions, mart_oee) → Power BI / AI/ML / ad-hoc
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
flowchart LR
|
|
subgraph Sites["Site ScadaBridge Clusters"]
|
|
SB1["ScadaBridge<br/>Warsaw West"]
|
|
SB2["ScadaBridge<br/>Shannon"]
|
|
SB3["ScadaBridge<br/>Ponce"]
|
|
SBN["ScadaBridge<br/>... other sites"]
|
|
end
|
|
|
|
subgraph SAF["Store & Forward<br/>(per site, per call)"]
|
|
Q1["Local Queue"]
|
|
Q2["Local Queue"]
|
|
Q3["Local Queue"]
|
|
QN["Local Queue"]
|
|
end
|
|
|
|
subgraph Redpanda["Redpanda Central Cluster (South Bend)"]
|
|
direction TB
|
|
subgraph Topics["Topics: {domain}.{entity}.{event-type}"]
|
|
T1["equipment.tag.value-changed<br/>⏱ analytics 30d"]
|
|
T2["equipment.state.transitioned<br/>⏱ analytics 30d"]
|
|
T3["mes.workorder.started<br/>⏱ analytics 30d"]
|
|
T4["scada.alarm.raised<br/>⏱ operational 7d"]
|
|
T5["quality.inspection.completed<br/>⏱ compliance 90d"]
|
|
end
|
|
SR["Schema Registry<br/>Protobuf + BACKWARD_TRANSITIVE"]
|
|
AUTH["SASL/OAUTHBEARER<br/>+ prefix ACLs"]
|
|
end
|
|
|
|
subgraph Consumers["Enterprise Consumers"]
|
|
SNB["SnowBridge<br/>→ Snowflake"]
|
|
KPI["KPI Processors"]
|
|
CAM["Camstar<br/>Integration"]
|
|
REPLAY["Historical Replay<br/>(simulation-lite)"]
|
|
end
|
|
|
|
SB1 --> Q1 --> T1
|
|
SB2 --> Q2 --> T2
|
|
SB3 --> Q3 --> T3
|
|
SBN --> QN --> T4
|
|
SR -.->|"validates"| Topics
|
|
AUTH -.->|"enforces"| Topics
|
|
T1 --> SNB
|
|
T2 --> SNB
|
|
T2 --> KPI
|
|
T3 --> CAM
|
|
T1 --> REPLAY
|
|
T5 --> SNB
|