seshukm | 01b1ed2 | 2017-11-06 10:50:27 +0530 | [diff] [blame] | 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 |