blob: 6ca11cd6b33ea7f821f5394992aab6e3c31d0236 [file] [log] [blame]
seshukm9c58cdd2018-08-21 18:48:29 +08001.. 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.
4
5SO - Architecture
6===============
7
8.. image:: ../images/SO_Architecture_1.png
9
10SO Sub-Components
11------------------
12
13**API Handler**
14
15 RESTful interface to northbound clients
16
17 * Handle service-level and infrastructure (VNF & network) requests
18
19 Service-agnostic APIs
20 * Service Instantiation API
21
22 Model-driven recipe selection
23 * Use SO Catalog to map input requests to BPMN flows
24 * Dynamic lookup based on service-model + action
25 * Input data forwarded to BPMN flow
26
27 Track open and completed requests via SO Request DB
28
29 Multiple API-H modules may support different APIs
30
31**BPMN Execution Engine**
32
33 Open-source Camunda platform
34 * Support BPMN 2.0 service recipes
35
36 Expose RESTful interface to API-H (unique path per recipe)
37
38 Make use of common building block sub-flows
39
40 Sequence orchestration steps for each Resource in the recipe
41 * Request and configure network resources via SDN-C
42 * Manage cloud resources via PO (OpenStack)
43 * Update inventory via A&AI
44
45 Perform error handling/rollback
46
47**Resource Adapters**
48
49 Interfaces to lower level controllers and other ONAP components
50 * Platform Orchestrator, SDN-Controller, APP-Controller, VFC-Controllers
51 * Hides the details of complex interfaces (e.g. OpenStack APIs)
52 * Expose interfaces to BPMN flows as SOAP or REST APIs
53 * Support synchronous and asynchronous operations
54
55 Provided as part of SO platform for use by all BPMN flows
56
57 Use SO Catalog to map resource requests to a recipe/template
58
59 Data-driven design
60 * Catalog templates may be updated via self-service (outside of release cycles)
61 * Merge input parameters with templates at run-time
62
63**Data Stores**
64
65 Request DB
66 * Tracks open and completed requests
67
68 SO Catalog
69 * SO view of the SDC Catalog
70 * service and resource models, recipes, and templates
71 * Populated via SDC distribution service from TOSCA models
72
73 Camunda DB
74 * Maintain state for BPMN flows
75 * Supports multiple active engines
76
77**SDC Distribution Client**
78
79 Receive updated service models from SDC
80 * Event-bus notifications when new models available
81 * HTTP retrieval of models (TOSCA) and artifacts (Heat)
82
83 Receive distributions as TOSCA models
84
85 Populate SO Catalog
86
87 Support self-service updates to models and artifacts
seshukmcb4f8702018-08-21 20:49:19 +080088
seshukmb3b1c9f2018-08-31 21:33:51 +080089**SO Monitoring**
90
seshukmcb4f8702018-08-21 20:49:19 +080091 Monitor BPMN Workflow execution by providing
seshukm1a5001e2018-09-22 18:30:47 +080092 * Service list search based on search criteria
93 * Service statistic
94 * Service Process Instance Rendering and Detail
95
seshukm9c58cdd2018-08-21 18:48:29 +080096Third Party and Open Source
97---------------------------
98
99**BPMN Engine**
100 Camunda (open source)
101
102**Other Open Source Components of Note:**
seshukmcb4f8702018-08-21 20:49:19 +0800103 Tomcat
seshukm9c58cdd2018-08-21 18:48:29 +0800104 MySQL/MariaDB
105 Openstack Java SDK (“woorea”)
106
107
108
109
110
111
112
113