blob: 60eb30641f68ce41f3d0d2afd3034e55485d6f22 [file] [log] [blame]
<?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]
@startuml
scale 1.2
hide footbox
participant Gateway order 20
box "Hono"
participant "Hono Protocol Adapter\ninstance 1" order 30
participant "Device Connection\nAPI component" order 50
end box
participant "AMQP messaging \nnetwork" order 60
participant Application order 70
autonumber
group Command handling
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"
return "gw-1"
"Hono Protocol Adapter\ninstance 1" -> Gateway: Command is published
note over Gateway
The gateway sends the
command to device 4711
end note
"Hono Protocol Adapter\ninstance 1" -> Application: disposition("accepted") via AMQP messaging network
end
@enduml
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
Operating System: Linux
Default Encoding: UTF-8
Language: de
Country: DE
--></g></svg>