summaryrefslogtreecommitdiffstats
path: root/docs/BPMN_Subprocess_Process_Flows.rst
blob: fc36cc54c9077625dca11b69dc7b65761b29460c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.. 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 Subprocess Process Flows
==============================

Characteristics
----------------

**Invoked by other flows**

    A BPMN Call_Activity_ provides the mechanism to invoke subprocess flows.  The Called Element attribute of the Call Activity specifies the name of the subprocess to execute.

.. _Call_Activity: https://docs.camunda.org/manual/7.7/reference/bpmn20/subprocesses/call-activity/

**Input and Output variable mapping**

    In the modeler, you can specify a list of "In Mappings".  With this, you can map execution variables from the calling flow to the subprocess.  The subprocess always has its own copy of each variable.  To transfer values back to the calling flow, you specify "Out Mappings".

**May throw MSOWorkflowException**

    The current best practice for reporting errors from subprocess is described here:
	
    * The subprocess should create a WorkflowException object and store it in an execution called WorkflowException.
    * The WorkflowException object contains an error code and an error message.
    * The subprocess should then throw an MSOWorkflowException BPMN event which may be handled by the calling flow.
	
Example: VnfAdapterRestV1.bpmn
-------------------------------

.. image:: images/BPMN_Subprocess_process_flows_1.png
nse. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ============LICENSE_END============================================ --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.ccsdk.cds</groupId> <artifactId>ui</artifactId> <version>0.7.0-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>application</artifactId> <version>0.7.0-SNAPSHOT</version> <packaging>pom</packaging> <name>CDS UI Application</name> <properties> <image.name>onap/ccsdk-cds-ui</image.name> <ccsdk.project.version>${project.version}</ccsdk.project.version> <ccsdk.distribution.version>${project.version}</ccsdk.distribution.version> <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> <docker.verbose>true</docker.verbose> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <goals> <goal>execute</goal> </goals> <configuration> <source>${project.basedir}/../../TagVersion.groovy</source> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>docker</id> <build> <plugins> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.28.0</version> <inherited>false</inherited> <configuration> <images> <image> <name>${image.name}</name> <build> <cleanup>try</cleanup> <tags> <tag>${project.docker.latestminortag.version}</tag> <tag>${project.docker.latestfulltag.version}</tag> <tag>${project.docker.latesttagtimestamp.version}</tag> </tags> </build> </image> </images> </configuration> <executions> <execution> <id>generate-images</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>push-images</id> <phase>deploy</phase> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>