Architecture documentation section 2 (Part)
[policy/parent.git] / docs / architecture / draw.io / PFDesignAndAdmin.xml
index 9ba4350..2188d0c 100644 (file)
@@ -1,2 +1 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mxGraphModel dx="995" dy="808" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="PolicyDevelopment" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="260" y="220" width="150" height="30" as="geometry"/></mxCell><mxCell id="3" value="Portal" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="150" y="120" width="50" height="30" as="geometry"/></mxCell><mxCell id="4" value="PolicyDevAPIUser" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="210" y="120" width="120" height="30" as="geometry"/></mxCell><mxCell id="5" value="PolicyDistribution" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="340" y="120" width="120" height="30" as="geometry"/></mxCell><mxCell id="8" value="SDC" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="375" y="70" width="50" height="30" as="geometry"/></mxCell><mxCell id="10" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="8" target="5" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="80" y="270" as="sourcePoint"/><mxPoint x="450" y="130" as="targetPoint"/></mxGeometry></mxCell><mxCell id="12" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="10" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="14" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="3" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="580" y="90" as="sourcePoint"/><mxPoint x="580" y="130" as="targetPoint"/><Array as="points"><mxPoint x="175" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="15" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="14" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="16" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="4" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="390" y="150" as="sourcePoint"/><mxPoint x="445" y="230" as="targetPoint"/><Array as="points"><mxPoint x="270" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="17" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="16" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="18" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="5" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="395" y="160" as="sourcePoint"/><mxPoint x="445" y="230" as="targetPoint"/><Array as="points"><mxPoint x="400" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="19" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="18" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="20" value="PolicyDevGUI" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="40" y="120" width="100" height="30" as="geometry"/></mxCell><mxCell id="21" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="20" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="255" y="160" as="sourcePoint"/><mxPoint x="440" y="220" as="targetPoint"/><Array as="points"><mxPoint x="90" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="22" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="21" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="24" value="PolicyDB" style="shape=cylinder;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="502" y="290" width="80" height="30" as="geometry"/></mxCell><mxCell id="31" value="PolicyAdminGUI" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="472" y="80" width="110" height="30" as="geometry"/></mxCell><mxCell id="33" value="PolicyAdministration" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="522" y="220" width="140" height="30" as="geometry"/></mxCell><mxCell id="34" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;" parent="1" source="31" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="372" y="160" as="sourcePoint"/><mxPoint x="307" y="230" as="targetPoint"/><Array as="points"><mxPoint x="527" y="130"/><mxPoint x="592" y="130"/></Array></mxGeometry></mxCell><mxCell id="35" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="34" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="46" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.75;exitY=1;" parent="1" source="2" target="24" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="270" y="280" as="sourcePoint"/><mxPoint x="425" y="375" as="targetPoint"/><Array as="points"><mxPoint x="370" y="250"/><mxPoint x="370" y="270"/><mxPoint x="542" y="270"/></Array></mxGeometry></mxCell><mxCell id="47" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="46" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="48" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="33" target="24" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="670" y="310" as="sourcePoint"/><mxPoint x="730" y="360" as="targetPoint"/><Array as="points"><mxPoint x="592" y="270"/><mxPoint x="542" y="270"/></Array></mxGeometry></mxCell><mxCell id="49" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="48" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="58" value="PolicyAdminAPIUser" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="597" y="80" width="135" height="30" as="geometry"/></mxCell><mxCell id="59" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="58" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="537" y="160" as="sourcePoint"/><mxPoint x="522" y="200" as="targetPoint"/><Array as="points"><mxPoint x="665" y="130"/><mxPoint x="592" y="130"/></Array></mxGeometry></mxCell><mxCell id="60" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="59" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="62" value="PolicyExecution" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="920" y="220" width="100" height="30" as="geometry"/></mxCell><mxCell id="63" value="DMaaP" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="770" y="305" width="100" height="30" as="geometry"/></mxCell><mxCell id="64" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" parent="1" source="63" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="410" y="160" as="sourcePoint"/><mxPoint x="710" y="235" as="targetPoint"/><Array as="points"><mxPoint x="750" y="320"/><mxPoint x="750" y="235"/></Array></mxGeometry></mxCell><mxCell id="65" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="64" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="66" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" parent="1" source="62" target="63" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="780" y="245" as="sourcePoint"/><mxPoint x="710" y="245" as="targetPoint"/></mxGeometry></mxCell><mxCell id="67" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="66" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="68" value="AsyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="870" y="120" width="90" height="30" as="geometry"/></mxCell><mxCell id="69" value="SyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="970" y="120" width="80" height="30" as="geometry"/></mxCell><mxCell id="70" value="" style="endArrow=classic;startArrow=classic;html=1;entryX=0.5;entryY=1;exitX=0.75;exitY=0;" parent="1" source="62" target="69" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="50" y="440" as="sourcePoint"/><mxPoint x="100" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="73" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=0;exitX=0.5;exitY=1;" parent="1" source="68" target="62" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="50" y="440" as="sourcePoint"/><mxPoint x="100" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="74" value="" style="endArrow=classic;html=1;entryX=0.75;entryY=1;exitX=0.5;exitY=0;" parent="1" source="62" target="68" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="900" y="400" as="sourcePoint"/><mxPoint x="955" y="230" as="targetPoint"/></mxGeometry></mxCell><mxCell id="75" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=0;exitX=0;exitY=0.75;" parent="1" source="68" target="63" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="980" y="230" as="sourcePoint"/><mxPoint x="948" y="160" as="targetPoint"/></mxGeometry></mxCell><mxCell id="76" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=1;exitX=0.5;exitY=0;" parent="1" source="63" target="68" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="930" y="460" as="sourcePoint"/><mxPoint x="910" y="150" as="targetPoint"/></mxGeometry></mxCell><mxCell id="78" value="&lt;div&gt;Policy Artifacts and Metadata&lt;/div&gt;&lt;div&gt;PDP Group and Subgroup Definitions&lt;/div&gt;&lt;div&gt;Policy to PDP Group and Subgroup Mappings&lt;br&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="352" y="341.5" width="240" height="60" as="geometry"/></mxCell><mxCell id="80" value="" style="endArrow=none;dashed=1;html=1;entryX=0.5;entryY=0;exitX=0.5;exitY=1;strokeColor=#97D077;" parent="1" source="24" target="78" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="535" y="425" as="sourcePoint"/><mxPoint x="135" y="505" as="targetPoint"/></mxGeometry></mxCell><mxCell id="82" value="CRUD API for Policy Groups and Sub-Groups&lt;br&gt;API for Policy Deployment" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="630" y="150" width="190" height="50" as="geometry"/></mxCell><mxCell id="84" value="&lt;div&gt;Policies for a given&lt;/div&gt;&lt;div&gt;domain execute in a&lt;/div&gt;&lt;div&gt; PDP Group. PDP Groups&lt;/div&gt;&lt;div&gt; have subgroups for each&lt;/div&gt;&lt;div&gt; PDP type in a PDP group&lt;br&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="960" y="311" width="160" height="89" as="geometry"/></mxCell><mxCell id="85" value="" style="endArrow=none;dashed=1;html=1;entryX=0.75;entryY=0;exitX=0.75;exitY=1;strokeColor=#97D077;" parent="1" source="62" target="84" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="550" y="360" as="sourcePoint"/><mxPoint x="590" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="87" value="" style="endArrow=none;dashed=1;html=1;entryX=1;entryY=0.5;exitX=0.5;exitY=0;" parent="1" source="2" target="90" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="260" y="233" as="sourcePoint"/><mxPoint x="333" y="402" as="targetPoint"/></mxGeometry></mxCell><mxCell id="88" value="&lt;div&gt;Deploy&lt;/div&gt;&lt;div&gt;Retire&lt;/div&gt;&lt;div&gt;Archive&lt;br&gt;Upgrade&lt;/div&gt;&lt;div&gt;Rollback&lt;br&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#D5E8D4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="673" y="297.5" width="68" height="75" as="geometry"/></mxCell><mxCell id="89" value="" style="endArrow=none;dashed=1;html=1;entryX=0.5;entryY=0;strokeColor=#97D077;" parent="1" target="88" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="662" y="235" as="sourcePoint"/><mxPoint x="565" y="402" as="targetPoint"/></mxGeometry></mxCell><mxCell id="90" value="CRUD API for Policy Artifacts" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="130" y="185" width="110" height="35" as="geometry"/></mxCell><mxCell id="93" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=0.5;exitY=0;strokeColor=#97D077;" parent="1" source="33" target="82" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="672" y="253" as="sourcePoint"/><mxPoint x="700" y="335" as="targetPoint"/></mxGeometry></mxCell><mxCell id="94" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="10" y="278" width="30" height="13" as="geometry"/></mxCell><mxCell id="95" value="Policy Framework Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="32" y="274" width="200" height="20" as="geometry"/></mxCell><mxCell id="97" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="10" y="295" width="30" height="13" as="geometry"/></mxCell><mxCell id="98" value="Other Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="32" y="291" width="128" height="20" as="geometry"/></mxCell></root></mxGraphModel>
\ No newline at end of file
+<mxfile host="Electron" modified="2020-04-08T12:56:16.158Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.9.9 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36" version="12.9.9" etag="PXYjNIaQAZ4uMtULGwls" type="device"><diagram id="0-5FABUy0DJKN6pRLFS_" name="Page-1">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</diagram></mxfile>
\ No newline at end of file