Skip to content

Instantly share code, notes, and snippets.

@EliFuzz
Created October 8, 2023 17:59
Show Gist options
  • Save EliFuzz/2a55e75fbb953e58a00c371199c5179e to your computer and use it in GitHub Desktop.
Save EliFuzz/2a55e75fbb953e58a00c371199c5179e to your computer and use it in GitHub Desktop.
Hexagonal Architecture.svg
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1660px" height="871px" viewBox="-0.5 -0.5 1660 871" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-10-08T17:36:27.515Z&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2007.0&quot; version=&quot;22.0.4&quot; etag=&quot;nThFlfRvEiM4Vw9NHQMY&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;gqsie07MWTV1FZiNW_rG&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><style type="text/css" id="ge-export-svg-flow-animation">.ge-export-svg-flow-animation {&#xa;animation: ge-export-svg-flow-animation 0.5s linear;&#xa;animation-iteration-count: infinite;&#xa;}&#xa;@keyframes ge-export-svg-flow-animation {&#xa;to {&#xa;stroke-dashoffset: -16;&#xa;}&#xa;}</style></defs><g><rect x="0" y="0" width="1659" height="870" fill="#ffffff" stroke="none" pointer-events="all"/><rect x="819" y="0.81" width="840" height="869.79" fill-opacity="0.5" fill="#ff9999" stroke="none" pointer-events="all"/><path d="M 822.7 782.4 C 690.08 783.66 566.89 717.28 499.81 608.4 C 432.73 499.51 432.02 364.79 497.96 255.28 C 563.89 145.77 686.37 78.21 819 78.21" fill="none" stroke="#ffe6cc" stroke-width="120" stroke-miterlimit="10" transform="rotate(-180,819,430.32)" pointer-events="all"/><path d="M 824.65 741.19 C 712.8 742.32 608.96 683.3 552.71 586.62 C 496.45 489.95 496.44 370.51 552.69 273.82 C 608.94 177.14 712.77 118.11 824.62 119.23" fill="none" stroke="#ffcc99" stroke-width="40" stroke-miterlimit="10" transform="rotate(-180,821.51,430.21)" pointer-events="all"/><rect x="0" y="0.21" width="819" height="869.79" fill-opacity="0.5" fill="#99ffcc" stroke="#9999ff" stroke-opacity="0.5" pointer-events="all"/><path d="M 819.55 779.98 C 602.67 778.06 428 621.93 428 430 C 428 238.07 602.67 81.94 819.55 80.02" fill="none" stroke="#ccffff" stroke-width="120" stroke-miterlimit="10" pointer-events="all"/><path d="M 819.65 740.19 C 707.8 741.32 603.96 682.3 547.71 585.62 C 491.45 488.95 491.44 369.51 547.69 272.82 C 603.94 176.14 707.77 117.11 819.62 118.23" fill="none" stroke="#99ff99" stroke-width="40" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="819.01" cy="424.21" rx="142" ry="142" fill-opacity="0.7" fill="#99ccff" stroke="#99ccff" stroke-opacity="0.7" pointer-events="all"/><ellipse cx="816.51" cy="421.71" rx="172.5" ry="172.5" fill="none" stroke="#cc99ff" stroke-opacity="0.7" pointer-events="all"/><path d="M 539.93 429.22 L 679.47 190 L 958.54 190 L 1098.08 429.22 L 958.54 668.43 L 679.47 668.43 Z" fill-opacity="0.5" fill="#cc99ff" stroke="#cc99ff" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="819.01" cy="429.21" rx="65" ry="65" fill="none" stroke="#9999ff" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 429px; margin-left: 755px;"><div data-drawio-colors="color: #4D4D4D; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(77, 77, 77); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#ffffff">Domain Model</font></div></div></div></foreignObject><text x="819" y="433" fill="#4D4D4D" font-family="Helvetica" font-size="12px" text-anchor="middle">Domain Model</text></switch></g><ellipse cx="816.51" cy="421.71" rx="105" ry="105" fill="none" stroke="#9999ff" pointer-events="all"/><rect x="766.51" y="334.21" width="105" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 103px; height: 1px; padding-top: 349px; margin-left: 768px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Domain Service</div></div></div></foreignObject><text x="819" y="353" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Domain Service</text></switch></g><rect x="775.01" y="286.21" width="86" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 84px; height: 1px; padding-top: 301px; margin-left: 776px;"><div data-drawio-colors="color: #6666FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(102, 102, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Domain Layer</div></div></div></foreignObject><text x="818" y="305" fill="#6666FF" font-family="Helvetica" font-size="12px" text-anchor="middle">Domain Layer</text></switch></g><rect x="757.76" y="252.21" width="117.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 267px; margin-left: 759px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Application Services</div></div></div></foreignObject><text x="817" y="271" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Application Services</text></switch></g><rect x="760.26" y="218.5" width="117.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 234px; margin-left: 761px;"><div data-drawio-colors="color: #B266FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(178, 102, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Application Layer</div></div></div></foreignObject><text x="819" y="237" fill="#B266FF" font-family="Helvetica" font-size="12px" text-anchor="middle">Application Layer</text></switch></g><rect x="802.14" y="190" width="33.75" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 32px; height: 1px; padding-top: 205px; margin-left: 803px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Ports</div></div></div></foreignObject><text x="819" y="209" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Ports</text></switch></g><rect x="770.82" y="638.43" width="94.38" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 653px; margin-left: 772px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Application Core</div></div></div></foreignObject><text x="818" y="657" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Application Core</text></switch></g><rect x="20.86" y="36.5" width="220" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 52px; margin-left: 22px;"><div data-drawio-colors="color: #00CC66; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(0, 204, 102); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Primary/Driving Adapters</div></div></div></foreignObject><text x="131" y="57" fill="#00CC66" font-family="Helvetica" font-size="18px" text-anchor="middle">Primary/Driving Adapters</text></switch></g><rect x="1379" y="36.5" width="240" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 52px; margin-left: 1380px;"><div data-drawio-colors="color: #FF8000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 128, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Secondary/Driven Adapters</div></div></div></foreignObject><text x="1499" y="57" fill="#FF8000" font-family="Helvetica" font-size="18px" text-anchor="middle">Secondary/Driven Adapters</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 174.94 202.9 L 200.7 202.9 Q 210.7 202.9 210.7 212.9 L 210.7 245.2 Q 210.7 255.2 220.7 255.2 L 251.75 255.21" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 258.75 255.21 L 251.75 257.54 L 251.75 252.88 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="157.83" cy="202.89" rx="17.105" ry="17.105" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 144.15 213.16 C 145.09 210.85 149.03 209.16 153.73 209.05 C 154.03 209.1 154.34 209.02 154.57 208.82 C 154.8 208.62 154.93 208.33 154.93 208.03 C 155.16 205.84 154.33 203.68 152.7 202.21 C 152.29 202.21 151.95 201.37 151.95 200.33 C 151.95 199.29 152.29 198.45 152.7 198.45 C 152.51 196.94 152.95 195.42 153.93 194.25 C 154.9 193.08 156.32 192.37 157.83 192.29 C 159.35 192.37 160.77 193.08 161.74 194.25 C 162.72 195.42 163.16 196.94 162.97 198.45 C 163.38 198.45 163.72 199.29 163.72 200.33 C 163.72 201.37 163.38 202.21 162.97 202.21 C 161.34 203.68 160.51 205.84 160.74 208.03 C 160.74 208.33 160.87 208.62 161.1 208.82 C 161.33 209.02 161.64 209.1 161.94 209.05 C 166.64 209.16 170.58 210.85 171.52 213.16" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 174.94 255.4 L 207.9 255.4 Q 217.9 255.4 227.9 255.29 L 251.71 255.01" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 258.71 254.93 L 251.74 257.34 L 251.68 252.68 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="136.86" y="243" width="38.08" height="20.94" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 155.9 263.94 L 155.9 267.75 M 152.09 267.75 L 159.71 267.75" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 162.4 307.5 L 201.6 307.5 Q 211.6 307.5 211.6 297.5 L 211.6 265.2 Q 211.6 255.2 221.6 255.2 L 252.27 255.19" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 259.27 255.19 L 252.27 257.53 L 252.27 252.86 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="141.4" y="290" width="21" height="35" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 141.4 292.8 L 162.4 292.8 M 141.4 319.75 L 162.4 319.75 M 150.85 322.38 L 152.95 322.38" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 298.33 250.2 L 355 250.2 Q 365 250.2 365 240.2 L 365 150 Q 365 140 375 140 L 522.9 140" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 529.9 140 L 522.9 142.33 L 522.9 137.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 298.29 251.11 L 355 251.1 Q 365 251.1 365 261.1 L 365 352 Q 365 362 375 362 L 391.9 362" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.9 362 L 391.9 364.33 L 391.9 359.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 298.33 250.2 L 356.2 250.2 Q 366.2 250.2 376.2 250.24 L 455.9 250.59" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 462.9 250.62 L 455.89 252.92 L 455.91 248.25 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path d="M 293.5 260 C 296.32 259.66 298.33 257.13 298 254.34 C 297.66 251.55 295.1 249.55 292.28 249.89 C 292.25 245.72 289.3 242.13 285.18 241.25 C 281.06 240.38 276.89 242.46 275.13 246.25 C 273.83 244.78 271.77 244.22 269.9 244.84 C 268.02 245.46 266.71 247.13 266.56 249.08 C 263.52 248.97 260.96 251.32 260.84 254.34 C 260.73 257.35 263.11 259.89 266.15 260 Z" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 284.11 253.93 C 283.73 256.04 282.09 257.71 279.97 258.15 C 277.85 258.59 275.68 257.7 274.48 255.92 C 273.27 254.13 273.29 251.8 274.51 250.03 C 275.73 248.26 277.92 247.41 280.03 247.87 M 278.81 247.26 L 280.03 247.87 L 278.81 248.27" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 267px; margin-left: 280px;"><div data-drawio-colors="color: #66FF66; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(102, 255, 102); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 12px;">Web Server</font></div></div></div></foreignObject><text x="280" y="285" fill="#66FF66" font-family="Helvetica" font-size="18px" text-anchor="middle">Web...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 174.94 642.1 L 208.7 642.1 Q 218.7 642.1 228.7 642.3 L 253.02 642.79" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260.02 642.93 L 252.97 645.12 L 253.07 640.45 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="157.84" cy="642.1" rx="17.105" ry="17.105" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 144.15 652.36 C 145.09 650.05 149.03 648.36 153.73 648.25 C 154.03 648.3 154.34 648.22 154.57 648.02 C 154.8 647.82 154.93 647.53 154.93 647.23 C 155.16 645.04 154.33 642.88 152.7 641.41 C 152.29 641.41 151.95 640.57 151.95 639.53 C 151.95 638.49 152.29 637.65 152.7 637.65 C 152.51 636.14 152.95 634.62 153.93 633.45 C 154.9 632.28 156.32 631.57 157.84 631.49 C 159.35 631.57 160.77 632.28 161.74 633.45 C 162.72 634.62 163.16 636.14 162.97 637.65 C 163.38 637.65 163.72 638.49 163.72 639.53 C 163.72 640.57 163.38 641.41 162.97 641.41 C 161.34 642.88 160.51 645.04 160.74 647.23 C 160.74 647.53 160.87 647.82 161.1 648.02 C 161.33 648.22 161.64 648.3 161.94 648.25 C 166.64 648.36 170.58 650.05 171.52 652.36" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 666px; margin-left: 158px;"><div data-drawio-colors="color: #66FF66; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(102, 255, 102); line-height: 1.2; pointer-events: all; white-space: nowrap;">technical users<br />cron jobs</div></div></div></foreignObject><text x="158" y="684" fill="#66FF66" font-family="Helvetica" font-size="18px" text-anchor="middle">tech...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 296.53 642.2 L 348.7 642.2 Q 358.7 642.2 368.7 642.12 L 447.24 641.48" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 454.24 641.43 L 447.26 643.82 L 447.22 639.15 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="262.53" y="625.2" width="34" height="34" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 262.53 629.28 L 296.53 629.28 M 263.89 627.24 L 264.57 627.24 M 265.59 627.24 L 266.27 627.24 M 267.29 627.24 L 295.17 627.24" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 666px; margin-left: 280px;"><div data-drawio-colors="color: #66FF66; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(102, 255, 102); line-height: 1.2; pointer-events: all; white-space: nowrap;">CLI</div></div></div></foreignObject><text x="280" y="678" fill="#66FF66" font-family="Helvetica" font-size="12px" text-anchor="middle">CLI</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 667.36 219.55 L 642.7 219.51 Q 632.7 219.5 632.7 209.5 L 632.7 165 Q 632.7 155 622.7 155 L 599.76 155" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 592.76 155 L 599.76 152.67 L 599.76 157.33 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="497" y="125" width="120" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(-60,557,155)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 557 155)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 155px; margin-left: 498px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Admin GUI<br />Views &amp; Controllers </div></div></div></foreignObject><text x="557" y="159" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Admin GUI...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 627.84 285.86 L 588.5 285.89 Q 578.5 285.9 578.5 275.9 L 578.5 270.75 Q 578.5 265.6 568.5 265.6 L 532.76 265.61" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 525.76 265.61 L 532.76 263.28 L 532.76 267.94 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="430" y="235.62" width="120" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#66b2ff" stroke="none" transform="rotate(-60,490,265.62)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 490 265.62)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 266px; margin-left: 431px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SOAP / REST<br />Controllers</div></div></div></foreignObject><text x="490" y="269" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">SOAP / REST...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 572.67 378.03 L 518.1 378 Q 508.1 378 508.1 377.5 L 508.1 377.25 Q 508.1 377 498.1 377 L 468.76 377" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 461.76 377 L 468.76 374.67 L 468.76 379.33 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="366" y="347" width="120" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#33ff99" stroke="none" transform="rotate(-60,426,377)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 426 377)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 377px; margin-left: 367px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Consumer GUI<br />Views &amp; Controllers </div></div></div></foreignObject><text x="426" y="381" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Consumer GUI...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 616.33 542.5 L 580.1 542.5 Q 570.1 542.5 570.1 552.5 L 570.1 614.2 Q 570.1 624.2 560.1 624.2 L 524.67 624.21" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 517.67 624.21 L 524.67 621.87 L 524.67 626.54 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="419.93" y="594.21" width="120" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#33ff99" stroke="none" transform="rotate(-125,479.93,624.21)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-125 479.9300000000003 624.21)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 624px; margin-left: 421px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Console Commands</div></div></div></foreignObject><text x="480" y="628" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Console Commands</text></switch></g><rect x="699" y="50" width="120" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 65px; margin-left: 700px;"><div data-drawio-colors="color: #66FF66; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(102, 255, 102); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">User Interface</div></div></div></foreignObject><text x="759" y="70" fill="#66FF66" font-family="Helvetica" font-size="18px" text-anchor="middle">User Interface</text></switch></g><rect x="659.32" y="117.67" width="141.52" height="30" fill="none" stroke="none" transform="rotate(-15,730.08,132.67)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-15 730.0799999999997 132.67000000000007)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 133px; margin-left: 660px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Command Query Bus</div></div></div></foreignObject><text x="730" y="137" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Command Query Bus</text></switch></g><rect x="650.51" y="212.07" width="60" height="30" fill="none" stroke="none" transform="rotate(-60,680.51,227.07)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 680.5100000000002 227.06999999999994)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 227px; margin-left: 652px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Queries</div></div></div></foreignObject><text x="681" y="231" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Queries</text></switch></g><rect x="609" y="280.21" width="60" height="30" fill="none" stroke="none" transform="rotate(-60,639,295.21)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 639.0000000000009 295.21000000000004)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 295px; margin-left: 610px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Commands</div></div></div></foreignObject><text x="639" y="299" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Commands</text></switch></g><rect x="512.51" y="375" width="139" height="30" fill="none" stroke="none" transform="rotate(-60,582.01,390)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 582.0100000000002 390)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 137px; height: 1px; padding-top: 390px; margin-left: 514px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Services Interface</div></div></div></foreignObject><text x="582" y="394" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Services Interface</text></switch></g><rect x="599.32" y="520" width="60" height="30" fill="none" stroke="none" transform="rotate(-120,629.32,535)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-120 629.3200000000006 535)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 535px; margin-left: 600px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Services<br />Interface</div></div></div></foreignObject><text x="629" y="539" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Services...</text></switch></g><rect x="929.01" y="216.07" width="60" height="30" fill="none" stroke="none" transform="rotate(60,959.01,231.07)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(60 959.0100000000002 231.06999999999994)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 231px; margin-left: 930px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CQ Bus</div></div></div></foreignObject><text x="959" y="235" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">CQ Bus</text></switch></g><rect x="961.01" y="272" width="60" height="30" fill="none" stroke="none" transform="rotate(60,991.01,287)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(60 991.0100000000002 287)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 287px; margin-left: 962px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">E Bus</div></div></div></foreignObject><text x="991" y="291" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">E Bus</text></switch></g><rect x="999" y="340" width="60" height="30" fill="none" stroke="none" transform="rotate(60,1029,355)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(60 1029 355)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 355px; margin-left: 1000px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Notifications</div></div></div></foreignObject><text x="1029" y="359" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Notifica...</text></switch></g><rect x="1009" y="464.21" width="60" height="30" fill="none" stroke="none" transform="rotate(-60,1039,479.21)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 1039 479.21000000000004)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 479px; margin-left: 1010px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search</div></div></div></foreignObject><text x="1039" y="483" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Search</text></switch></g><rect x="939" y="590" width="60" height="30" fill="none" stroke="none" transform="rotate(-60,969,605)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 969 605)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 605px; margin-left: 940px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Persistance</div></div></div></foreignObject><text x="969" y="609" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Persista...</text></switch></g><rect x="849" y="51.21" width="120" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 66px; margin-left: 850px;"><div data-drawio-colors="color: #FF9933; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 153, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Infrastructure</div></div></div></foreignObject><text x="909" y="72" fill="#FF9933" font-family="Helvetica" font-size="18px" text-anchor="middle">Infrastructure</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 972 223.57 L 972 224.28 Q 972 225 982 225 L 1001.8 225 Q 1011.8 225 1011.8 215 L 1011.8 202.69" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1011.8 195.69 L 1014.13 202.69 L 1009.46 202.69 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1057.67 190.07 L 1119 190.1 Q 1129 190.1 1129 182.11 L 1129 174.12" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1129 167.12 L 1131.33 174.12 L 1126.66 174.12 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="994.01" y="140" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(35,1029,170)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(35 1029.0049999999992 170)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 170px; margin-left: 995px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CQ Bus<br />Adapter</div></div></div></foreignObject><text x="1029" y="174" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">CQ Bus...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1002.38 278.98 L 1023.5 278.99 Q 1033.5 279 1033.5 269 L 1033.5 264 Q 1033.5 259 1043.5 258.99 L 1064.66 258.97" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1071.66 258.96 L 1064.67 261.3 L 1064.66 256.64 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1115.21 216.54 L 1122.1 216.52 Q 1129 216.5 1129 206.5 L 1129 174.12" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1129 167.12 L 1131.33 174.12 L 1126.66 174.12 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1059" y="207.75" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(45,1093.99,237.75)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(45 1093.995 237.75)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 238px; margin-left: 1060px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Event Bus<br />Adapter</div></div></div></foreignObject><text x="1094" y="241" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Event Bus...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1163.99 136 L 1241.88 136" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1248.88 136 L 1241.88 138.33 L 1241.88 133.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1094" y="106" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#66b2ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 136px; margin-left: 1095px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Message<br />Bus</div></div></div></foreignObject><text x="1129" y="140" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Message...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1319.99 136 L 1329.74 136 Q 1339.5 136 1339.5 135.5 L 1339.5 135.25 Q 1339.5 135 1345.19 135 L 1350.88 135" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1357.88 135 L 1350.88 137.33 L 1350.88 132.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1250" y="106" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 136px; margin-left: 1251px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Message Queue<br />Adapter</div></div></div></foreignObject><text x="1285" y="140" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Message Que...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1428.99 135 L 1437.74 135 Q 1446.5 135 1451.19 134.91 L 1455.88 134.82" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1462.88 134.69 L 1455.93 137.16 L 1455.84 132.49 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1359" y="105" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#66b2ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 135px; margin-left: 1360px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Message<br />Queue</div></div></div></foreignObject><text x="1394" y="139" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Message...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1533.99 134.67 L 1553.88 134.67" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1560.88 134.67 L 1553.88 137 L 1553.88 132.34 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1464" y="104.67" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 135px; margin-left: 1465px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Queue<br />Adapter</div></div></div></foreignObject><text x="1499" y="138" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Queue...</text></switch></g><path d="M 1572 109.67 C 1572 101.39 1585.43 94.67 1602 94.67 C 1609.96 94.67 1617.59 96.25 1623.21 99.06 C 1628.84 101.88 1632 105.69 1632 109.67 L 1632 159.67 C 1632 167.95 1618.57 174.67 1602 174.67 C 1585.43 174.67 1572 167.95 1572 159.67 Z" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" transform="rotate(-90,1602,134.67)" pointer-events="all"/><path d="M 1632 109.67 C 1632 117.95 1618.57 124.67 1602 124.67 C 1585.43 124.67 1572 117.95 1572 109.67" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" transform="rotate(-90,1602,134.67)" pointer-events="all"/><rect x="1549.5" y="169" width="105.01" height="44" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 103px; height: 1px; padding-top: 191px; margin-left: 1551px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Queue<br style="font-size: 12px;" />(Kafka/RabbitMQ)</div></div></div></foreignObject><text x="1602" y="195" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Queue...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1038.99 349.99 L 1068.5 350 Q 1078.5 350 1078.5 340 L 1078.5 327 Q 1078.5 317 1088.5 317 L 1098.83 317" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1105.83 317 L 1098.83 319.33 L 1098.83 314.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1169.06 317 L 1253.9 317 Q 1263.9 317 1263.9 316.5 L 1263.9 316.25 Q 1263.9 316 1273.9 316.01 L 1340.43 316.04" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1347.43 316.05 L 1340.42 318.38 L 1340.43 313.71 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1103.01" y="287" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(75,1138.01,317)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(75 1138.005 317)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 317px; margin-left: 1104px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SMS<br />Adapter </div></div></div></foreignObject><text x="1138" y="321" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">SMS...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1039 350 L 1069 350 Q 1079 350 1079 360 L 1079 370 Q 1079 380 1088.92 381.27 L 1117.78 384.97" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1124.72 385.86 L 1117.48 387.29 L 1118.07 382.66 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1187.46 390 L 1265.8 390 Q 1275.8 390 1285.8 390.06 L 1349.03 390.48" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1356.03 390.52 L 1349.01 392.81 L 1349.04 388.14 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1122" y="360" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(80,1156.99,390)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(80 1156.995 390)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 390px; margin-left: 1123px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Email<br />Adapter </div></div></div></foreignObject><text x="1157" y="394" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Email...</text></switch></g><path d="M 1377.34 303 C 1379.92 303 1382.01 305.09 1382.01 307.67 L 1382.01 317 C 1382.01 319.58 1379.92 321.67 1377.34 321.67 L 1363.34 321.67 L 1358.67 326.33 L 1358.67 321.67 L 1356.34 321.67 C 1353.76 321.67 1351.67 319.58 1351.67 317 L 1351.67 307.67 C 1351.67 305.09 1353.76 303 1356.34 303 Z" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 1393.67 307.67 C 1396.25 307.67 1398.34 309.76 1398.34 312.33 L 1398.34 321.67 C 1398.34 324.24 1396.25 326.33 1393.67 326.33 L 1391.34 326.33 L 1391.34 331 L 1386.67 326.33 L 1372.67 326.33 C 1370.09 326.33 1368 324.24 1368 321.67 L 1368 312.33 C 1368 309.76 1370.09 307.67 1372.67 307.67 Z" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 338px; margin-left: 1375px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;">SMS Server</div></div></div></foreignObject><text x="1375" y="350" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">SMS Serv...</text></switch></g><path d="M 1359 400 L 1359 382.4 L 1375 368 L 1391 382.4 L 1391 400 Z" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 1359 400 L 1375 385.6 L 1391 400 M 1359 382.4 L 1368.76 391.2 M 1391 382.4 L 1381.24 391.2" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 407px; margin-left: 1375px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;">Mailing Server</div></div></div></foreignObject><text x="1375" y="419" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Maili...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1051.99 486.71 L 1077.4 486.7 Q 1087.4 486.7 1087.4 496.7 L 1087.4 520 Q 1087.4 530 1097.4 530 L 1107.96 530" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1114.96 530 L 1107.96 532.33 L 1107.96 527.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1179.93 530 L 1264.6 530 Q 1274.6 530 1284.6 530.01 L 1352.57 530.06" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1359.57 530.06 L 1352.57 532.39 L 1352.57 527.73 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1113.01" y="500" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(110,1148.01,530)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(110 1148.005 530)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 530px; margin-left: 1114px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search<br />Adapter </div></div></div></foreignObject><text x="1148" y="534" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Search...</text></switch></g><ellipse cx="1375" cy="528" rx="14" ry="14" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" pointer-events="all"/><path d="M 1384.8 537.8 L 1396 549" fill="none" stroke="#0080f0" stroke-opacity="0.5" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 556px; margin-left: 1379px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;">Search Engine<br />(ElasticSearch)</div></div></div></foreignObject><text x="1379" y="568" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Search...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 981.99 612.5 L 997 612.5 Q 1007 612.5 1007 622.5 L 1007 650 Q 1007 660 1012.09 660 L 1017.18 659.99" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1024.18 659.99 L 1017.19 662.33 L 1017.18 657.66 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1067.73 702.41 L 1114.87 702.43" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1121.87 702.43 L 1114.87 704.76 L 1114.87 700.09 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1011.52" y="651.2" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" transform="rotate(135,1046.52,681.2)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(135 1046.5150000000003 681.2)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 681px; margin-left: 1013px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ORM<br />Adapter </div></div></div></foreignObject><text x="1047" y="685" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">ORM...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1192.98 702.4 L 1236 702.4 Q 1246 702.4 1246 692.4 L 1246 648.4 Q 1246 638.4 1256 638.41 L 1290.88 638.43" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1297.88 638.43 L 1290.88 640.76 L 1290.88 636.09 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1192.98 702.4 L 1236 702.4 Q 1246 702.4 1246 712.4 L 1246 780 Q 1246 790 1256 790 L 1290.88 790" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1297.88 790 L 1290.88 792.33 L 1290.88 787.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1122.99" y="672.43" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#66b2ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 702px; margin-left: 1124px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ORM</div></div></div></foreignObject><text x="1158" y="706" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">ORM</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1368.99 638.43 L 1478.37 638.43" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1485.37 638.43 L 1478.37 640.76 L 1478.37 636.1 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1299" y="608.43" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 638px; margin-left: 1300px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PostgreSQL<br />Adapter</div></div></div></foreignObject><text x="1334" y="642" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">PostgreSQL...</text></switch></g><path stroke-dasharray="8" class="ge-export-svg-flow-animation" d="M 1368.99 790 L 1478.37 790" fill="none" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1485.37 790 L 1478.37 792.33 L 1478.37 787.67 Z" fill="#66b2ff" stroke="#66b2ff" stroke-miterlimit="10" pointer-events="all"/><rect x="1299" y="760" width="69.99" height="60" rx="9" ry="9" fill-opacity="0.5" fill="#9999ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 790px; margin-left: 1300px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SQLite<br />Adapter</div></div></div></foreignObject><text x="1334" y="794" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">SQLite...</text></switch></g><path d="M 1486.49 620.68 C 1486.49 626.68 1533.99 626.68 1533.99 620.68" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 623.68 C 1486.49 629.68 1533.99 629.68 1533.99 623.68" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 626.68 C 1486.49 632.68 1533.99 632.68 1533.99 626.68" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 620.68 C 1486.49 612.68 1533.99 612.68 1533.99 620.68 L 1533.99 656.18 C 1533.99 664.18 1486.49 664.18 1486.49 656.18 Z" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 669px; margin-left: 1487px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PRO DB<br />(PostgreSQL)</div></div></div></foreignObject><text x="1510" y="681" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">PRO DB...</text></switch></g><path d="M 1486.49 772.25 C 1486.49 778.25 1533.99 778.25 1533.99 772.25" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 775.25 C 1486.49 781.25 1533.99 781.25 1533.99 775.25" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 778.25 C 1486.49 784.25 1533.99 784.25 1533.99 778.25" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1486.49 772.25 C 1486.49 764.25 1533.99 764.25 1533.99 772.25 L 1533.99 807.75 C 1533.99 815.75 1486.49 815.75 1486.49 807.75 Z" fill="none" stroke="#ff99cc" stroke-opacity="0.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 821px; margin-left: 1487px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Test DB<br />(SQLite)</div></div></div></foreignObject><text x="1510" y="833" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Test DB...</text></switch></g><rect x="861.01" y="117.67" width="89.51" height="30" fill="none" stroke="none" transform="rotate(15,905.77,132.67)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(15 905.7650000000003 132.67000000000007)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 133px; margin-left: 862px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Event Bus</div></div></div></foreignObject><text x="906" y="137" fill="#FFFFFF" font-family="Helvetica" font-size="14px" text-anchor="middle">Event Bus</text></switch></g><rect x="584.78" y="309.37" width="142.12" height="27" rx="4.05" ry="4.05" fill-opacity="0.5" fill="#99ff99" stroke="none" transform="rotate(-60,655.84,322.87)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-60 655.8399999999997 322.87)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 323px; margin-left: 586px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">C/Q Handlers</div></div></div></foreignObject><text x="656" y="326" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">C/Q Handlers</text></switch></g><rect x="903" y="301" width="142.12" height="27" rx="4.05" ry="4.05" fill-opacity="0.5" fill="#ffcc99" stroke="none" transform="rotate(60,974.06,314.5)" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(60 974.059999999999 314.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 315px; margin-left: 904px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Event Listeners</div></div></div></foreignObject><text x="974" y="318" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Event Listeners</text></switch></g><rect x="842" y="455.21" width="107.11" height="27" rx="4.05" ry="4.05" fill-opacity="0.5" fill="#66b2ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 469px; margin-left: 843px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Aggregate<br />Entities</div></div></div></foreignObject><text x="896" y="472" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Aggregate...</text></switch></g><rect x="961.01" y="455.72" width="67.99" height="27" rx="4.05" ry="4.05" fill-opacity="0.5" fill="#b266ff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 66px; height: 1px; padding-top: 469px; margin-left: 962px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Use Cases</div></div></div></foreignObject><text x="995" y="473" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Use Cases</text></switch></g><rect x="835.89" y="440" width="197.11" height="47" rx="7.05" ry="7.05" fill="none" stroke="#66b2ff" stroke-opacity="0.5" pointer-events="all"/><rect x="910" y="433.21" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 448px; margin-left: 911px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Component</div></div></div></foreignObject><text x="940" y="452" fill="#FFFFFF" font-family="Helvetica" font-size="12px" text-anchor="middle">Component</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/></switch></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment