| <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="620.4px" preserveAspectRatio="none" style="width:1166px;height:620px;" version="1.1" viewBox="0 0 1166 620" width="1166.4px" zoomAndPan="magnify"><defs><filter height="300%" id="fgdssr93bvf" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#DDDDDD" height="594.1406" style="stroke: #A80036; stroke-width: 1.2;" width="439.2" x="177" y="4.8"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45.6" x="373.8" y="19.2803">Hono</text><rect fill="#FFFFFF" filter="url(#fgdssr93bvf)" height="136.3969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="501" y="316.7063"/><rect fill="#FFFFFF" filter="url(#fgdssr93bvf)" height="53.1188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="867" y="453.1031"/><rect fill="#FFFFFF" filter="url(#fgdssr93bvf)" height="475.6688" style="stroke: #000000; stroke-width: 2.4;" width="1137.6" x="15.6" y="110.0719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="66" x2="66" y1="89.6719" y2="606.1406"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="286.2" x2="286.2" y1="89.6719" y2="606.1406"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="507" x2="507" y1="89.6719" y2="606.1406"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="872.4" x2="872.4" y1="89.6719" y2="606.1406"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1084.8" x2="1084.8" y1="89.6719" y2="606.1406"/><rect fill="#FEFECE" filter="url(#fgdssr93bvf)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="27.6" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="36" y="71.3098">Device</text><rect fill="#FEFECE" filter="url(#fgdssr93bvf)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="181.8" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="190.2" y="51.7535">Hono Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="86.4" x="240.6" y="71.3098">instance 1</text><rect fill="#FEFECE" filter="url(#fgdssr93bvf)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="402.6" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="411" y="51.7535">Hono Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="86.4" x="461.4" y="71.3098">instance 2</text><rect fill="#FEFECE" filter="url(#fgdssr93bvf)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="166.8" x="787.2" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="145.2" x="795.6" y="51.7535">AMQP messaging</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="837" y="71.3098">network</text><rect fill="#FEFECE" filter="url(#fgdssr93bvf)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1029.6" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1038" y="71.3098">Application</text><rect fill="#FFFFFF" filter="url(#fgdssr93bvf)" height="136.3969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="501" y="316.7063"/><rect fill="#FFFFFF" filter="url(#fgdssr93bvf)" height="53.1188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="867" y="453.1031"/><path d="M15.6,110.0719 L242.4,110.0719 L242.4,118.4719 L230.4,130.4719 L15.6,130.4719 L15.6,110.0719 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.2;"/><rect fill="none" height="475.6688" style="stroke: #000000; stroke-width: 2.4;" width="1137.6" x="15.6" y="110.0719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="172.8" x="33.6" y="125.7521">Command handling</text><polygon fill="#A80036" points="886.2,187.5094,874.2,192.3094,886.2,197.1094,881.4,192.3094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="879" x2="1084.2" y1="192.3094" y2="192.3094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="893.4" y="168.0709">1</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="909" y="149.9115">attach("receiver",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="168" x="909" y="168.0709">"command_response/</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="913.8" y="186.2303">TENANT/${replyId}")</text><polygon fill="#A80036" points="886.2,240.6281,874.2,245.4281,886.2,250.2281,881.4,245.4281" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="879" x2="1084.2" y1="245.4281" y2="245.4281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="893.4" y="230.2693">2</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="124.8" x="909" y="221.1896">attach("sender",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="162" x="909" y="239.349">"command/TENANT")</text><polygon fill="#A80036" points="526.2,311.9063,514.2,316.7063,526.2,321.5062,521.4,316.7063" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="519" x2="1084.2" y1="316.7063" y2="316.7063"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="533.4" y="292.4678">3</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="226.8" x="549" y="274.3084">transfer("command/TENANT",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="553.8" y="292.4678">"command/TENANT/4711","${payload}")</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="563.4" y="310.6271">via AMQP messaging network</text><path d="M388.8,332.3063 L388.8,398.3063 L619.2,398.3063 L619.2,344.3063 L607.2,332.3063 L388.8,332.3063 " fill="#FBFB77" filter="url(#fgdssr93bvf)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M607.2,332.3063 L607.2,344.3063 L619.2,344.3063 L607.2,332.3063 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="194.4" x="396" y="352.7865">Check if command needs</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="196.8" x="396" y="370.9459">to be mapped to gateway</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="396" y="389.1053">(no mapping needed here)</text><polygon fill="#A80036" points="852.6,448.3031,864.6,453.1031,852.6,457.9031,857.4,453.1031" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="507" x2="859.8" y1="453.1031" y2="453.1031"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="515.4" y="437.9443">4</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="244.8" x="531" y="428.8646">transfer("control/TENANT/4711",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="535.8" y="447.024">"command/TENANT/4711","${payload}")</text><polygon fill="#A80036" points="299.4,501.4219,287.4,506.2219,299.4,511.0219,294.6,506.2219" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="292.2" x2="871.8" y1="506.2219" y2="506.2219"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="306.6" y="491.0631">5</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="244.8" x="322.2" y="481.9834">transfer("control/TENANT/4711",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="327" y="500.1428">"command/TENANT/4711","${payload}")</text><polygon fill="#A80036" points="79.8,536.3813,67.8,541.1813,79.8,545.9812,75,541.1813" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="72.6" x2="285" y1="541.1813" y2="541.1813"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="87" y="535.1021">6</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="175.2" x="102.6" y="535.1021">Command is published</text><polygon fill="#A80036" points="1071,571.3406,1083,576.1406,1071,580.9406,1075.8,576.1406" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="286.2" x2="1078.2" y1="576.1406" y2="576.1406"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="294.6" y="570.0615">7</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="411.6" x="310.2" y="570.0615">disposition("accepted") via AMQP messaging network</text><!--MD5=[71ddd732be6e84b05c80e4cf67a00485] |
| participant Device order 10 |
| participant "Hono Protocol Adapter\ninstance 1" order 30 |
| participant "Hono Protocol Adapter\ninstance 2" order 40 |
| participant "AMQP messaging \nnetwork" order 60 |
| participant Application order 70 |
| Application -> "AMQP messaging \nnetwork": attach("receiver", \n"command_response/\n TENANT/${replyId}") |
| Application -> "AMQP messaging \nnetwork": attach("sender", \n"command/TENANT") |
| Application -> "Hono Protocol Adapter\ninstance 2": transfer("command/TENANT",\n "command/TENANT/4711","${payload}")\n via AMQP messaging network |
| activate "Hono Protocol Adapter\ninstance 2" |
| note over "Hono Protocol Adapter\ninstance 2" |
| "Hono Protocol Adapter\ninstance 2" -> "AMQP messaging \nnetwork": transfer("control/TENANT/4711",\n "command/TENANT/4711","${payload}") |
| deactivate "Hono Protocol Adapter\ninstance 2" |
| activate "AMQP messaging \nnetwork" |
| "AMQP messaging \nnetwork" -> "Hono Protocol Adapter\ninstance 1": transfer("control/TENANT/4711",\n "command/TENANT/4711","${payload}") |
| deactivate "AMQP messaging \nnetwork" |
| "Hono Protocol Adapter\ninstance 1" -> Device: Command is published |
| "Hono Protocol Adapter\ninstance 1" -> Application: disposition("accepted") via AMQP messaging network |
| PlantUML version 1.2019.11(Sun Sep 22 12:02:15 CEST 2019) |
| (GPL source distribution) |
| Java Runtime: OpenJDK Runtime Environment |
| JVM: OpenJDK 64-Bit Server VM |
| Java Version: 11.0.4+11-post-Ubuntu-1ubuntu218.04.3 |