bdee12f4e9
Replace ASCII-art diagrams across the README and docs/ with editable .drawio sources plus exported PNGs, so the diagrams render clearly in rendered markdown and can be maintained/regenerated instead of being hand-edited as fragile text art. Non-diagram blocks (code, folder trees, UI wireframes) were left as text.
106 lines
5.8 KiB
Plaintext
106 lines
5.8 KiB
Plaintext
<mxfile host="app.diagrams.net">
|
|
<diagram id="arch" name="Config Model Architecture">
|
|
<mxGraphModel dx="1200" dy="900" grid="1" gridSize="10" guides="1" arrows="1"
|
|
fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="900" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<!-- Commons container -->
|
|
<mxCell id="commons" value="ZB.MOM.WW.ScadaBridge.Commons"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=8;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="360" y="40" width="380" height="270" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Types/DataConnections group -->
|
|
<mxCell id="types" value="Types/DataConnections/ OpcUaEndpointConfig.cs (POCO) OpcUaHeartbeatConfig.cs (POCO) OpcUaSecurityMode.cs (enum)"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="380" y="80" width="340" height="100" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Validators group -->
|
|
<mxCell id="validators" value="Validators/ OpcUaEndpointConfigValidator.cs"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="380" y="190" width="340" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Serialization group -->
|
|
<mxCell id="serialization" value="Serialization/ OpcUaEndpointConfigSerializer.cs"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="380" y="250" width="340" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- CentralUI container -->
|
|
<mxCell id="centralui" value="ZB.MOM.WW.ScadaBridge.CentralUI"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=8;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="120" y="480" width="320" height="220" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="cui_forms" value="Components/Forms/ OpcUaEndpointEditor.razor (shared)"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="140" y="520" width="280" height="70" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="cui_pages" value="Pages/Admin/ DataConnectionForm.razor"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="140" y="600" width="280" height="70" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- SiteRuntime container -->
|
|
<mxCell id="siteruntime" value="ZB.MOM.WW.ScadaBridge.SiteRuntime"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=8;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="660" y="480" width="340" height="220" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="sr_actors" value="Actors/ DeploymentManagerActor (passes raw JSON to DataConnectionFactory)"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="680" y="520" width="300" height="70" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="sr_dc" value="DataConnections.OpcUa/ OpcUaDataConnection.cs (consumes typed model)"
|
|
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=12;align=left;spacingLeft=10;verticalAlign=middle;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="680" y="600" width="300" height="70" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- referenced-by edges: both sides reference Commons -->
|
|
<mxCell id="ref_cui" value="referenced by"
|
|
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;startArrow=none;fontSize=12;dashed=0;"
|
|
edge="1" parent="1" source="commons" target="centralui">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="280" y="400" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="ref_sr" value="referenced by"
|
|
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;startArrow=none;fontSize=12;dashed=0;"
|
|
edge="1" parent="1" source="commons" target="siteruntime">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="830" y="400" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
|
|
<!-- caption note -->
|
|
<mxCell id="note" value="Both sides deserialize DataConnection.PrimaryConfiguration / BackupConfiguration into the same OpcUaEndpointConfig instance. The DB column type does not change."
|
|
style="text;html=1;align=center;verticalAlign=middle;fontSize=12;fontStyle=2;fontColor=#555555;"
|
|
vertex="1" parent="1">
|
|
<mxGeometry x="200" y="730" width="720" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|