aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorseshukm <seshu.kumar.m@huawei.com>2017-11-06 10:31:04 +0530
committerseshukm <seshu.kumar.m@huawei.com>2017-11-06 10:31:04 +0530
commit107e0c48c8a391981a4dba8fba23051ef9f1f68f (patch)
treea503a76e49cf6ada00a8ea5da002cff51e5b4688 /docs
parent9f739936ff34697610fb18c47267a4938f891541 (diff)
BPMN main process .rst file
IssueId: SO-300 Change-Id: I0557282bc9cd04a37e32ce434d2bb050ae844aaa Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/BPMN_Main_Process_Flows.rst40
1 files changed, 40 insertions, 0 deletions
diff --git a/docs/BPMN_Main_Process_Flows.rst b/docs/BPMN_Main_Process_Flows.rst
new file mode 100644
index 0000000000..abc006e813
--- /dev/null
+++ b/docs/BPMN_Main_Process_Flows.rst
@@ -0,0 +1,40 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+BPMN Main Process Flows
+========================
+
+Characteristics
+----------------
+
+**Invoked by an API Handler**
+
+ The BPMN application (war) exposes a REST endpoint to which the API Handler(s) send requests for flow execution. The message sent by the API Handler to this endpoint is a JSON wrapper containing:
+
+ * The original request received by the API handler from the portal or other client.
+ * Metadata such as the request-id generated by the API Handler for the request.
+ * The name of the BPMN process to execute (obtained by the API Handler from the mso_catalog.service_recipe table.
+
+**Asynchronous Service Model**
+
+ All main process flows implement an asynchronous service model. The connection to the API Handler is kept open until the main process flow sends back a response. In the flow shown below, this is done by the "Send Sync Ack Response" script task. A flow is expected to send a response after validating the request, but before performing any long running tasks or tasks that could cause the process to be suspended.
+
+ After the synchronous response is sent, the flow continues to execute. When the flow ends, it may optionally send an asynchronous notification to a callback URL provided in the original request (behavior depends on the API agreement)
+
+**Typically calls one or more subprocess flows**
+
+ Main process flows usually implement the high-level service logic, delegating the "real" work to reusable subflows (Building Blocks) or custom subflows
+
+**Handles "Completion" and "Fallout" tasks**
+
+ "Completion" tasks are those that occur when the process ends successfully, and "Fallout" tasks are those that occur when the process fails. Activities include:
+
+ * Updating the mso_requests database.
+ * Rolling back uncompleted work.
+ * Sending an asynchronous callback notification.
+
+Example: CreateVfModuleVolumeInfraV1.bpmn
+------------------------------------------
+
+.. image:: images/BPMN_Main_Process_Flows_1.png \ No newline at end of file