Author

Thorben Lindhauer

Camunda BPM 7.5.0-alpha2 Released

Camunda 7.5.0-alpha2 is here. The highlights of this release are: New View in Cockpit for Process Instance Migration (Camunda Enterprise Edition only) New API for Process Instance Migration New API for Resource-efficient Multi-tenancy Extended Support for External Tasks BPMN Model API Improvements 18 Bug Fixes The complete release notes are available in Jira. You can Download Camunda For Free or Run it with Docker. Find a list of known issues in Jira.

By Thorben Lindhauer

Jan 25, 2016

Converting Excel Worksheets to DMN

Decision Model and Notation (DMN) is the new kid on the block when it comes to defining decisions and business rules. Like BPMN and CMMN, it tries to bridge the gap between human readable definition of business-relevant aspects and technical realization. DMN therefore has a graphical representation as well as an XML-based serialization format and Camunda provides you with a beautiful editor to manage both. So why not go full DMN any minute now? Probably because you work with business rule definitions for much longer than DMN is around and you manage them in Excel. Recreating these with the DMN editor is a tedious task. That is where Camunda’s newest community extension comes into play: The Excel worksheet to DMN…

By Thorben Lindhauer

Scaling Camunda BPM in a Cluster: Job Executors and Coordination

Throughout development of Camunda 7.4, one of our focus points is job executor features and improvements. The job executor is the process engine’s component to perform deferred actions, such as executing an intermediate timer event or an asynchronous continuation. Thus it is central in the Camunda architecture and central for scaling the BPM platform in a cluster. In this post we provide insight in job executor behavior and how job executor instances be coordinated by employing a backoff strategy that is part of the upcoming Camunda 7.4.0-alpha2 release.   Setting: Clustered Job Execution As pointed out in the previous post on our new job prioritization feature, Camunda is widely used by customers in domains where the degree of automation is…

By Thorben Lindhauer

Job Prioritization for Asynchronous Processing at Scale

Camunda users process heavy workloads with the process engine. Often this includes asynchronous processing which is handled using the job executor component. The amount of jobs that need to be processed can quickly reach an order of magnitude of millions of jobs per day. To bring order into situations of high job executor load, Camunda BPM 7.4.0 will ship job prioritization. With our first 7.4.0-alpha1 release, you can already have a look at it and give it a try. This article deals with three questions: What is Job Prioritization useful for? How to use Job Prioritization? What will this look like in 7.4.0? The Case for Job Prioritization Up to date, Camunda BPM is used by a growing number of…

By Thorben Lindhauer

Why we Re-Implemented BPMN Multi-Instance Support in 7.3

Have you ever experienced bugs with multi-instance activities? You may choose from any of these: CAM-986, CAM-1731, CAM-2075, CAM-2338, CAM-2787, CAM-2897, CAM-3851, CAM-3925. From the engine’s early beginnings, its multi-instance implementation was more of a quick hack than a durable solution. Yet, it was carried from release to release, the pile of bugs and hair lost by desperate developers growing steadily. With Camunda BPM 7.3, we have refactored multi-instance fundamentally, drying one of the largest bug sources and fighting developer bald-headedness. This post provides insight into the engine’s execution model, two alternatives of treating multi-instance in that model, and why we believe our recent changes have dramatically improved the situation. On Process Execution In order to understand the implementation of…

By Thorben Lindhauer

Getting Started: CMMN and Camunda

With Camunda BPM 7.2, we have released our very first implementation of the Case Management Model and Notation (CMMN) standard. Some people even say it is the first available CMMN implementation at all. Like BPMN, CMMN is a specification by the Object Management Group and while BPMN is a standard for modeling processes that are highly structured, CMMN is a standard for modeling cases. In contrast to processes, cases are user- and data-driven and typically are much less pre-defined in terms of execution order and required tasks. With 7.2, it is now possible to deploy CMMN models to the engine, and interact with case instances via a rich Java and REST API. For human tasks, camunda Tasklist can be used…

By Thorben Lindhauer

Who cares about Types? Querying with Numeric Variable Values

The final camunda 7.2 release is a stone’s throw away and ships a ton of new features. One of these is the typed variable value API. You may already know the plain-value-based API that exists since the process engine’s very first days. A variable can be set on an execution/task/… as follows: execution.setVariable(“var”, 42); Behind the scenes, the process engine performs some magic to squeeze numbers, booleans, or even complex Java objects into the database and return it from there on the next call: int myLuckyNumber = (Integer) execution.getVariable(“var”); With 7.2 (and the latest alpha), we introduce the typed value API. It is not a whole new API but rather of a gentle extension. Like before, the variable API is…

By Thorben Lindhauer

camunda BPM 7.0.0-alpha3 released

camunda BPM 7.0.0-alpha3 is out now! It packs a bunch of new features such as support for Spring Process Applications and correlation via the engine’s Java API. First things first: Get it here! Spring Process Applications Use process engines, container-managed or embedded, from within your Spring application context (on Tomcat, Glassfish). See below an example from our getting started guide: Message correlation BPMN offers two incoming message constructs that are supported by the engine: Message start events and intermediate catching message events. Now you have the possibility to deliver messages in one call. Use the RuntimeService#correlateMessage methods to correlate messages to executions waiting for a specific message or start a new process instance. You do not need to know any…

By Thorben Lindhauer

A look at the fresh REST API

Camunda BPM comes with a fresh REST API based on JAX-RS. Its goal is to expose the process engine services as broadly as possible. That means we aim to enable you to interact with process engine services via REST with similar expressiveness as in plain Java. With 7.0.0-alpha1, we provide methods such as task querying that already realize our desired degree of detail (similar for process definitions and instances). For future releases, we plan to broaden the scope to reach the afore-mentioned goal. Use it with a prebuilt distro In 7.0.0-alpha1 the API covers interactions with process definitions, process instances and tasks as documented on camunda.org. Enough to build your first process applications as demonstrated in Camunda’s Tasklist. In our…

By Thorben Lindhauer

Try All Features of Camunda