X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=capifcore%2Fdocs%2Fdiagrams%2Fregisterpoviderandpublishservice.plantuml;h=b5439ee54fcce29bf3b8f1d710dbde74b3720772;hb=refs%2Fchanges%2F74%2F9974%2F1;hp=1e7db9b375e61af1dd8eac10506da27a659d62c1;hpb=faeeb4bfe079a2f20ac1639fc394a363306411c9;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml b/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml index 1e7db9b..b5439ee 100644 --- a/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml +++ b/capifcore/docs/diagrams/registerpoviderandpublishservice.plantuml @@ -1,35 +1,85 @@ @startuml Register Provider actor rAppCatalogue +actor rApp participant rAppManager box "CAPIF Internal" participant capifcore participant providermanager participant helmmanager participant publishservice +participant invokerservice +participant discoverservice +participant securityservice +participant eventservice 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 Regtister rApp as both provider and consumer + rAppCatalogue->rAppManager: Register 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 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->rApp: CAPIFEventDetail + 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 + end + invokerservice->capifcore: Services available\n for the invoker + capifcore->rAppManager: Invoker with invokerId\n and available services + end + rAppManager->rAppCatalogue: Ok 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 - note right: Optional and not decided yet - helmmanager->capifcore: Ok - capifcore->publishservice: Store published services - capifcore->rAppManager: ServiceAPIDescription with apiId +alt#Yellow #Yellow Discover Services + rApp->capifcore: Discover services for an\n invoker 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->rApp: Services available for the\n invoker and matching the\n filter parameters end -alt#coral #coral Register Invoker - rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails - 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#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 end -rAppManager->rAppCatalogue: Ok +alt#Orange #Orange Event Service + rApp->eventservice: Subscribe to event with EventSubscription + eventservice->eventservice: Create subscriptionId + eventservice->rApp: subscriptionId +end @enduml \ No newline at end of file