X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Fdocs%2Fdiagrams%2Fregisterpoviderandpublishservice.plantuml;h=eb013c1854d26dd19be03ec11203bffbe0fd472f;hb=HEAD;hp=1f8e6acafb8bb046e6ce7a87bae8d6f407879402;hpb=cf1b587eba848c3500c4ffa020d1665f3fc7021f;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml b/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml index 1f8e6ac..eb013c1 100644 --- a/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml +++ b/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml @@ -1,34 +1,95 @@ @startuml Register Provider actor rAppCatalogue participant rAppManager +participant "consumer rApp" as capp +participant "provider rApp" as papp box "CAPIF Internal" participant capifcore participant providermanager participant helmmanager participant publishservice +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:Store provider - capifcore->rAppManager: Provider with apfId and aefIds +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 end -alt#LightBlue #LightBlue Publish Service - rAppManager->capifcore: Publish services\n with ServiceAPIDescription - capifcore->providermanager: Check that AEFs are\n registered for provider - providermanager->capifcore: Ok - capifcore->helmmanager: Install and start chart - helmmanager->capifcore: Ok - capifcore->publishservice: Store published services - capifcore->rAppManager: ServiceAPIDescription with apiId +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 + rAppManager->papp: apiProvDomId,\n apiProvFuncIds,\n and apiId + rAppManager->rAppCatalogue: Ok end -alt#coral #coral Register Invoker - rAppManager->capifcore: Register invoker with\n APIProviderFunctionDetails - capifcore->publishservice:Get available services for invoker - publishservice->capifcore: Services available for the given invoker - capifcore->rAppManager: Invoker with invokerId\n and avialable services +alt#Yellow #Yellow Discover Services + 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->capp: Services available\n matching the\n filter parameters end -rAppManager->rAppCatalogue: Ok +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