Activiti BPM
Activiti BPM
Introduction
Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
The Mule Activiti module allows you to control your Activiti instance from Mule.
Compatibility
The following module has been tested with Activiti 5.3 and 5.4.
Features
The Mule Activiti module allows you to control your Activiti instance using the following actions:
- Create process.
- Get the value of a variable at runtime.
- Get the historic value of a variable.
- Get the latest value of a variable.
- Obtain information of a task.
- List the assigned tasks of a user.
- List the candidate tasks for a group.
- List the candidate tasks for a user.
- List the process definitions.
- Perform a operation over a task (claim or complete).
Deployment mode
This module allows you to interact with Activiti in 2 different deployment modes:
- Remote: Mule and Activiti run as separate instances and the integration is done using a REST API.
- Embedded: Activiti's process engine runs inside Mule. To do so you will need to add the following libraries into your application lib folder:
- activiti-engine-VERSION
- activiti-spring-VERSION
- apache-mime4j-VERSION
- h2-VERSION
- mybatis-VERSION
Namespace and Syntax
Remote mode
- XML namespace:
xmlns:activiti="http://www.mulesoft.org/schema/mule/activiti-remote" - XML namespace:
http://www.mulesoft.org/schema/mule/activiti-remote http://www.mulesoft.org/schema/mule/activiti-remote/3.2/mule-activiti-remote.xsd
Embedded mode
- XML namespace:
xmlns:activiti="http://www.mulesoft.org/schema/mule/activiti-embedded"
- XML namespace:
http://www.mulesoft.org/schema/mule/activiti-embedded http://www.mulesoft.org/schema/mule/activiti-embedded/3.2/mule-activiti-embedded.xsd
Example Configurations
For each possible action we have link the test and configuration for both remote and embedded modes.
modes.
- Create process:
Remote test and remote configuration.
Embedded test and embedded configuration.
- Get the value of a variable at runtime:
Remote test and remote configuration.
Embedded test and embedded configuration.
- Get the historic value of a variable:
Remote test and remote configuration.
Embedded test and embedded configuration.
- Get the latest value of a variable:
Remote test and remote configuration.
Embedded test and embedded configuration.
- Obtain information of a task:
Remote test and remote configuration.
Embedded test and embedded configuration.
- List the assigned tasks of a user:
Remote test and remote configuration.
Embedded test and embedded configuration.
- List the candidate tasks for a group:
Remote test and remote configuration.
Embedded test and embedded configuration.
- List the candidate tasks for a user:
Remote test and remote configuration.
Embedded test and embedded configuration.
- List the process definitions:
Remote test and remote configuration.
Embedded test and embedded configuration.
- Perform a operation over a task (claim or complete):
Remote test and remote configuration.
Embedded test and embedded configuration.
Maven
This module is part of the following maven module:
<id>muleforge-repo</id>
<name>MuleForge Repository</name>
<url>http://repository.muleforge.org/release</url>
<layout>default</layout>
</repository>
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-activiti</artifactId>
<version>3.2.0</version>
</dependency>