Files
3yearplan/outputs/diagrams/scadabridge-dataflow.mmd
Joseph Doherty eb61d07ffd Add 5 component data-flow diagrams (Mermaid source + PNG)
- 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
2026-04-17 14:24:45 -04:00

37 lines
1.1 KiB
Plaintext

flowchart LR
subgraph Inputs["Data Inputs"]
OT["OtOpcUa<br/>Equipment NS"]
SP["OtOpcUa<br/>System Platform NS"]
end
subgraph ScadaBridge["ScadaBridge Cluster (per site)"]
direction TB
TPL["Templates<br/>(central DB → site push)"]
SCR["Scripts<br/>(C# Roslyn)"]
SAF["Store & Forward<br/>(per-call, optional)"]
subgraph Internals["Akka.NET Runtime"]
SUP["Supervision<br/>(self-healing)"]
CLST["2-node cluster<br/>(~25s failover)"]
end
end
subgraph Outputs["Integration Targets"]
RED["Redpanda EventHub<br/>(committed, Year 1)"]
API["External Web APIs<br/>(pre-configured, generic)"]
DB["SQL Server<br/>(batch tracking)"]
NOT["Email Notifications<br/>(contact-list driven)"]
EQ["Equipment Writes<br/>(OPC UA via OtOpcUa)"]
CAM["Camstar MES<br/>(direct Web API)"]
end
OT --> SCR
SP --> SCR
TPL --> SCR
SCR --> SAF
SAF --> RED
SAF --> API
SAF --> DB
SAF --> NOT
SCR --> EQ
SCR --> CAM