- 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
37 lines
1.1 KiB
Plaintext
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
|