| <?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="478.8px" preserveAspectRatio="none" style="width:1600px;height:478px;" version="1.1" viewBox="0 0 1600 478" width="1600.8px" zoomAndPan="magnify"><defs><filter height="300%" id="fo1zb0wqg7eoa" 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(#fo1zb0wqg7eoa)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="305.0719"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="256.7156" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1530.6" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="169.2" x2="169.2" y1="45.9563" y2="431.55"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="828" x2="828" y1="45.9563" y2="431.55"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1536" x2="1536" y1="45.9563" y2="431.55"/><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="130.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="139.2" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="130.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="139.2" y="454.3441">Device</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="760.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="769.2" y="27.5941">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="760.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="769.2" y="454.3441">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1480.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1489.2" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1480.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1489.2" y="454.3441">Application</text><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="305.0719"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="256.7156" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1530.6" y="118.275"/><polygon fill="#A80036" points="808.2,78.5156,820.2,83.3156,808.2,88.1156,813,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="169.8" x2="815.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="178.2" y="77.2365">1. HTTP request ("POST", "/event", "hono-ttd=30")</text><polygon fill="#A80036" points="1516.2,113.475,1528.2,118.275,1516.2,123.075,1521,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="834.6" x2="1523.4" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="338.4" x="843" y="112.1959">2. transfer("event/TENANT","4711","ttd=30")</text><polygon fill="#A80036" points="847.8,148.4344,835.8,153.2344,847.8,158.0344,843,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="840.6" x2="1529.4" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="855" y="147.1553">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="183,183.3937,171,188.1938,183,192.9938,178.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="175.8" x2="821.4" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="624" x="190.2" y="182.1146">4. HTTP response (("200", "hono-cmd=light", "hono-cmd-req-id=${reqId}"), "ON")</text><polygon fill="#A80036" points="1516.2,218.3531,1528.2,223.1531,1516.2,227.9531,1521,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="828.6" x2="1523.4" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="837" y="217.074">disposition("accepted")</text><path d="M9.6,238.7531 L9.6,268.7531 L325.2,268.7531 L325.2,250.7531 L313.2,238.7531 L9.6,238.7531 " fill="#FBFB77" filter="url(#fo1zb0wqg7eoa)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M313.2,238.7531 L313.2,250.7531 L325.2,250.7531 L313.2,238.7531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="290.4" x="16.8" y="259.2334">Command response in next operation</text><polygon fill="#A80036" points="808.2,300.2719,820.2,305.0719,808.2,309.8719,813,305.0719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="169.8" x2="815.4" y1="305.0719" y2="305.0719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="536.4" x="178.2" y="298.9928">5. HTTP request("POST", "/command/res/${reqId}/200", "lumen=100")</text><polygon fill="#A80036" points="1516.2,335.2313,1528.2,340.0313,1516.2,344.8313,1521,340.0313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="834.6" x2="1523.4" y1="340.0313" y2="340.0313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="667.2" x="843" y="333.9521">6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")</text><polygon fill="#A80036" points="847.8,370.1906,835.8,374.9906,847.8,379.7906,843,374.9906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="840.6" x2="1535.4" y1="374.9906" y2="374.9906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="855" y="368.9115">disposition("accepted")</text><polygon fill="#A80036" points="183,405.15,171,409.95,183,414.75,178.2,409.95" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="175.8" x2="827.4" y1="409.95" y2="409.95"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="190.8" x="190.2" y="403.8709">7. HTTP response ("202")</text><!-- |
| participant "HTTP Adapter" |
| Device -> "HTTP Adapter": 1. HTTP request ("POST", "/event", "hono-ttd=30") |
| "HTTP Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=30") |
| Application -> "HTTP Adapter": 3. transfer("command/TENANT/4711","light","ON") |
| "HTTP Adapter" -> Device: 4. HTTP response (("200", "hono-cmd=light", "hono-cmd-req-id=${reqId}"), "ON") |
| "HTTP Adapter" -> Application: disposition("accepted") |
| deactivate "HTTP Adapter" |
| Command response in next operation |
| Device -> "HTTP Adapter": 5. HTTP request("POST", "/command/res/${reqId}/200", "lumen=100") |
| "HTTP Adapter" -> Application: 6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100") |
| Application -> "HTTP Adapter": disposition("accepted") |
| "HTTP Adapter" -> Device: 7. HTTP response ("202") |
| deactivate "HTTP Adapter" |
| PlantUML version 1.2019.07beta1(Unknown compile time) |
| (GPL source distribution) |
| Java Runtime: Java(TM) SE Runtime Environment |
| JVM: Java HotSpot(TM) 64-Bit Server VM |
| Java Version: 1.7.0_25-b15 |