BPMN main process .rst file 29/22229/1
authorseshukm <seshu.kumar.m@huawei.com>
Mon, 6 Nov 2017 05:01:04 +0000 (10:31 +0530)
committerseshukm <seshu.kumar.m@huawei.com>
Mon, 6 Nov 2017 05:01:04 +0000 (10:31 +0530)
IssueId: SO-300

Change-Id: I0557282bc9cd04a37e32ce434d2bb050ae844aaa
Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
docs/BPMN_Main_Process_Flows.rst [new file with mode: 0644]

diff --git a/docs/BPMN_Main_Process_Flows.rst b/docs/BPMN_Main_Process_Flows.rst
new file mode 100644 (file)
index 0000000..abc006e
--- /dev/null
@@ -0,0 +1,40 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.\r
+.. http://creativecommons.org/licenses/by/4.0\r
+.. Copyright 2017 Huawei Technologies Co., Ltd.\r
+\r
+BPMN Main Process Flows\r
+========================\r
+\r
+Characteristics\r
+----------------\r
+\r
+**Invoked by an API Handler**\r
+\r
+  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:\r
+  \r
+    * The original request received by the API handler from the portal or other client.\r
+    * Metadata such as the request-id generated by the API Handler for the request.\r
+    * The name of the BPMN process to execute (obtained by the API Handler from the mso_catalog.service_recipe table.\r
+  \r
+**Asynchronous Service Model**\r
+  \r
+  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.\r
+  \r
+  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)\r
+  \r
+**Typically calls one or more subprocess flows**\r
+\r
+  Main process flows usually implement the high-level service logic, delegating the "real" work to reusable subflows (Building Blocks) or custom subflows\r
+  \r
+**Handles "Completion" and "Fallout" tasks**\r
+\r
+  "Completion" tasks are those that occur when the process ends successfully, and "Fallout" tasks are those that occur when the process fails.  Activities include:\r
+  \r
+    * Updating the mso_requests database.\r
+    * Rolling back uncompleted work.\r
+    * Sending an asynchronous callback notification.\r
+\r
+Example: CreateVfModuleVolumeInfraV1.bpmn\r
+------------------------------------------\r
+\r
+.. image:: images/BPMN_Main_Process_Flows_1.png
\ No newline at end of file