1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
\r
2 .. http://creativecommons.org/licenses/by/4.0
\r
3 .. Copyright 2017 Huawei Technologies Co., Ltd.
\r
5 SO - Service Orchestration
\r
6 ========================================================
\r
11 .. image:: images/SO_Architecture_1.png
\r
18 RESTful interface to northbound clients
\r
20 * Handle service-level and infrastructure (VNF & network) requests
\r
22 Service-agnostic APIs
\r
23 * “Service Instantiation API”
\r
25 Model-driven recipe selection
\r
26 * Use SO Catalog to map input requests to BPMN flows
\r
27 * Dynamic lookup based on service-model + action
\r
28 * Input data forwarded to BPMN flow
\r
30 Track open and completed requests via SO Request DB
\r
32 Multiple API-H modules may support different APIs
\r
34 **BPMN Execution Engine**
\r
36 Open-source Camunda platform
\r
37 * Support BPMN 2.0 service recipes
\r
39 Expose RESTful interface to API-H (unique path per recipe)
\r
41 Make use of common “building block” sub-flows
\r
43 Sequence orchestration steps for each Resource in the recipe
\r
44 * Request and configure network resources via SDN-C
\r
45 * Manage cloud resources via PO (OpenStack)
\r
46 * Update inventory via A&AI
\r
48 Perform error handling/rollback
\r
50 **Resource Adapters**
\r
52 Interfaces to lower level controllers and other ONAP components
\r
53 * Platform Orchestrator, SDN-Controller, APP-Controller, VFC-Controllers
\r
54 * Hides the details of complex interfaces (e.g. OpenStack APIs)
\r
55 * Expose interfaces to BPMN flows as SOAP or REST APIs
\r
56 * Support synchronous and asynchronous operations
\r
58 Provided as part of SO platform for use by all BPMN flows
\r
60 Use SO Catalog to map resource requests to a recipe/template
\r
63 * Catalog templates may be updated via self-service (outside of release cycles)
\r
64 * Merge input parameters with templates at run-time
\r
69 * Tracks open and completed requests
\r
72 * SO view of the SDC Catalog
\r
73 * service and resource models, recipes, and templates
\r
74 * Populated via SDC distribution service from TOSCA models
\r
77 * Maintain state for BPMN flows
\r
78 * Supports multiple active engines
\r
80 **SDC Distribution Client**
\r
82 Receive updated service models from SDC
\r
83 * Event-bus notifications when new models available
\r
84 * HTTP retrieval of models (TOSCA) and artifacts (Heat)
\r
86 Receive distributions as TOSCA models
\r
90 Support self-service updates to models and artifacts
\r
92 Third Party and Open Source
\r
93 ---------------------------
\r
96 Camunda (open source)
\r
98 **Other Open Source Components of Note:**
\r
101 Openstack Java SDK (“woorea”)
\r