Introduction
Flowable is a compact, high-performance process engine written in Java that supports BPMN 2.0, CMMN, and DMN standards. It provides everything needed to model, deploy, and execute business processes and decision tables, from a graphical modeler to a REST API and task management UI.
What Flowable Does
- Executes BPMN 2.0 process definitions with support for user tasks, service tasks, gateways, and events
- Handles case management workflows using the CMMN standard
- Evaluates business rules and decision tables via the DMN engine
- Provides a web-based modeler for designing processes visually
- Exposes a REST API for deploying definitions and managing process instances programmatically
Architecture Overview
Flowable consists of separate engines for BPMN, CMMN, and DMN that share a common persistence layer backed by a relational database. Each engine manages its own lifecycle and state machine. The Spring Boot starter auto-configures all engines with sensible defaults, and the REST application wraps them in a single deployable service.
Self-Hosting & Configuration
- Embed the engine as a Maven dependency in any Java or Kotlin application
- Use the Spring Boot starter for zero-configuration setup with auto-database-migration
- Supports PostgreSQL, MySQL, Oracle, SQL Server, and H2 as backing stores
- Configure async job executors and history levels in flowable.cfg.xml or application.properties
- Deploy the Flowable UI apps (modeler, admin, task) as separate Spring Boot services
Key Features
- Standards-compliant BPMN 2.0, CMMN 1.1, and DMN 1.1 execution in a single engine
- Hot-deploy process definitions at runtime without restarting the application
- Built-in async job executor for timer events and asynchronous service tasks
- Comprehensive history and audit logging for compliance and debugging
- Lightweight footprint suitable for embedding in microservices
Comparison with Similar Tools
- Camunda — similar BPMN engine with a larger enterprise ecosystem; Flowable is more lightweight and permissively licensed
- Activiti — Flowable forked from Activiti and has since added CMMN, DMN, and significant performance improvements
- Temporal — code-first workflow orchestration; Flowable uses visual BPMN diagrams as the primary authoring format
- Zeebe — cloud-native workflow engine by Camunda; Flowable offers a more traditional embedded engine model
FAQ
Q: How does Flowable relate to Activiti? A: Flowable was created by the original Activiti founders and has evolved independently with new engines and features since 2016.
Q: Can I use it without Spring Boot? A: Yes. The core engine is standalone Java and can be configured programmatically without any Spring dependency.
Q: Is it production-ready? A: Yes. Flowable is used in production by banks, insurance companies, and government organizations for mission-critical process automation.
Q: What license does it use? A: The open-source edition is Apache 2.0. A commercial edition with additional features and support is also available.