| <?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="663.6px" preserveAspectRatio="none" style="width:1086px;height:663px;" version="1.1" viewBox="0 0 1086 663" width="1086px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dgeg840p9dw" 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="#FFFFFF" filter="url(#f1dgeg840p9dw)" height="376.3125" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1015.8" y="218.3531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="45.9563" y2="616.2656"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="582" x2="582" y1="45.9563" y2="616.2656"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1021.2" x2="1021.2" y1="45.9563" y2="616.2656"/><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="639.0598">Device</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="512.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="520.8" y="27.5941">AMQP Adapter</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="512.4" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="520.8" y="639.0598">AMQP Adapter</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="966" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="974.4" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="966" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="974.4" y="639.0598">Application</text><rect fill="#FFFFFF" filter="url(#f1dgeg840p9dw)" height="376.3125" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1015.8" y="218.3531"/><path d="M9.6,63.9563 L9.6,111.9563 L285.6,111.9563 L285.6,75.9563 L273.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,63.9563 L273.6,75.9563 L285.6,75.9563 L273.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="16.8" y="84.4365">The device is connected and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="250.8" x="16.8" y="102.5959">authenticated with TENANT/4711</text><polygon fill="#A80036" points="568.2,143.6344,580.2,148.4344,568.2,153.2344,573,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="253.2" x="157.8" y="142.3553">1. attach("receiver", "command")</text><polygon fill="#A80036" points="162.6,178.5938,150.6,183.3937,162.6,188.1938,157.8,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="244.8" x="169.8" y="177.3146">2. attach("sender", "command")</text><polygon fill="#A80036" points="1001.4,213.5531,1013.4,218.3531,1001.4,223.1531,1006.2,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="582.6" x2="1008.6" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="334.8" x="591" y="212.274">3. transfer("event/TENANT","4711","ttd=-1")</text><polygon fill="#A80036" points="595.8,248.5125,583.8,253.3125,595.8,258.1125,591,253.3125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="588.6" x2="1014.6" y1="253.3125" y2="253.3125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="603" y="247.2334">4. transfer("command/TENANT/4711","light","ON")</text><path d="M386.4,268.9125 L386.4,334.9125 L774,334.9125 L774,280.9125 L762,268.9125 L386.4,268.9125 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M762,268.9125 L762,280.9125 L774,280.9125 L762,268.9125 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="291.6" x="393.6" y="289.3928">The command message is sent to the</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="303.6" x="393.6" y="307.5521">device with the 'reply-to' property set to</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="362.4" x="393.6" y="325.7115">"command_response/TENANT/4711/${replyId}"</text><polygon fill="#A80036" points="162.6,366.75,150.6,371.55,162.6,376.35,157.8,371.55" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="371.55" y2="371.55"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="169.8" y="365.4709">5. transfer("command/TENANT/4711","light","ON")</text><path d="M28.8,387.15 L28.8,453.15 L265.2,453.15 L265.2,399.15 L253.2,387.15 L28.8,387.15 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M253.2,387.15 L253.2,399.15 L265.2,399.15 L253.2,387.15 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="192" x="36" y="407.6303">In order to send back the</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="211.2" x="36" y="425.7896">response, the device opens</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="201.6" x="36" y="443.949">an anonymous sender link</text><polygon fill="#A80036" points="568.2,484.9875,580.2,489.7875,568.2,494.5875,573,489.7875" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="489.7875" y2="489.7875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="157.8" y="483.7084">6. attach("sender", null)</text><polygon fill="#A80036" points="162.6,519.9469,150.6,524.7469,162.6,529.5469,157.8,524.7469" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="524.7469" y2="524.7469"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="189.6" x="169.8" y="518.6678">7. attach("receiver", null)</text><polygon fill="#A80036" points="568.2,554.9063,580.2,559.7063,568.2,564.5063,573,559.7063" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="559.7063" y2="559.7063"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="404.4" x="157.8" y="553.6271">8. transfer("${reply-to}","status=200","lumen=100")</text><polygon fill="#A80036" points="1007.4,589.8656,1019.4,594.6656,1007.4,599.4656,1012.2,594.6656" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="582.6" x2="1014.6" y1="594.6656" y2="594.6656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="404.4" x="591" y="588.5865">9. transfer("${reply-to}","status=200","lumen=100")</text><!-- |
| Device -> "AMQP Adapter": 1. attach("receiver", "command") |
| "AMQP Adapter" -> Device: 2. attach("sender", "command") |
| "AMQP Adapter" -> Application: 3. transfer("event/TENANT","4711","ttd=-1") |
| Application -> "AMQP Adapter": 4. transfer("command/TENANT/4711","light","ON") |
| "AMQP Adapter" -> Device: 5. transfer("command/TENANT/4711","light","ON") |
| response, the device opens |
| Device -> "AMQP Adapter": 6. attach("sender", null) |
| "AMQP Adapter" -> Device: 7. attach("receiver", null) |
| Device -> "AMQP Adapter": 8. transfer("${reply-to}","status=200","lumen=100") |
| "AMQP Adapter" -> Application: 9. transfer("${reply-to}","status=200","lumen=100") |