Technologies

The technology behind our BPM Engine: Camunda

If you remember, not that long ago we talked about the Decision Model and Notation standard approach to describe and model repeatable decisions within organisations, and which we use in the Onesait Platform.

We have integrated this DMN, as we said, with Camunda, which is a BPM platform that emerged as Activiti‘s fork, and over the last years it has become known on its own merits in the environment of BPMs, so much so that, right now, as we shall see, it is an option to consider for what it offers.

https://unpocodejava.files.wordpress.com/2018/09/image005.jpg

But, what components does Camunda consist of? Let’s see it.

BPMN WorkFlow Engine

  • It includes support for microservice orchestration and human task management.
  • It can work embedded in a Java application (it has a Spring Boot starter).
  • It supports most of the BPMN 2.0 standard.
  • It offers a REST API to start processes, complete tasks, etc.
  • It offers a Java API to simplify its handling.
  • It is a high-performance engine with very interesting functions including caching, concurrency management, save points, etc.
  • It supports persistence in different relational databases.
  • It provides clustered operation with load balancing.
  • It differentiates between «runtime» mode (needed to execute) and «historical» mode (for reports, auditing, etc.).

DMN Rule Engine

  • It supports the Decision Model and Notation (DMN) 1.1 standard, which is the BPM standard for business decision making.
  • It supports Decision Tables.
  • It offers a REST API to query rules:
  • It also supports the Friendly Enough Expression Language (DMN FEEL).

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 models that are executable in the BPM Engine.
  • It allows the extension via Templates (for example to create a Mail Task that we would see in the palette).
  • It supports the plugin concept to extend the functionality.

Task List

  • This is a ready-to-use web application that allows end users to work on the tasks assigned to them.
  • The Engine creates tasks based on the BPMN model, and assigns these to the users that are defined in the model.
  • The Engine creates tasks based on the BPMN model, and assigns these to the users that are defined in the model.

Cockpit

  • It allows you to monitor workflows and decisions in production time to discover, analyse and solve technical problems.
  • This is a very interesting tool for technical process operations.

Management

  • Allows to manage the web application and the REST API users, assigning groups, permissions, integrating with an LDAP for user management, etc.

Optimize

  • It allows you to create reports and organize them in a dashboard.
  • It allows you to set up alerts and heat maps, identify bottlenecks, etc.

Camunda is licensed under Apache 2.0 and offers a Community version (without Cockpit or Optimize), and a subscription model for the Enterprise version and its more than 100 clients, including AT&T, T-Mobile, Universal Music, Zalando and many more.

If you are interested in learning more about this software, take a look at this white paper that compares Camunda with other BPM solutions.

✍🏻 Author(s)

Leave a Reply