Choosing the Right Open‑Source Workflow Engine: Camunda vs Flowable vs Activiti
This article reviews popular open‑source workflow engines—including Osworkflow, JBPM, Activiti, Flowable, and Camunda—examines their features, performance, and limitations, and provides a detailed comparison between Flowable and Camunda to guide developers in selecting the most suitable engine for low‑code, BPM, or OA projects.
Popular open‑source workflow engines in the market include Osworkflow, JBPM, Activiti, Flowable, and Camunda. These four frameworks (JBPM4, Activiti, Flowable, Camunda) share a common ancestry, originating from JBPM4, so experience with one generally transfers to the others.
1. Main Open‑Source Workflow Engines
Osworkflow
Osworkflow is a lightweight engine based on a state‑machine mechanism with very few database tables. It provides elements such as steps, conditions, loops, splits, and joins, but lacks support for countersign, jumps, returns, and add‑sign, requiring custom extensions. It is suitable for simple processes but is outdated and no longer maintained.
Official site: http://www.opensymphony.com/osworkflow/
JBPM
JBPM, developed by JBoss, has its latest version JBPM7. Since JBPM5 the code base diverged from JBPM4, being rebuilt on Drools Flow, which is rarely used in China. JBPM4 is older; its creator later created Activiti. JBPM now uses Hibernate for persistence, which is not mainstream, making it a less optimal choice today.
Official site: https://www.jbpm.org/
Activiti
Activiti, developed by Alfresco, currently at version 7, has a complex version history (Activiti5, 6, 7). Activiti5/6 were led by Tijs Rademakers, who left to create Flowable. Activiti5/6 are no longer maintained; development continues on Activiti7, which mainly reuses the Activiti6 core without adding major new features.
Official site: https://www.activiti.org/
Flowable
Flowable is a fork of Activiti6, currently at version 6.6.0. It fixes many Activiti6 bugs and adds support for DMN, BPEL, and other extensions. The open‑source edition is less actively maintained, while the commercial edition offers richer features.
Official site: https://flowable.com/open-source/
Camunda
Camunda is based on Activiti5 and retains the PVM engine. The latest version is Camunda 7.15, with two minor releases per year. It offers a stable open‑source version that is sufficient for most enterprise applications, and it is strongly recommended for its stable functionality and performance.
Official site: https://docs.camunda.org/manual/7.15/introduction/
2. Flowable vs Camunda Comparison
Feature Comparison
Camunda supports process‑instance migration across versions, while Flowable lacks this capability.
Camunda retains PVM compatibility with Activiti5, making migrations easy; Flowable requires more effort.
Camunda provides permission checks for every command class; Flowable does not.
Camunda offers batch APIs for bulk operations (e.g., suspend/activate processes); Flowable lacks such batch support.
Camunda allows asynchronous batch processing and configurable async execution; Flowable only supports a single async mode.
Camunda can start instances from arbitrary nodes; Flowable starts only from the start node.
Camunda supports arbitrary node jumps with optional listener triggering; Flowable requires custom extensions.
Camunda includes a rich set of scripting languages (Python, Ruby, Groovy, JUEL, etc.); Flowable supports only JUEL and Groovy.
Camunda provides external tasks for distributed transaction handling; Flowable offers only httpTask without waiting.
Camunda enables personalized query APIs, bulk history deletion/migration, lock mechanisms for high‑concurrency deployments, multi‑engine and multi‑database combos, cross‑definition instance jumps, distributed timers, and detailed performance bottleneck analysis; many of these features are absent in Flowable.
Performance Comparison
Benchmark tests show Camunda outperforms Flowable by 10%–39% in throughput, with no errors reported, while Flowable exhibited occasional failures. Camunda also demonstrates better stability under high‑concurrency scenarios.
Detailed performance test article: https://lowcode.blog.csdn.net/article/details/109030329
3. Recommendation
For most projects, the combination of Camunda (as the workflow engine) and bpmn‑js (as the diagram designer) is recommended. Real‑world experience confirms Camunda’s superior functionality, performance, and stability compared to Flowable and Activiti.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
