jBPM and Activiti are both open-source business process management (BPM) systems that help organizations automate and optimize their business processes. Both jBPM and Activiti are written in Java and can be used to model, execute, and monitor business processes.
Let’s see in detail which are the key features of each BPM:
jBPM key features
jBPM is a part of the Red Hat JBoss Middleware portfolio, and it contains additional features to allow the integration with other Red Hat technologies
- Native BPMN2 execution: jBPM uses the Business Process Model and Notation (BPMN) 2.0 specification to model business processes. BPMN is a widely used standard for modeling business processes, and jBPM supports the full range of BPMN 2.0 constructs.
- Integration with Drools: To use Drools within a jBPM process, you can create a Drools rule file using DRL and then use jBPM’s graphical modeling tools to incorporate the rule file into your business process. jBPM will execute the rules at runtime, using the input data provided by the process to determine the appropriate action to take.
- Support for Decision Models: jBPM supports decision models as part of its business process management (BPM) capabilities. Decision models allow you to specify the logic and rules that should be followed when making decisions within a business process. In jBPM, decision models are implemented using the DMN (Decision Model and Notation) standard. DMN is a standardized notation for specifying decision logic in a way that is easy to understand and maintain. jBPM supports the full range of DMN constructs, including decision tables, decision trees, and literal expressions.
- Design tooling: there are several tools and plugins that support BPMN2 process creation, deployment, management, reporting (with BIRT) and human tasks. For example, the on-line process designer: https://sandbox.kie.org/
- Process Instance Migration tools: the supported version of the product (Process Automation Manager) includes a tool (Process Instance Migration) to migrate different version of the jBPM Processes
- Runtime: You can run the jBPM runtime on top of WildFly / JBoss EAP 7. However you can also use Spring Boot as runtime for your JBPM engine.
- Cloud-ready: You can deploy the JBPM runtime on top of Enterprise Kubernetes products such as OpenShift
Activiti key features
Activiti, like jBPM, is a business process framework designed around the concept of a state machine. Backed by Alfresco company, Activiti has also the collaboration of many talented people from SpringSource as well.
Here are some key features of Activiti:
- Activiti is mainly on the Spring framework which allows using Spring Beans in your process and in data persistence (JPA) as well.
- Activiti is also compliant with BPMN specifications. However, it also supports a number of extensions to the BPMN specification. These extensions are designed to provide additional functionality and capabilities beyond what is available in the standard BPMN specification.Some examples of Activiti BPMN extensions include:
- Activiti Forms: Activiti Forms allows you to create and display user forms within a business process. Forms can be used to collect input from users, and can be integrated with other Activiti features such as task management and process variables.
- Activiti Cloud: Activiti Cloud is a set of cloud-native microservices that can be used to build and deploy business processes in the cloud. Activiti Cloud includes features such as process definition storage, task management, and process analytics.
- Activiti Rules: Activiti Rules is a rules engine that allows you to specify business rules and logic within a business process. Activiti Rules is based on the open-source Drools rule engine, and allows you to define rules using the Drools Rule Language (DRL).
For a comprehensive tutorial about Activiti check this article: Activiti BPMN Quickstart guide