A new alpha release of our open source BPM and Workflow platform is available for download. The highlights of this release are:

  • Process Engine Java and REST API
    • Process-level authorizations: define ACL-like authorizations for restricting possible interactions with process-related resources (Process Definitions, Process Instances, Tasks …), in both Java and REST API.
    • Deep tissue refactoring of implementation of Multi Instance constructs in process engine.
    • Many, many bug fixes related to multi instance, event sub processes, boundary events and compensation.
    • API for process instance repair: Modify a process instance’s execution structure through the ability to start and cancel activities in a flexible way.
    • Job Executor Threadpool can be configured for shared process engine in Apache Tomcat
    • Improved Error Handling: call activities now also map variables in case an error is thrown, access error code as process variable in error handler
    • Improved Task Query capabilities: processInstanceBusinessKeyIn(...), processDefinitionKeyIn(...), .taskDefinitionKeyIn(...), .parentTaskId(...), ,
    • Adds Support for Databases: Mysql 5.5 / 5.6, Maria DB 10.0, Microsoft SQL Server 2014, PostgreSQL 9.4, IBM DB2 10.1 /10.5
    • Adds Support for Application Servers: WildFly 8.2, JBoss EAP 6.4
    • Adds Support for Java Runtimes: IBM® J9 virtual machine (JVM) 8, OpenJDK 6 / 7
    • Rest API now supports Jackson 2.3.x
  • Cockpit
    • Better auditing through improved User Operation Log now supporting all process instance related interactions
    • Restrict visibility of process definitions, instances and tasks and the possible interactions on these based on authorizations
    • Enterprise Edition-only feature: UI for process instance repair: Modify a process instance’s execution structure through the ability to start and cancel activities in a flexible way.
    • UI improvements
    • bpmn.io is now used as diagram renderer
    • Activity instance tree now correctly differentiates the multi instance body scope from the inner activity instance
  • Tasklist
    • Start process dialog: Restrict visibility of processes which a user is not authorized to start.
    • Improved Filter Capabilities
  • Admin
    • Configure process-related authorizations
The full release notes can retrieved from Jira.

Run this Release with Docker

If you want to run this release with Docker, you can use the freshly baked Docker images. The following command line will start the tomcat distribution:

docker pull camunda/camunda-bpm-platform:7.3.0-alpha3
docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:7.3.0-alpha3

Open browser with URL: https://localhost:8080/camunda/

See the Camunda Docker Images project for alternative distributions and versions.

The Process Instance Modification API

This release introduces a very powerful new API for modifying the state of process instance. You can

  • Cancel existing activity instances,
  • Start execution before an activity, after an activity or on a sequence flow.

The following is an example of how the API can be used.

Assume that we have the following BPMN process:

example process

We have a process instance which is currently waiting in the Prepare Bank Transfer task. Due to a technical problem, the Archive Invoice service task must be executed again. In order to achieve that we can execute the following command using the process instance modification API:

//find process instance for invoice id '1223123'
ProcessInstance pi = runtimeService.createProcessInstanceQuery()
  .variableValueEquals("invoiceId", "1223123")
  .singleResult();

// find active instance of 'prepareBankTransfer' activity for this process instance
ActivityInstance prepareBankTransferInstance = runtimeService.getActivityInstance(pi.getId())
  .getActivityInstances("prepareBankTransfer")[0];

// perform the modification
runtimeService.createProcessInstanceModification(pi.getId())
  .startBeforeActivity("archiveInvoice")
  .cancelActivityInstance(prepareBankTransferInstance.getId())
  .execute();

The command will first search for the process instance for invoice with id ‘1223123’.
Within this process instance it then searches for the instance of the ‘prepareBankTransfer’ activity.
Finally it executes the modification starting a new instance of the ‘archiveInvoice’ activity and then cancels the previous ‘prepareBankTransfer’ activity.

We believe the use cases for this API are centered around

  • Repairing process instances in which some steps have to be repeated or skipped.
  • Migrating process instances from one version of a process definition to another.
  • Testing: you can now flexibly “skip ahead” in the process or “go back” which is very useful for testing individual segments of a process

Process Instance Modification Plugin for Cockpit

Camunda Cockpit now also provides a plugin for using the modification API. This plugin is only available in the Camunda Enterprise Subscription.

Process Instance Modification Plugin for Cockpit

Process Authorizations

This release provides a first preview of the Process Authorization API. The API allows users to authorize access to process related resources such as

  • Process Definitions
  • Process Instances
  • Tasks

If authorization checks are enabled, authenticated users can only see, modify and delete those process definitions, process instances and tasks which they are authorized to see, modify and delete.

Example

If the demo user mary logs into the Camunda Tasklist, she is not authorized to start the invoice process. As a result, she does not see the process in the list of processes she can start:
Start process selection in tasklist with no process definitions
Next, we create the necessary authorization for Mary. We authorize her to READ the Process Definition invoice and to CREATE_INSTANCE of the Process Definition invoice.
process definition authorizations
As a result, she can now see the Process Definition “invoice and start a new process instance:
Start process selection in tasklist with one process definition

All of this is available at a Java API and REST API level as well.

In this alpha release, the authorization framework is still missing some pieces:

  • Variable Access
  • Repository Service Access
  • History
This will be completed before we release the 7.3.0 Final release.
We believe this is a big step for Camunda as it will allow users to deploy the REST API and web applications in the could and other untrusted networks and restrict access to resources on a per user or group level.
  • 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?