Toilet Paper #89

Integration of business processes made easy with Camunda

Problem

In our daily project work, we often encounter complex business processes that we have to depict in existing software for the customer. In many cases, you obtain or create a process diagram in "PowerPoint Notation" based on customer requirements and implement e.g. a state machine that corresponds to the process.

But such an individual solution is usually very inflexible and process changes might cause a divergence between output diagram and code.

Solution

There are several workflow management systems that can be integrated into existing software projects in different ways. In two ABI projects, we chose to work with Camunda – an open source Java workflow engine that works with BPMN 2.0, DMN 1.1, and CMMN 1.1 process definitions.

Camunda offers many advantages:

  • Since the supported notations are standardized, you are not tied to a specific workflow engine
  • A BPMN process is an XML document that can be visually modeled in editors together with the customer and can be processed by workflow engines
  • Due to versionable processes, it is very easy to develop processes with the customer
  • Business processes can be subdivided into sub-processes
  • Camunda provides three web applications out-of-the-box to handle manual process tasks, to manage users and to monitor processes
  • Camunda can be integrated in different ways, e.g. as a JAR library, as cluster-enabled standalone REST service or as container service

Example

Camunda Workflow

In the illustration, you can find a BPMN process to order a pizza in a restaurant. It consists of 3 lanes, one for the guest, for the waiter and for the cook.

Further aspects

Toilet Paper #89 Camunda

Wir verwenden Cookies, um unsere Webseite für Sie zu optimieren. Mit dem Besuch unserer Webseite erklären Sie sich damit einverstanden. // Our website is using cookies to improve your experience. By continuing to browse the site, you are agreeing to our use of cookies.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. // For more information, please refer to our privacy policy.