1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2018 Huawei Technologies Co., Ltd.
12 .. image:: ../images/SO_Architecture_2.png
17 .. image:: ../images/SO_Architecture_Internal.png
19 .. image:: ../images/so-architecture.png
26 RESTful interface to northbound clients
28 * Handle service-level and infrastructure (VNF & network) requests
31 * "Service Instantiation API"
33 Model-driven recipe selection
34 * Use SO Catalog to map input requests to BPMN flows
35 * Dynamic lookup based on service-model + action
36 * Input data forwarded to BPMN flow
38 Track open and completed requests via SO Request DB
40 Multiple API-H modules may support different APIs
42 **BPMN Execution Engine**
44 Open-source Camunda platform
45 * Support BPMN 2.0 service recipes
47 Expose RESTful interface to API-H (unique path per recipe)
49 Make use of common "building block" sub-flows
51 Sequence orchestration steps for each Resource in the recipe
52 * Request and configure network resources via SDN-C
53 * Manage cloud resources via PO (OpenStack)
54 * Update inventory via A&AI
56 Perform error handling/rollback
60 Interfaces to lower level controllers and other ONAP components
61 * Platform Orchestrator, SDN-Controller, APP-Controller, VFC-Controllers, Multi-Cloud
62 * Hides the details of complex interfaces (e.g. OpenStack APIs)
63 * Expose interfaces to BPMN flows as SOAP or REST APIs
64 * Support synchronous and asynchronous operations
66 Provided as part of SO platform for use by all BPMN flows
68 Use SO Catalog to map resource requests to a recipe/template
71 * Catalog templates may be updated via self-service (outside of release cycles)
72 * Merge input parameters with templates at run-time
77 * Tracks open and completed requests
80 * SO view of the SDC Catalog
81 * service and resource models, recipes, and templates
82 * Populated via SDC distribution service from TOSCA models
85 * Maintain state for BPMN flows
86 * Supports multiple active engines
88 **SDC Distribution Client**
90 Receive updated service models from SDC
91 * Event-bus notifications when new models available
92 * HTTP retrieval of models (TOSCA) and artifacts (Heat)
94 Receive distributions as TOSCA models
98 Support self-service updates to models and artifacts
102 Monitor BPMN Workflow execution by providing
103 * Service list search based on search criteria
105 * Service Process Instance Rendering and Detail
109 Support external SVNFMs through SOL003 APIs
110 * Create, Instantiate, Terminate and Delete VNF, including Granting, Subscription and Lifecycle Notifications
111 * Tracking capability which VNFM instance has handled with which VNF instance
112 * BPMN Building Block workflows and Java-based recipes for VNF LCM
113 * Conformance of SOL001 VNFD and SOL004 VNF package specifications
114 * Interfacing with the ETSI Catalog Manager (a.k.a. etsicatalog) for retrieving ETSI VNF descriptors and artifacts
115 * VNFM Simulator for validating SO VNFM Adapter NBI and SBI for integration testing
117 .. image:: ../images/SO-SOL003-Adapter-Architecture-1.png
121 Support ETSI NFVO functions which manages Network Service LCM
122 * Create, Instantiate, Terminate and Delete NS
123 * Decomposing an NS request into associated VNF request(s) and managing VNF LCM (Create, Instantiate, Terminate, Delete VNF) through SO VNFMN Adapter
124 * Leveraging SOL005 for its NBI and SOl003 for its SBI
125 * Conformance of SOL001 NSD and SOL007 NS package specifications
126 * Interfacing with the ETSI Catalog Manager (a.k.a. etsicatalog) for retrieving ETSI NS descriptors and artifacts
128 .. image:: ../images/SO-NFVO-Architecture-1.png
130 Third Party and Open Source
131 ---------------------------
134 Camunda (open source)
136 **Other Open Source Components of Note:**
139 Openstack Java SDK ("woorea")