The Technology behind our BPM Engine: Camunda

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.