The Technology behind our BPM Engine: Camunda
- 1 What is it?
- 2 Camunda Components
- 2.1 BPMN WorkFlow Engine
- 2.2 DMN Rules Engine
- 2.3 Modeler:
- 2.4 Tasklist
- 2.5 Cockpit
- 2.6 Administration
- 2.7 Optimize
What is it?
Camunda is a BPM platform that arises as a fork of Activiti, and over the years has been getting a name in the world of BPMs, so much so that, now, as we shall see, it is an option to consider for what it offers (read 5 Reasons to switch from Activiti to Camunda).
Camunda Components
The Camunda stack is made up of these components:
BPMN WorkFlow Engine
With support for microservices orchestration and human task management.
It can run embedded in a Java application (has a Spring Boot starter).
It supports most of the BPMN 2.0 standard (See support).
It offers a REST API to start processes, complete tasks, ... (View REST API).
It provides a Java API to simplify management:
It is a high-performance engine with very interesting functionalities such as caching, concurrency management, savepoints, ... (Read more).
It supports persistence in different relational databases.
It operates in clustering with load balancing.
Difference between Runtime (what is needed to run) and historical (for reporting, auditing, etc.).
DMN Rules Engine
It supports DMN 1.1 standard (Decision Model and Notation), which is the standard in BPM for business decision making.
It supports Decision Tables (Read more).
It provides a REST API for querying rules:
It also supports DMN FEEL (Friendly Enough Expression Language).
Modeler:
This is a very easy to use desktop application that allows you to create BPMN process diagrams and DMN decision tables.
It supports BPMN 2.0, CMMN 1.1 and DMN 1.1.
It allows the creation of executable models in the BPM Engine.
It allows the extension via Templates (for example to create a Mail Task that we would see in the palette, see templates):
It supports the concept of plugins to extend the functionality (See plugins):
Tasklist
This is a ready-to-use web application that allows end users to work on tasks assigned to them.
The Engine creates tasks based on the BPMN model, and assigns these to the users defined in the model.
Cockpit
It allows to monitor workflows and decisions in production to discover, analyze and solve technical problems.
It is a very interesting tool for technical process operations.
Administration
It allows to manage the web application and the REST API users, assigning groups, permissions, integrating with LDAP for user management,...
Optimize
It allows you to create reports and organize them in a dashboard.
It allows you to configure alerts, identify bottlenecks, heat maps, ...
Camunda has Apache 2.0 license and offers a Community version (without all Cockpit or Optimize) and a subscription model for the Enterprise version and its more than 100 customers, among them AT&T, T-Mobile, Universal Music, Zalando,...
Here you can find a white paper comparing Camunda with other BPM solutions.