aboutsummaryrefslogtreecommitdiffstats
path: root/docs/BPMN_Project_Deployment_Strategy.rst
blob: 50f48363edbd1df677b3fccf4c0d22518edb17ce (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
33
34
35
.. 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 Project Deployment Strategy
==================================

Single Application with Embedded Process Engine
------------------------------------------------

Deployment in SO is currently limited to a single process application: MSOInfrastructureBPMN.  The WAR file for this application contains everything needed to execute the infrastructure process flows, including:

  * BPMN process flows, java classes, groovy scripts, and resource files from MSOInfrastructureBPMN itself.

  * BPMN process flows, java classes, groovy scripts, and resource files from other SO projects, like MSOCommonBPMN and MSOCoreBPMN.

  * An embedded Camunda Process Engine to execute the flows.

The process application exposes a REST endpoint to the API Handler(s) for receiving flow execution requests.

Development is required in SO to be able to support one a more versatile deployment strategy, probably one of the following:

Shared Process Engine
----------------------

The Camunda Process Engine is created and manged as a Wildfly module.  This single engine is shared by all process applications.

Multiple Applications, each with an Embedded Process Engine
-------------------------------------------------------------

More than one application could be deployed, each having its own embedded process engine.
OUT 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.policy.drools-pdp</groupId> <artifactId>packages</artifactId> <version>1.3.7-SNAPSHOT</version> </parent> <artifactId>base</artifactId> <packaging>pom</packaging> <name>Base Package</name> <description>ONAP Policy Drools PDP Packaging</description> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <goals> <goal>single</goal> </goals> <phase>package</phase> <configuration> <descriptors> <descriptor>src/assembly/zip.xml</descriptor> </descriptors> <appendAssemblyId>false</appendAssemblyId> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>unix_pe_version</id> <activation> <os> <family>!windows</family> </os> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>create-version-file</id> <goals> <goal>exec</goal> </goals> <phase>prepare-package</phase> <configuration> <executable>/bin/bash</executable> <arguments> <argument>-c</argument> <argument>mkdir -p target ; echo -e 'version="${project.version}"\ndescription="ONAP Drools PDP"\nbuildTag="'"${BUILD_TAG}"'"\ncommit="'"${GIT_COMMIT}"'"\ntimestamp="${maven.build.timestamp}"' &gt;target/build.info</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>