jBPM and Activiti- An Analysis
Business Process Management is an essential part of every web application. These web applications can be anything like Portal, CMS, CRM or ERP. In the open source world, organizations are mostly selecting either Activiti BPM or jBPM. Here are the glimpse of features and comparison.
Let us start with Google trends, which show us
popularity of both the products. jBoss jBPM is one of the oldest product
available in the market while Activiti BPM has launched somewhere in the year
2010. However, if we can look at below chart, we can see that the interests of people change from time to time.
As per Google Trends
jBoss jBPM is one of the popular BPM 2.0 tool in its
category. While on other side, Activiti BPM Engine is one such light weight and
easy to use for Java developers. In that respect, both have a stiff competition
on its success. The success claim comes with big difference between Activiti
BPM and jBoss jBPM will not be in the process engine, but which will be the
more sophisticated tool that we'll be able to build on top. Activiti is new but
on its track to attract market and on path to success as jBPM did once upon a
time.
jBPM 6
jBPM 6 is the latest community version of the jBPM project. It is based on the BPMN 2.0 specification and supports the entire life cycle of the business process (from authoring through execution to monitoring and management).
It offers open-source business process execution and management, including
- Embeddable, lightweight Java process engine, supporting native BPMN 2.0 execution
- human interaction using an independent WS-HT task service
- BPMN 2.0 process modeling in Eclipse (developers) and the web (business users)
- web tooling to model, deploy, execute and monitor your processes, including for example a data and form modeler, simulation, deployment, task lists, etc.
- web-based business activity monitoring and reporting that allows you to define your own reports
- managing and deploying your processes using technologies underneath like Git and Maven
- an execution server that you can remotely connect to (REST, JMS) and can be deployed in a clustered environment for load balancing and high availability
- tight, powerful integration with business rules and event processing
Activiti
Activiti 5.15.0 is the latest community version of the Activiti project. It's a Java process engine that runs BPMN 2 processes natively. It will have the following key properties:
- Allows user updates to be combined with process updates in a single transaction
- Runs on any Java environment like Spring, JTA, standalone with any form of transaction demarcation.
- Easy to get up and running with the setup utility
- Built to support the cloud scalability from the ground up
- Very simple to add new custom activity types and complete dedicated process languages
- Rock solid
- Extremely fast
- Transactional timers
- Asynchronous continuations
- Hidden event listeners for decoupling software technical details from business level diagram
- Ability to test process executions in isolation in a plain unit test
I have referred few articles and given below are the differences between jBPM and Activiti:
Description
|
Activiti
|
jBPM
|
Community members
|
Activiti has a base team consisting of
Alfresco employees. In addition,
companies like SpringSource,
FuseSource and MuleSoft provide
resources on specific components. And of course, there
are individual open source developers committing to the Activiti project.
|
jBPM has a base team of JBoss
employees. In addition there are individual committers.
|
Spring support
|
Activiti has native Spring support, which makes it very easy use Spring beans in your processes and use Spring for JPA and transaction management.
|
jBPM has no native Spring
support, but you can use Spring
with additional development effort.
|
Business rules support
|
Activiti provides a basic integration with the Drools rule engine to support the BPMN 2.0 business rule task.
|
jBPM and Drools are integrated on a project level and therefore there’s native integration with Drools on various levels.
|
Additional tools
|
Activiti provides a modeler (Oryx) and designer
(Eclipse) tool to model new process definitions. But the main differentiator is the Activiti Explorer, which
provides an easy-to-use web interface to start new processes, work with tasks
and forms and manage the running processes. In addition it provides ad-hoc
task support and collaboration functionality.
|
jBPM also provides a modeler
based on the Oryx project and a Eclipse designer. With a web
application you can start new
process instances and work with tasks. The form support is
limited
|
Project
|
Activiti has a strong developer and user community with a solid release schedule of 2 months. Its main components are the Engine,
Designer, Explorer and REST application
|
jBPM has a strong developer and user community. The release schedule is not crystal clear and some releases have been postponed a couple of times.
The Designer application is (at the moment of writing) still based on Drools
Flow and the promised new Eclipse plug-in keeps getting postponed
|
Conclusion:
From the above comparison, You can choose jBPM or
Activiti, both will teach you and let you implement the BPM discipline main
stages. Both are Open Source and ASL licensed.

Hi Swathi,
ReplyDeleteThanks for a great article! Great to see a more recent comparison of these two most out there at the moment are against older versions.
I am currently doing my own in depth analysis and would love to know which article you've used to gather this infomation from is there any change you might be able to include the references/links where you gathered your infomation from?
Thank you very much in advance
Melissa
Melissa,
DeleteI am also doing an analysis on the OSS BPM platforms. Did you reach to any conclusion you can share with me?
Best regards,
Kazu