blob: a191e614ab8ef9a1e48b83fc8dbbbb64b6062013 [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="495.6px" preserveAspectRatio="none" style="width:1159px;height:495px;" version="1.1" viewBox="0 0 1159 495" width="1159.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f14y3nnq0zl06i" 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="469.7438" style="stroke: #A80036; stroke-width: 1.2;" width="544.8" x="286.8" y="4.8"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45.6" x="536.4" y="19.2803">Hono</text><rect fill="#FFFFFF" filter="url(#f14y3nnq0zl06i)" height="142.2375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="365.4" y="328.7063"/><rect fill="#FFFFFF" filter="url(#f14y3nnq0zl06i)" height="19.2" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1072.2" y="451.7438"/><rect fill="#FFFFFF" filter="url(#f14y3nnq0zl06i)" height="196.7156" style="stroke: #000000; stroke-width: 2.4;" width="1047.6" x="98.4" y="264.6281"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="89.6719" y2="481.7438"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="370.8" x2="370.8" y1="89.6719" y2="481.7438"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="542.4" x2="542.4" y1="89.6719" y2="481.7438"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="736.8" x2="736.8" y1="89.6719" y2="481.7438"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="924" x2="924" y1="89.6719" y2="481.7438"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1077.6" x2="1077.6" y1="89.6719" y2="481.7438"/><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="71.3098">Device</text><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="154.8" x="291.6" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="138" x="300" y="51.7535">Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="318.6" y="71.3098">instance #1</text><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="154.8" x="463.2" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="138" x="471.6" y="51.7535">Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="490.2" y="71.3098">instance #2</text><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="174" x="648" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="656.4" y="51.7535">Device Connection</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="126" x="672" y="71.3098">API component</text><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="166.8" x="838.8" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="145.2" x="847.2" y="51.7535">AMQP messaging</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="888.6" y="71.3098">network</text><rect fill="#FEFECE" filter="url(#f14y3nnq0zl06i)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1022.4" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1030.8" y="71.3098">Application</text><rect fill="#FFFFFF" filter="url(#f14y3nnq0zl06i)" height="142.2375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="365.4" y="328.7063"/><rect fill="#FFFFFF" filter="url(#f14y3nnq0zl06i)" height="19.2" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1072.2" y="451.7438"/><polygon fill="#A80036" points="910.2,176.7094,922.2,181.5094,910.2,186.3094,915,181.5094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="543" x2="917.4" y1="181.5094" y2="181.5094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="551.4" y="148.1912">0</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="567" y="120.9521">Consumer link on</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="156" x="567" y="139.1115">"command/TENANT"</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="148.8" x="567" y="157.2709">created for another</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="92.4" x="567" y="175.4303">subscription</text><path d="M9.6,197.1094 L9.6,245.1094 L285.6,245.1094 L285.6,209.1094 L273.6,197.1094 L9.6,197.1094 " fill="#FBFB77" filter="url(#f14y3nnq0zl06i)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,197.1094 L273.6,209.1094 L285.6,209.1094 L273.6,197.1094 " 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="217.5896">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="235.749">authenticated with TENANT/4711</text><path d="M98.4,264.6281 L357.6,264.6281 L357.6,273.0281 L345.6,285.0281 L98.4,285.0281 L98.4,264.6281 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.2;"/><rect fill="none" height="196.7156" style="stroke: #000000; stroke-width: 2.4;" width="1047.6" x="98.4" y="264.6281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="116.4" y="280.3084">Command subscription</text><polygon fill="#A80036" points="351,323.9063,363,328.7063,351,333.5062,355.8,328.7063" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="358.2" y1="328.7063" y2="328.7063"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="157.8" y="313.5475">1</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="173.4" y="304.4678">Command subscription</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="102" x="178.2" y="322.6271">/ TTD request</text><polygon fill="#A80036" points="910.2,358.8656,922.2,363.6656,910.2,368.4656,915,363.6656" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="377.4" x2="917.4" y1="363.6656" y2="363.6656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="385.8" y="357.5865">2</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="300" x="401.4" y="357.5865">attach("receiver", "command/TENANT")</text><polygon fill="#A80036" points="723,411.9844,735,416.7844,723,421.5844,727.8,416.7844" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="377.4" x2="730.2" y1="416.7844" y2="416.7844"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="385.8" y="401.6256">3</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="401.4" y="392.5459">set command handling adapter instance</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="300" x="401.4" y="410.7053">for device 4711 to adapter instance #1</text><polygon fill="#A80036" points="1057.8,446.9437,1069.8,451.7438,1057.8,456.5438,1062.6,451.7438" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="377.4" x2="1065" y1="451.7438" y2="451.7438"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="385.8" y="445.6646">4</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="585.6" x="401.4" y="445.6646">transfer("event/TENANT","4711","ttd=${ttd}") via AMQP messaging network</text><!--MD5=[c8b432715fa26176d4dfd933528d308b]
@startuml
scale 1.2
hide footbox
participant Device order 10
box "Hono"
participant "Protocol Adapter\ninstance #1" order 30
participant "Protocol Adapter\ninstance #2" order 40
participant "Device Connection\nAPI component" order 50
end box
participant "AMQP messaging \nnetwork" order 60
participant Application order 70
autonumber 0
"Protocol Adapter\ninstance #2" -> "AMQP messaging \nnetwork": Consumer link on \n"command/TENANT"\ncreated for another \nsubscription
note over Device
The device is connected and
authenticated with TENANT/4711
end note
group Command subscription
Device -> "Protocol Adapter\ninstance #1": Command subscription\n / TTD request
activate "Protocol Adapter\ninstance #1"
"Protocol Adapter\ninstance #1" -> "AMQP messaging \nnetwork": attach("receiver", "command/TENANT")
"Protocol Adapter\ninstance #1" -> "Device Connection\nAPI component": set command handling adapter instance \nfor device 4711 to adapter instance #1
"Protocol Adapter\ninstance #1" -> Application: transfer("event/TENANT","4711","ttd=${ttd}") via AMQP messaging network
activate Application
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>