jBPM Tutorial- Difference between jBPM and Activiti

jBPM

jBPM stands for Java Business Process Management. It is a fully open-source, lightweight, and flexible business process management suite, which is written in the Java language. It allows us to create, deploy, execute and monitor business processes throughout their life-cycle. It is a toolkit for business process application, which fills the gap between the business analysts and developers. It is distributed under the Apache license and was released under the ASL by the JBoss Company.

jBPM Features

jBPM is lightweight, open-source, and written in Java language.

It supports BPMN 2.0 specification, which is a global standard for process modelling.

It supports persistence and transaction based on the JPA and JTA.

It has a Rule Engine which provides a declarative language to evaluate the available information.

It can work on both Eclipse-based and Web-Based editor, which provides drag and drop support for the graphical creation and simulation of our business processes.

Activiti

An activiti, like jBPM, is a business process framework which is designed around the concept of a state machine. It is lightweight, open-source workflow engine written in Java that can execute the business processes described in BPMN 2.0. Activiti is the foundation for Alfresco’s APS (Alfresco Process Services) and Alfresco Company is the Activiti project’s leading sponsor.

Features of Activiti

It can run on any Java environment such as Spring, JTA, etc.

It is easy to get up and run with the setup utility.

It is extremely fast.

It has the ability to test process execution in isolation in a plain unit test.

It is built to support the cloud scalability.

jBPM vs Activiti

The difference between jBPM and Activiti are as follows.

Description jBPM Activiti
Community Members jBPM has a base team consisting of the employees of JBoss company. Also, there are individual developers available who are committing to the jBPM project. It has a base team consisting of the employees of Alfresco company. Also, some companies like SpringSource, FuseSource provides resources on specific components. In addition, there are some open-source developers available who are committing to the Activiti project.
Spring Support jBPM does not provide native Spring support, but you can use it with the additional development effort. It provides native spring support. It makes it very easy to use Spring beans in your processes. You can also use Spring for JPA and Transaction management.
Business Rules Support jBPM and Drools are integrated on a project level. So, we can integrate Drools on the various level in a project. It provides the basic integration with the Drools rule engine for supporting the BPMN 2.0 business rule task.
Additional Tools jBPM provides the modeller and Eclipse designer tool to create a process definition. It provides limited Form support. Eclipse provides a modeller and designer tools to create a new process definition. It also provides an Activiti explorer, which provides an easy web interface to start new processes and manage the running processes. It provides full Form support.
Form Builder jBPM provides a basic form builder that can be auto-generated from process variables. It also supports form builder, but it is available only in the enterprise edition.