Quick start to Camunda and BPMN 2.0

Shashir
Nerd For Tech
Published in
4 min readFeb 11, 2024

In this article, we will explore the fundamental concepts of Camunda along with its 3 Core components and common BPMN 2.0 elements used to draw a process diagram.

What is Camunda?

Camunda is a Java-based framework supporting 3 different standards in the Business Process Management scope.

Business Process Model and Notation (BPMN): Standard for Workflow and Process Automation.

Case Management Model and Notation (CMMN): Standard for Case Management.

Decision Model and Notation (DMN): Standard for Business Decision Management.

Photo by MARIOLA GROBELSKA on Unsplash

What is BPMN?

In this article, we will pick a BPMN workflow with a simple hello-word use case. However, before getting into the business process model let's understand some key components.

Camunda Engine:

This is the core component of Camunda for executing business process flows. which in turn has 3 components: Cockpit, Tasklist and Admin.

Download link Camunda Platform distribution: https://camunda.com/download/

Docker: https://hub.docker.com/r/camunda/camunda-bpm-platform/

docker pull camunda/camunda-bpm-platform:latest
docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest
# open browser with url: http://localhost:8080/camunda-welcome/index.html

We can also use an embedded Camunda engine with Spring Boot.

Camunda Modeler:

A standalone application which helps business users and developers to design and configure process

Download link: https://camunda.com/download/modeler/

Camunda Tasklist:

It's a web application for managing and completing user tasks with necessary inputs as needed. In the below screenshot, we have a task that accepts 2 values — Card Number and Card Pin in the context of the ATM business process.

Camunda Cockpit:

It is a web application for monitoring process instances, Open human tasks, incidents and current BPMN and DMN deployments.

We can also verify the ongoing active process instances at various stages in process flows which includes granular level details on the process definitions (as in the left menu).

Camunda Admin:

A web application for managing users, groups and their access permissions is shown below.

Basic elements of BPMN 2.0:

  • Flow Objects — Activity, Event and Gateway
  • Participants — Pool & Lane
  • Connecting Objects — Sequence Flow, Message Flow and Association
  • Artifacts — Group, Annotation and Custom artifacts
  • Data — Input/Output, Data object, Data Store

Flow Objects:

During a process, certain activities (a.k.a tasks) are to be carried out based on conditional flows (controlled by various gateways) which results in an outcome (event).

Participants: — Pool and Lane

In BPMN, Pool represents the top-most ranking within the process which incorporates Lanes. whereas Lanes represent the boundary of the process from start to end.

Connecting Objects:

Sequence flows are used to connect flow objects only within the pool, however, if connections cross pool boundaries then message flows come into play and associations are used to connect flow objects to artifacts.

Artifacts: — Annotation, Group and Custom artifacts

It provides additional details on the process. However, artifacts do not influence the process flow in any way. We use associations to connect artifacts to flow objects.

Data: Input, Output, Object and Store

Data refers to the creation, processing and filing of information relevant within the process handling scope. Data categories connect to flow objects via associations.

Example — Sample User Login Process using BPMN 2.0 elements

In the above example, we can notice we have a user task that represents the user to provide a username and passcode manually to proceed and validate credentials.

Based on the valid or invalid outcome, the gateway deviates from the process flow as we can see with the sample token simulation in the above reference.

I hope you’ve found this article helpful in understanding the basics of the Camunda and the commonly used BPMN 2.0 elements categorized based on the purpose. Here we started with the basics of Camunda — BPMN, DMN, CMMN and its core components — Tasklist, Cockpit and Admin console usages followed by BPMN 2.0 elements and their usage.

Reference:

  1. https://docs.camunda.io/docs/components/
  2. http://camunda.org/bpmn/reference.html

--

--

Shashir
Nerd For Tech

Middleware Chapter Lead & Java Developer — Java/Python/Spring/Microservices/Kafka/Kubernetes/OCP/Camunda/Splunk/Az Cloud https://www.linkedin.com/in/shashi999