Adding documentation for invoker
[nonrtric/plt/sme.git] / invoker / docs / Onboarding new invoker.svg
diff --git a/invoker/docs/Onboarding new invoker.svg b/invoker/docs/Onboarding new invoker.svg
new file mode 100644 (file)
index 0000000..f7e5b13
--- /dev/null
@@ -0,0 +1,41 @@
+<?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" contentStyleType="text/css" height="700px" preserveAspectRatio="none" style="width:996px;height:700px;background:#FFFFFF;" version="1.1" viewBox="0 0 996 700" width="996px" zoomAndPan="magnify"><defs/><g><rect fill="#DDDDDD" height="688.1172" style="stroke:#181818;stroke-width:0.5;" width="610" x="239" y="6"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="82" x="503" y="18.0669">CAPIF Core</text><rect fill="#98FB98" height="499.5234" style="stroke:#000000;stroke-width:1.5;" width="980" x="10" y="98.2969"/><rect fill="#FA8072" height="132.6641" style="stroke:#000000;stroke-width:1.5;" width="928" x="20" y="458.1563"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="77" x2="77" y1="81.2969" y2="614.8203"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="281" x2="281" y1="81.2969" y2="614.8203"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="513" x2="513" y1="81.2969" y2="614.8203"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="676" x2="676" y1="81.2969" y2="614.8203"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="794" x2="794" y1="81.2969" y2="614.8203"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="943" x2="943" y1="81.2969" y2="614.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="30" y="77.9951">InvokerClient</text><ellipse cx="77.5" cy="13.5" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M77.5,21.5 L77.5,48.5 M64.5,29.5 L90.5,29.5 M77.5,48.5 L64.5,63.5 M77.5,48.5 L90.5,63.5 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="30" y="626.8154">InvokerClient</text><ellipse cx="77.5" cy="638.6172" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M77.5,646.6172 L77.5,673.6172 M64.5,654.6172 L90.5,654.6172 M77.5,673.6172 L64.5,688.6172 M77.5,673.6172 L90.5,688.6172 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="77" x="243" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="250" y="69.9951">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="77" x="243" y="613.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="250" y="633.8154">capifcore</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="457" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="464" y="69.9951">invokerservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="457" y="613.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="464" y="633.8154">invokerservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="620" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="627" y="69.9951">publishservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="620" y="613.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="627" y="633.8154">publishservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="743" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="750" y="69.9951">eventservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="743" y="613.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="750" y="633.8154">eventservice</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="74" x="906" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="913" y="69.9951">keycloak</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="74" x="906" y="613.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="913" y="633.8154">keycloak</text><path d="M10,98.2969 L74,98.2969 L74,105.4297 L64,115.4297 L10,115.4297 L10,98.2969 " fill="#98FB98" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="499.5234" style="stroke:#000000;stroke-width:1.5;" width="980" x="10" y="98.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="25" y="111.3638">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="116" x="89" y="110.5073">[Onboard Invoker]</text><polygon fill="#181818" points="269.5,147.6953,279.5,151.6953,269.5,155.6953,273.5,151.6953" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="77.5" x2="275.5" y1="151.6953" y2="151.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="131" x="84.5" y="131.4966">Register invoker with</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="88.5" y="146.6294">APIInvokerEnrolmentDetails</text><polygon fill="#181818" points="501.5,176.8281,511.5,180.8281,501.5,184.8281,505.5,180.8281" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="281.5" x2="507.5" y1="180.8281" y2="180.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="208" x="288.5" y="175.7622">Creates a new API Invoker profile</text><line style="stroke:#181818;stroke-width:1.0;" x1="513.5" x2="555.5" y1="209.9609" y2="209.9609"/><line style="stroke:#181818;stroke-width:1.0;" x1="555.5" x2="555.5" y1="209.9609" y2="222.9609"/><line style="stroke:#181818;stroke-width:1.0;" x1="514.5" x2="555.5" y1="222.9609" y2="222.9609"/><polygon fill="#181818" points="524.5,218.9609,514.5,222.9609,524.5,226.9609,520.5,222.9609" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="123" x="520.5" y="204.895">Create apiInvokerId</text><polygon fill="#181818" points="931,263.2266,941,267.2266,931,271.2266,935,267.2266" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513.5" x2="937" y1="267.2266" y2="267.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="143" x="520.5" y="247.0278">Register client and get</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="524.5" y="262.1606">onboardingSecret</text><polygon fill="#181818" points="524.5,292.3594,514.5,296.3594,524.5,300.3594,520.5,296.3594" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518.5" x2="942" y1="296.3594" y2="296.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="530.5" y="291.2935">onboardingSecret</text><polygon fill="#181818" points="664.5,321.4922,674.5,325.4922,664.5,329.4922,668.5,325.4922" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="513.5" x2="670.5" y1="325.4922" y2="325.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="520.5" y="320.4263">Get available services</text><polygon fill="#181818" points="524.5,350.625,514.5,354.625,524.5,358.625,520.5,354.625" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="518.5" x2="675.5" y1="354.625" y2="354.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="530.5" y="349.5591">Available services</text><polygon fill="#181818" points="292.5,394.8906,282.5,398.8906,292.5,402.8906,288.5,398.8906" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="286.5" x2="512.5" y1="398.8906" y2="398.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="298.5" y="378.6919">Services available</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="92" x="302.5" y="393.8247">for the invoker</text><polygon fill="#181818" points="88.5,439.1563,78.5,443.1563,88.5,447.1563,84.5,443.1563" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="82.5" x2="280.5" y1="443.1563" y2="443.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="94.5" y="422.9575">Invoker with invokerId</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="140" x="98.5" y="438.0903">and available services</text><path d="M20,458.1563 L84,458.1563 L84,465.2891 L74,475.2891 L20,475.2891 L20,458.1563 " fill="#FA8072" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="132.6641" style="stroke:#000000;stroke-width:1.5;" width="928" x="20" y="458.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="35" y="471.2231">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="208" x="99" y="470.3667">[Subscribe to publishing events]</text><polygon fill="#181818" points="782,507.5547,792,511.5547,782,515.5547,786,511.5547" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="77.5" x2="788" y1="511.5547" y2="511.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="127" x="84.5" y="491.356">Subscribe to events</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="144" x="88.5" y="506.4888">with EventSubscription</text><line style="stroke:#181818;stroke-width:1.0;" x1="794" x2="836" y1="540.6875" y2="540.6875"/><line style="stroke:#181818;stroke-width:1.0;" x1="836" x2="836" y1="540.6875" y2="553.6875"/><line style="stroke:#181818;stroke-width:1.0;" x1="795" x2="836" y1="553.6875" y2="553.6875"/><polygon fill="#181818" points="805,549.6875,795,553.6875,805,557.6875,801,553.6875" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="801" y="535.6216">Create subscriptionId</text><polygon fill="#181818" points="88.5,578.8203,78.5,582.8203,88.5,586.8203,84.5,582.8203" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="82.5" x2="793" y1="582.8203" y2="582.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="88" x="94.5" y="577.7544">subscriptionId</text><!--MD5=[2a2162ad220229cd18e475b9115b1291]
+@startuml Onboarding new invoker\r
+actor InvokerClient\r
+\r
+box "CAPIF Core"\r
+participant capifcore\r
+participant invokerservice\r
+participant publishservice\r
+participant eventservice\r
+end box\r
+\r
+participant keycloak\r
+\r
+\r
+alt#PaleGreen #PaleGreen Onboard Invoker\r
+    InvokerClient->capifcore: Register invoker with\n APIInvokerEnrolmentDetails\r
+    capifcore->invokerservice: Creates a new API Invoker profile\r
+    invokerservice->invokerservice: Create apiInvokerId\r
+    invokerservice->keycloak: Register client and get\n onboardingSecret\r
+    keycloak->invokerservice: onboardingSecret\r
+    invokerservice->publishservice: Get available services\r
+    publishservice->invokerservice: Available services\r
+    invokerservice->capifcore: Services available\n for the invoker\r
+    capifcore->InvokerClient: Invoker with invokerId\n and available services\r
+    alt#Salmon #Salmon Subscribe to publishing events\r
+        InvokerClient->eventservice: Subscribe to events\n with EventSubscription\r
+        eventservice->eventservice: Create subscriptionId\r
+        eventservice->InvokerClient: subscriptionId\r
+    end\r
+end\r
+\r
+@enduml\r
+
+PlantUML version 1.2022.7(Mon Aug 22 19:01:30 CEST 2022)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Default Encoding: UTF-8
+Language: en
+Country: null
+--></g></svg>
\ No newline at end of file