--- /dev/null
+.. 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 Project Structure\r
+=======================\r
+\r
+BPMN main process flow\r
+----------------------\r
+\r
+A BPMN main process flow is a top-level flow. All main process flows are under the src/main/resources/process folder.\r
+\r
+CreateVfModuleVolumeInfraV1 is a main process flow.\r
+\r
+.. image:: images/bpmn_project_structure_1.png\r
+\r
+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.\r
+\r
+BPMN subprocess flow\r
+---------------------\r
+\r
+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.\r
+\r
+The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.\r
+\r
+.. image:: images/bpmn_project_structure_2.png\r
+\r
+Groovy scripts\r
+---------------\r
+\r
+There is one groovy script for each BPMN file. Groovy scripts are invoked by script tasks within the BPMN flows.\r
+\r
+.. image:: images/bpmn_project_structure_3.png\r
+\r
+Unit Tests\r
+-----------\r
+\r
+Normally, we create a unit test class for every flow. This one is missing a unit test for its rollback flow.\r
+\r
+.. image:: images/bpmn_project_structure_4.png\r
+\r
+Unit Test Resource Files\r
+------------------------\r
+\r
+Any files needed by the unit tests are kept under the src/test/resources/__files folder.\r
+\r
+.. image:: images/bpmn_project_structure_5.png
\ No newline at end of file