Camunda BPM Platform 7.8.0 is here, significantly improving the process engine’s performance.

Besides that, we have made numerous improvements for Cockpit. The highlights are:

  • Batch Operations for Process Restart, Suspend/Resume and State Modification
  • Deletion of Process Definitions
  • Inspecting and Editing JSON and XML variables
  • Seeing the number of technical incidents within a process diagram
  • Faster rendering of BPMN diagrams

In addition, the database Microsoft Sql Server 2016 and the Microsoft Edge browser are now officially supported.

The complete release notes are available in Jira.

List of known Issues.

You can Download Camunda For Free or Run it with Docker.

We have also released the [Camunda Spring Boot Starter 2.3.0]([ref “/post/2017/11/”]) project, which relies on Camunda BPM 7.8 by default.

Significant performance improvements

Camunda 7.8 improves performance by using batching of SQL-statements to the database.

Let’s look at the following BPMN process as an example:

BPMN process

  1. The process is started with a single variable loopVariable, containing a list of 20 Strings.
  2. Step 1 is declared as multi instance, creating instances based on the loopVariable collection – 20 instances in our case. This produces 20 separate variables in the database (including history of changes in two historic tables).
  3. After the parallel gateway, 5 service tasks are executed. This also produces some output to the history tables.
  4. Finally, all the changes are committed in one transaction, as all the processes are declared to be executed synchronously.

Below you can find our benchmark results when running this process at history level FULL against different databases with batch mode ON and OFF. The chart shows throughput over time (i.e., process instances executed / minute), higher is better.

benchmark results

Please be aware that these numbers should not be used to compare different databases. However, they are consistent within one database and demonstrate considerable speed improvements on 4 out of 6 tested databases. At the same time, we see that the MySQL and MariaDB databases apparently do not distinguish between batch and simple processing mode.

How is this improvement possible?

When executing such a process, the engine needs to perform many SQL statements (INSERT, UPDATE, DELETE, SELECT). Usually, statements are executed sequentially. In that case, each statement constitutes a full roundtrip from the Java process engine to the database, including the network roundtrip time. With 7.8, this is optimized by using SQL statement batching. All statements executed against the same database table are now executed as a batch, which is only a single roundtrip to the database.

Batch mode is switched on by default. (Please see limitations for some databases.)

It is possible to switch it off by using the following configuration parameter:

<property name="jdbcBatchProcessing" value="false"/>

New Features in Camunda Cockpit

This release adds many new features in Cockpit. In this blogpost we only present the three main highlights:

  • Batch Modification of Process Instances
  • Restart of Process Instances
  • Deletion of Process Definitions

Batch Modification of Process Instances

Sometimes process instances somehow take a wrong turn or end up in a state they should not be in. Some common causes for this are:

  • Incorrect data/payload has been provided or
  • An error in an external system

After solving these (or other) issues, it might be necessary to repeat some steps.

To deal with such situations, Camunda introduced a feature to modify process instances in previous releases. Up until now, in Cockpit the modification only worked on a single process instance. Starting with 7.8, process instance modification can now be executed in a batch of process instances in Cockpit.

Video showing batch process instance modification in Cockpit

More details can be found in the documentation on process instance modification and batch operations.

Restart of Process Instances

While modifications can only be applied to running process instances, sometimes it is necessary to recreate or to restart process instances which have already ended. To achieve this, this release makes the Process Instance Restart API available in Camunda Cockpit.

Video showing batch process instance restart in Cockpit

More details can be found in the documentation on process instance restart and batch operations.

Deletion of Process Definitions

Until now, it has only been possible to erase process definitions in Cockpit by deleting a whole deployment. This behavior is not sensible as, generally speaking, a deployment consists of several process definitions and resources – including those that are possibly still required and not supposed to be deleted.

This release brings a new feature to Cockpit that allows deletion of process definitions, regardless of their respective deployments.

Video demonstrating deleting process definitions in Cockpit

Apart from deleting individual versions, it is even possible to delete all versions of a process definition.

More details can be found in the documentation on process definition deletion.

Much more

There are many more smaller features and bugfixes in the release which aren’t presented here in the blogpost. The full release notes provide the details.

Register for the Webinar

If you have not already, make sure to place a last-minute registration for the free release webinars – German and English.

Feedback Welcome

Please try out the awesome new features of this release and provide feedback by commenting on this post or reaching out to us in the forum.

  • Monitoring Camunda Platform 7 with Prometheus

    Monitoring is an essential facet of running applications in a production system. Through this process, organizations collect and analyze data, and determine if a program is performing as expected within set boundaries. When combined with alerting, monitoring allows for detecting unexpected system behavior to mitigate exceptional situations as fast as possible. Furthermore, tracking the performance of a system enables organizations to improve those aspects that have the biggest impact with higher priority. One essential aspect of monitoring is the list of key metrics you want to observe. There are different categories of statistics that can be of interest here. To observe the defined metrics, there are plenty of application monitoring tools on the market today. They differ in many aspects...

    Read more
  • Securing Camunda 8 self-managed cluster and applications...

    Directory services are an effective way to manage an organization’s users, groups, printers, devices, and more. Most organizations accomplish this using Active Directory, Apache Directory, Oracle Internet Directory, or other similar tools. Recently I worked with a customer who wanted to see how he could secure the Camunda 8 Platform and process applications with such a directory. Their requirements consisted of: Allowing Directory users to access Camunda applications (Tasklist, Operate, Optimize) Accessing secured Tasklist & Operate APIs from our custom project Securing the custom project In this article, I’ll briefly explain the 3 easy steps taken to fulfill their requirements which include: Federate users from the Directory service into Keycloak Declare an application in Identity to access Camunda APIs Configure...

    Read more
  • Accelerate Connectivity with Camunda Platform 8.1

    We’re thrilled to announce Camunda Platform 8.1, the latest release of our process orchestration solution. This new version introduces features that accelerate connectivity to the many different systems and technologies that are required for true digital transformation, including: Create custom Connectors with our Integration Framework to accelerate connectivity New out-of-the-box Connectors for popular services Enhancements to Camunda Modeler that improve productivity Hot backups and official support for Amazon EKS and Red Hat OpenShift Plus, several upgrades requested by Camunda Platform 7 customers Organizations across all industries rely on complex technology stacks to adapt and enhance their operations in response to market dynamics, new disruptive companies, and increasing consumer expectations. Your technology stack likely includes everything from cutting-edge technologies to legacy...

    Read more

Ready to get started?

Still have questions?