blob: df1dad1b6c6c995879b049643c7c772a12834996 [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="578.4px" preserveAspectRatio="none" style="width:1095px;height:578px;" version="1.1" viewBox="0 0 1095 578" width="1095.6px" zoomAndPan="magnify"><defs><filter height="300%" id="fxufgiin6qiiw" 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="553.0219" style="stroke: #A80036; stroke-width: 1.2;" width="420" x="294" y="4.8"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45.6" x="481.2" y="19.2803">Hono</text><rect fill="#FFFFFF" filter="url(#fxufgiin6qiiw)" height="231.675" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="372.6" y="322.5469"/><rect fill="#FFFFFF" filter="url(#fxufgiin6qiiw)" height="19.2" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1008.6" y="535.0219"/><rect fill="#FFFFFF" filter="url(#fxufgiin6qiiw)" height="351.2719" style="stroke: #000000; stroke-width: 2.4;" width="1068" x="14.4" y="193.35"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="156" x2="156" y1="89.6719" y2="565.0219"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="378" x2="378" y1="89.6719" y2="565.0219"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="619.2" x2="619.2" y1="89.6719" y2="565.0219"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="806.4" x2="806.4" y1="89.6719" y2="565.0219"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1014" x2="1014" y1="89.6719" y2="565.0219"/><rect fill="#FEFECE" filter="url(#fxufgiin6qiiw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="87.6" x="110.4" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="70.8" x="118.8" y="71.3098">Gateway</text><rect fill="#FEFECE" filter="url(#fxufgiin6qiiw)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="154.8" x="298.8" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="138" x="307.2" y="51.7535">Protocol Adapter</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="325.8" y="71.3098">instance #1</text><rect fill="#FEFECE" filter="url(#fxufgiin6qiiw)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="174" x="530.4" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="538.8" y="51.7535">Device Connection</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="126" x="554.4" y="71.3098">API component</text><rect fill="#FEFECE" filter="url(#fxufgiin6qiiw)" height="55.9125" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="166.8" x="721.2" y="27.7594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="145.2" x="729.6" y="51.7535">AMQP messaging</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="771" y="71.3098">network</text><rect fill="#FEFECE" filter="url(#fxufgiin6qiiw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="958.8" y="47.3156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="967.2" y="71.3098">Application</text><rect fill="#FFFFFF" filter="url(#fxufgiin6qiiw)" height="231.675" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="372.6" y="322.5469"/><rect fill="#FFFFFF" filter="url(#fxufgiin6qiiw)" height="19.2" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1008.6" y="535.0219"/><path d="M28.8,107.6719 L28.8,173.6719 L279.6,173.6719 L279.6,119.6719 L267.6,107.6719 L28.8,107.6719 " fill="#FBFB77" filter="url(#fxufgiin6qiiw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M267.6,107.6719 L267.6,119.6719 L279.6,119.6719 L267.6,107.6719 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="160.8" x="36" y="128.1521">The gateway 'gw-1' is</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="36" y="146.3115">connected and authenticated</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="136.8" x="36" y="164.4709">with TENANT/gw-1</text><path d="M14.4,193.35 L273.6,193.35 L273.6,201.75 L261.6,213.75 L14.4,213.75 L14.4,193.35 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.2;"/><rect fill="none" height="351.2719" style="stroke: #000000; stroke-width: 2.4;" width="1068" x="14.4" y="193.35"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="32.4" y="209.0303">Command subscription</text><path d="M26.4,219.9094 L26.4,267.9094 L280.8,267.9094 L280.8,231.9094 L268.8,219.9094 L26.4,219.9094 " fill="#FBFB77" filter="url(#fxufgiin6qiiw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M268.8,219.9094 L268.8,231.9094 L280.8,231.9094 L268.8,219.9094 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="182.4" x="33.6" y="240.3896">The gateway subscribes</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="229.2" x="33.6" y="258.549">to commands for device 4711</text><polygon fill="#A80036" points="358.2,317.7469,370.2,322.5469,358.2,327.3469,363,322.5469" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="156.6" x2="365.4" y1="322.5469" y2="322.5469"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="165" y="307.3881">1</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="180.6" y="298.3084">Command subscription</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="102" x="185.4" y="316.4678">/ TTD request</text><polygon fill="#A80036" points="792.6,352.7063,804.6,357.5062,792.6,362.3063,797.4,357.5062" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="384.6" x2="799.8" y1="357.5062" y2="357.5062"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="393" y="351.4271">2</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="300" x="408.6" y="351.4271">attach("receiver", "command/TENANT")</text><polygon fill="#A80036" points="605.4,442.1438,617.4,446.9437,605.4,451.7438,610.2,446.9437" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="384.6" x2="612.6" y1="446.9437" y2="446.9437"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="393" y="413.6256">3</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="408.6" y="386.3865">set command handling</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="129.6" x="408.6" y="404.5459">adapter instance</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="117.6" x="408.6" y="422.7053">for device 4711</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="408.6" y="440.8646">to adapter instance #1</text><polygon fill="#A80036" points="605.4,495.2625,617.4,500.0625,605.4,504.8625,610.2,500.0625" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="384.6" x2="612.6" y1="500.0625" y2="500.0625"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="393" y="484.9037">4</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="408.6" y="475.824">set last known gateway</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="190.8" x="408.6" y="493.9834">for device 4711 to "gw-1"</text><polygon fill="#A80036" points="994.2,530.2219,1006.2,535.0219,994.2,539.8219,999,535.0219" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="384.6" x2="1001.4" y1="535.0219" y2="535.0219"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="10.8" x="393" y="528.9428">5</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="585.6" x="408.6" y="528.9428">transfer("event/TENANT","4711","ttd=${ttd}") via AMQP messaging network</text><!--MD5=[c8432a7ae55787c91cc1391650da3925]
@startuml
scale 1.2
hide footbox
participant Gateway order 20
box "Hono"
participant "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
note over Gateway
The gateway 'gw-1' is
connected and authenticated
with TENANT/gw-1
end note
group Command subscription
note over Gateway
The gateway subscribes
to commands for device 4711
end note
Gateway -> "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 \nadapter instance \nfor device 4711 \nto adapter instance #1
"Protocol Adapter\ninstance #1" -> "Device Connection\nAPI component": set last known gateway \nfor device 4711 to "gw-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>