Update documentation - adding security information
[nonrtric/plt/sme.git] / capifcore / docs / diagrams / registerpoviderandpublishservice.plantuml
index 7d9ff3b..eb013c1 100644 (file)
@@ -1,7 +1,8 @@
 @startuml Register Provider
 actor rAppCatalogue
-actor rApp
 participant rAppManager
+participant "consumer rApp" as capp
+participant "provider rApp" as papp
 box "CAPIF Internal"
 participant capifcore
 participant providermanager
@@ -11,74 +12,84 @@ participant invokerservice
 participant discoverservice
 participant securityservice
 participant eventservice
+participant loggingservice
 end box
 
-rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
-alt#paleGreen #paleGreen Provider Enrolment
-    rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
-    capifcore->providermanager:Register provider
-    providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
-    providermanager->capifcore: Provider with\n apfId and aefIds
-    capifcore->rAppManager: Provider with\n apfId and aefIds
-end
-alt#LightBlue #LightBlue Publish Service
-    rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
-    capifcore->publishservice: Publish services
-    publishservice->providermanager: Are AEFs are\n registered for provider?
-    providermanager->publishservice: Ok
-    publishservice->publishservice: Create apiId
-    publishservice->helmmanager: Install chart
-    note right: Optional and not decided yet
-    helmmanager->publishservice: Ok
-    alt#Orange #Orange Subcribed Event Handling
-        publishservice->eventservice: Service published
-        eventservice->rApp: CAPIFEventDetail
+alt Register Consumer rApp
+    rAppCatalogue->rAppManager: Register consumer \nrApp
+    alt#coral #coral Register Invoker
+        rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
+        capifcore->invokerservice: Register invoker
+        invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
+        invokerservice->publishservice: Get available services
+        publishservice->invokerservice: Available services
+        invokerservice->capifcore: Services available\n for the invoker
+        capifcore->rAppManager: Invoker with invokerId\n and available services
+    end
+    rAppManager->capp: invokerId and\n available services
+    rAppManager->rAppCatalogue: Ok
+    alt#Orange #Orange Subscribe to publishing events
+        capp->eventservice: Subscribe to events\n with EventSubscription
+        eventservice->eventservice: Create subscriptionId
+        eventservice->capp: subscriptionId
     end
-    publishservice->capifcore: ServiceAPIDescription\n with apiId
-    capifcore->rAppManager: ServiceAPIDescription\n with apiId
 end
-alt#coral #coral Register Invoker
-    rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
-    capifcore->invokerservice: Register invoker
-    invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
-    invokerservice->publishservice: Get available services
-    publishservice->invokerservice: Available services
-    alt#Orange #Orange Subcribed Event Handling
-        invokerservice->eventservice: Invoker registered
-        eventservice->rApp: CAPIFEventDetail
+alt Register provider rApp
+    rAppCatalogue->rAppManager: Register rApp, with\n rApp descriptor\n specifying which\n services to expose
+    alt#paleGreen #paleGreen Provider Enrolment
+        rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
+        capifcore->providermanager:Register provider
+        providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
+        providermanager->capifcore: Provider with\n apfId and aefIds
+        capifcore->rAppManager: Provider with\n apfId and aefIds
+    end
+    alt#LightBlue #LightBlue Publish Service
+        rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
+        capifcore->publishservice: Publish services
+        publishservice->providermanager: Are AEFs registered\n for provider?
+        providermanager->publishservice: Ok
+        publishservice->publishservice: Create apiId
+        publishservice->helmmanager: Install chart
+        note right: Optional and not decided yet
+        helmmanager->publishservice: Ok
+        alt#Orange #Orange Subcribed Event Handling
+            publishservice->eventservice: Service published
+            eventservice->capp: CAPIFEventDetail
+        end
+        publishservice->capifcore: ServiceAPIDescription\n with apiId
+        capifcore->rAppManager: ServiceAPIDescription\n with apiId
     end
-    invokerservice->capifcore: Services available\n for the invoker
-    capifcore->rAppManager: Invoker with invokerId\n and available services
+    rAppManager->papp: apiProvDomId,\n apiProvFuncIds,\n and apiId
+    rAppManager->rAppCatalogue: Ok
 end
-rAppManager->rAppCatalogue: Ok
-
 alt#Yellow #Yellow Discover Services
-    rAppManager->capifcore: Discover services for an\n invoker with apiInvokerId\n and filter parameters
+    capp->capifcore: Discover services\n with apiInvokerId\n and filter parameters
     capifcore->discoverservice: Get services available\n for the invoker
     discoverservice->invokerservice: Get services available\n for the invoker
     invokerservice->publishservice: Get available services
     publishservice->invokerservice: Available services
     invokerservice->discoverservice: Services available \nfor the invoker
     discoverservice->capifcore: Services available for the\n invoker matching the\n filter parameters
-    capifcore->rAppManager: Services available for the\n invoker and matching the\n filter parameters
-end
-
-alt#Pink #Pink Security Service
-    rApp->securityservice: Request token\n for service with\n AccessTokenReq
-    securityservice->invokerservice: Is invoker registered?
-    invokerservice->securityservice: Ok
-    securityservice->invokerservice: Is secret valid?
-    invokerservice->securityservice: Ok
-    securityservice->providermanager: Is function providing\n service registered?
-    providermanager->securityservice: Ok
-    securityservice->publishservice: Is service published?
-    publishservice->securityservice: Ok
-    securityservice->rApp: AccessTokenRsp with\n token
+    capifcore->capp: Services available\n matching the\n filter parameters
 end
 
-alt#Orange #Orange Event Service
-    rApp->eventservice: Subscribe to event with EventSubscription
-    eventservice->eventservice: Create subscriptionId
-    eventservice->rApp: subscriptionId
+alt Invoke Service
+    alt#Pink #Pink Security Service
+        capp->securityservice: Request token\n for service with\n AccessTokenReq
+        securityservice->invokerservice: Is invoker registered?
+        invokerservice->securityservice: Ok
+        securityservice->invokerservice: Is secret valid?
+        invokerservice->securityservice: Ok
+        securityservice->providermanager: Is function providing\n service registered?
+        providermanager->securityservice: Ok
+        securityservice->publishservice: Is service published?
+        publishservice->securityservice: Ok
+        securityservice->capp: AccessTokenRsp\n with token
+    end
+    capp->papp: Invoke service\n with token
+    alt#Silver #Silver Log invocation
+        papp->loggingservice: Log invocation\n with InvocationLog
+    end
+    papp->capp: Result of\n invocation
 end
 @enduml
\ No newline at end of file