Update SO subcomponent architecture doc
[so.git] / docs / architecture / architecture.rst
index 681e9db..7cfb276 100644 (file)
@@ -1,37 +1,40 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
 .. Copyright 2018 Huawei Technologies Co., Ltd.
+.. _architecture:
 
 SO - Architecture
-===============
+=================
 
 SO Functional View
---------------------
+------------------
 
-.. image:: ../images/SO_Architecture_1.png
+.. image:: ../images/SO_Architecture_2.png
 
 SO Deployment View
 --------------------
 
 .. image:: ../images/SO_Architecture_Internal.png
 
+.. image:: ../images/so-architecture.png
+
 SO Sub-Components
 ------------------
 
 **API Handler**
 
   RESTful interface to northbound clients
-      
-       * Handle service-level and infrastructure (VNF & network) requests
-       
+
+* Handle service-level and infrastructure (VNF & network) requests
+
   Service-agnostic APIs
-    * “Service Instantiation API”
+    * "Service Instantiation API"
 
   Model-driven recipe selection
     * Use SO Catalog to map input requests to BPMN flows
     * Dynamic lookup based on service-model + action
     * Input data forwarded to BPMN flow
-       
+
   Track open and completed requests via SO Request DB
 
   Multiple API-H modules may support different APIs
@@ -43,13 +46,13 @@ SO Sub-Components
 
   Expose RESTful interface to API-H (unique path per recipe)
 
-  Make use of common “building block” sub-flows
+  Make use of common "building block" sub-flows
 
   Sequence orchestration steps for each Resource in the recipe
     * Request and configure network resources via SDN-C
     * Manage cloud resources via PO (OpenStack)
     * Update inventory via A&AI
-  
+
   Perform error handling/rollback
 
 **Resource Adapters**
@@ -59,7 +62,7 @@ SO Sub-Components
    * Hides the details of complex interfaces (e.g. OpenStack APIs)
    * Expose interfaces to BPMN flows as SOAP or REST APIs
    * Support synchronous and asynchronous operations
-   
+
   Provided as part of SO platform for use by all BPMN flows
 
   Use SO Catalog to map resource requests to a recipe/template
@@ -69,10 +72,10 @@ SO Sub-Components
    * Merge input parameters with templates at run-time
 
 **Data Stores**
-   
+
   Request DB
    * Tracks open and completed requests
-  
+
   SO Catalog
    * SO view of the SDC Catalog
       * service and resource models, recipes, and templates
@@ -81,13 +84,13 @@ SO Sub-Components
   Camunda DB
    * Maintain state for BPMN flows
    * Supports multiple active engines
-   
+
 **SDC Distribution Client**
 
   Receive updated service models from SDC
    * Event-bus notifications when new models available
    * HTTP retrieval of models (TOSCA) and artifacts (Heat)
-   
+
   Receive distributions as TOSCA models
 
   Populate SO Catalog
@@ -101,6 +104,29 @@ SO Sub-Components
    * Service statistic
    * Service Process Instance Rendering and Detail
 
+**SO VNFM Adapter**
+
+  Support external SVNFMs through SOL003 APIs
+   * Create, Instantiate, Terminate and Delete VNF, including Granting, Subscription and Lifecycle Notifications
+   * Tracking capability which VNFM instance has handled with which VNF instance
+   * BPMN Building Block workflows and Java-based recipes for VNF LCM
+   * Conformance of SOL001 VNFD and SOL004 VNF package specifications
+   * Interfacing with the ETSI Catalog Manager (a.k.a. etsicatalog) for retrieving ETSI VNF descriptors and artifacts
+   * VNFM Simulator for validating SO VNFM Adapter NBI and SBI for integration testing
+
+.. image:: ../images/SO-SOL003-Adapter-Architecture-1.png
+
+**SO ETSI NFVO**
+
+  Support ETSI NFVO functions which manages Network Service LCM
+   * Create, Instantiate, Terminate and Delete NS
+   * Decomposing an NS request into associated VNF request(s) and managing VNF LCM (Create, Instantiate, Terminate, Delete VNF) through SO VNFMN Adapter
+   * Leveraging SOL005 for its NBI and SOl003 for its SBI
+   * Conformance of SOL001 NSD and SOL007 NS package specifications
+   * Interfacing with the ETSI Catalog Manager (a.k.a. etsicatalog) for retrieving ETSI NS descriptors and artifacts
+
+.. image:: ../images/SO-NFVO-Architecture-1.png
+
 Third Party and Open Source
 ---------------------------
 
@@ -110,12 +136,4 @@ Third Party and Open Source
 **Other Open Source Components of Note:**
   Tomcat
   MySQL/MariaDB
-  Openstack Java SDK (“woorea”)
-
-
-
-
-
-  
-
+  Openstack Java SDK ("woorea")