| <?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="547.2px" preserveAspectRatio="none" style="width:1065px;height:547px;" version="1.1" viewBox="0 0 1065 547" width="1065.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f3qmjd821yfe" 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="521.5031" style="stroke: #A80036; stroke-width: 1.2;" width="429" x="250.2" y="4.8"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45.6" x="441.9" y="19.2803">Hono</text><rect fill="#FFFFFF" filter="url(#f3qmjd821yfe)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="579" y="333.5062"/><rect fill="#FFFFFF" filter="url(#f3qmjd821yfe)" height="403.0313" style="stroke: #000000; stroke-width: 2.4;" width="1038" x="14.4" y="110.0719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="139.2" x2="139.2" y1="89.6719" y2="533.5031"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="359.4" x2="359.4" y1="89.6719" y2="533.5031"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="584.4" x2="584.4" y1="89.6719" y2="533.5031"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="771.6" x2="771.6" y1="89.6719" y2="533.5031"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="984" x2="984" y1="89.6719" y2="533.5031"/><rect fill="#FEFECE" filter="url(#f3qmjd821yfe)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="87.6" x="93.6" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="70.8" x="102" y="71.3098">Gateway</text><rect fill="#FEFECE" filter="url(#f3qmjd821yfe)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="255" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="263.4" y="51.7535">Hono Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="86.4" x="313.8" y="71.3098">instance 1</text><rect fill="#FEFECE" filter="url(#f3qmjd821yfe)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="174" x="495.6" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="504" y="51.7535">Device Connection</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="126" x="519.6" y="71.3098">API component</text><rect fill="#FEFECE" filter="url(#f3qmjd821yfe)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="166.8" x="686.4" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="145.2" x="694.8" y="51.7535">AMQP messaging</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="736.2" y="71.3098">network</text><rect fill="#FEFECE" filter="url(#f3qmjd821yfe)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="928.8" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="937.2" y="71.3098">Application</text><rect fill="#FFFFFF" filter="url(#f3qmjd821yfe)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="579" y="333.5062"/><path d="M14.4,110.0719 L241.2,110.0719 L241.2,118.4719 L229.2,130.4719 L14.4,130.4719 L14.4,110.0719 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.2;"/><rect fill="none" height="403.0313" style="stroke: #000000; stroke-width: 2.4;" width="1038" x="14.4" y="110.0719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="172.8" x="32.4" y="125.7521">Command handling</text><polygon fill="#A80036" points="785.4,187.5094,773.4,192.3094,785.4,197.1094,780.6,192.3094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="778.2" x2="983.4" 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="792.6" y="168.0709">1</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="808.2" y="149.9115">attach("receiver",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="168" x="808.2" y="168.0709">"command_response/</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="813" y="186.2303">TENANT/${replyId}")</text><polygon fill="#A80036" points="785.4,240.6281,773.4,245.4281,785.4,250.2281,780.6,245.4281" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="778.2" x2="983.4" 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="792.6" y="230.2693">2</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="124.8" x="808.2" y="221.1896">attach("sender",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="162" x="808.2" y="239.349">"command/TENANT")</text><polygon fill="#A80036" points="372.6,293.7469,360.6,298.5469,372.6,303.3469,367.8,298.5469" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="365.4" x2="983.4" y1="298.5469" y2="298.5469"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="379.8" y="283.3881">3</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="542.4" x="395.4" y="274.3084">transfer("command/TENANT", "command/TENANT/4711","${payload}")</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="409.8" y="292.4678">via AMQP messaging network</text><polygon fill="#A80036" points="564.6,328.7063,576.6,333.5062,564.6,338.3063,569.4,333.5062" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="359.4" x2="571.8" y1="333.5062" y2="333.5062"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="367.8" y="327.4271">4</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="383.4" y="327.4271">Get last known gateway</text><polygon fill="#A80036" points="372.6,363.6656,360.6,368.4656,372.6,373.2656,367.8,368.4656" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 2.0,2.0;" x1="365.4" x2="583.8" y1="368.4656" y2="368.4656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="379.8" y="362.3865">5</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="48" x="395.4" y="362.3865">"gw-1"</text><polygon fill="#A80036" points="153,398.625,141,403.425,153,408.225,148.2,403.425" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="145.8" x2="358.2" y1="403.425" y2="403.425"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="160.2" y="397.3459">6</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="175.2" x="175.8" y="397.3459">Command is published</text><path d="M26.4,419.025 L26.4,467.025 L247.2,467.025 L247.2,431.025 L235.2,419.025 L26.4,419.025 " fill="#FBFB77" filter="url(#f3qmjd821yfe)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M235.2,419.025 L235.2,431.025 L247.2,431.025 L235.2,419.025 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="33.6" y="439.5053">The gateway sends the</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="195.6" x="33.6" y="457.6646">command to device 4711</text><polygon fill="#A80036" points="970.2,498.7031,982.2,503.5031,970.2,508.3031,975,503.5031" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="359.4" x2="977.4" y1="503.5031" y2="503.5031"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="367.8" y="497.424">7</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="411.6" x="383.4" y="497.424">disposition("accepted") via AMQP messaging network</text><!--MD5=[576c1c4d478207bfef6b7d9506476bb2] |
| participant Gateway order 20 |
| participant "Hono Protocol Adapter\ninstance 1" order 30 |
| participant "Device Connection\nAPI component" order 50 |
| 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 1": transfer("command/TENANT", "command/TENANT/4711","${payload}")\n via AMQP messaging network |
| "Hono Protocol Adapter\ninstance 1" -> "Device Connection\nAPI component": Get last known gateway |
| activate "Device Connection\nAPI component" |
| "Hono Protocol Adapter\ninstance 1" -> Gateway: 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 |