url correction and improve API doc
[so.git] / docs / developer_info / BPMN_Project_Structure.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2017 Huawei Technologies Co., Ltd.
4
5 BPMN Project Structure
6 =======================
7
8 BPMN main process flow
9 ----------------------
10
11 A BPMN main process flow is a top-level flow.  All main process flows are under the src/main/resources/process folder.
12
13 CreateVfModuleVolumeInfraV1 is a main process flow.
14
15 .. image:: ../images/bpmn_project_structure_1.png
16
17 Open BPMN files with the camunda modeler (standalone application).  To launch the modeler from eclipse, right-click→open-with→Other→Browse.  Select Check the boxes on the dialog so that eclipse will open all .bpmn files with the camunda-modeler executable.
18
19 BPMN subprocess flow
20 ---------------------
21
22 A BPMN subprocess flow is meant to be invoked by other flows (either main process flows or other subprocess flows).  All subprocess flows are under the src/main/resources/subprocess folder.
23
24 The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.
25
26 .. image:: ../images/bpmn_project_structure_2.png
27
28 Groovy scripts
29 ---------------
30
31 There is one groovy script for each BPMN file.  Groovy scripts are invoked by script tasks within the BPMN flows.
32
33 .. image:: ../images/bpmn_project_structure_3.png
34
35 Unit Tests
36 -----------
37
38 Normally, we create a unit test class for every flow.  This one is missing a unit test for its rollback flow.
39
40 .. image:: ../images/bpmn_project_structure_4.png
41
42 Unit Test Resource Files
43 ------------------------
44
45 Any files needed by the unit tests are kept under the src/test/resources/__files folder.
46
47 .. image:: ../images/bpmn_project_structure_5.png