Real-world BPMN 2.0 examples and answers to common questions. - Camunda (2022)

BPMN Examples

Business Rules and BPMN

Modeling Scenario

Let’s say we want to model a process in BPMN and the process induces some business rules. We will use the example of creating a bill. In order to create the bill, a discount needs to be computed. The sum of the order and the customer type are the relevant criteria to compute the discount.

This is a very simple example which will show us where to apply BPMN and where not to.

The Solution as BPMN 2.0 Diagram

Explanation

During modeling, we focus on the process flow. In this example, the process has two steps. A discount is computed before the bill is created. The result is a very simple process.

It does not make sense to model the calculation of the discount itself in the BPMN model (see the example below). For the rules decision tree, for every additional criteria, the cardinalities will grow exponentially. That is not what we want in a BPMN model.

Therefore, it makes sense to separate process and business rules.

The Wrong Way to Model It

Dependent Instances

Modeling Scenario

Let’s say we want to model a process with concurring instances. We are using a simple example. If one credit check of a customer is running, we do not want another credit check for the same customer to be performed at the same time.

The reason could be that the total number of credit checks performed influences the result of the check.

Let’s assume that we are running a credit check for a customer and we get a second request for the same customer at the same time.

What all solutions have in common is that every new instance needs to check for concurring instances on the data level before starting the actual credit check.

Solution with Signal Event

Explanation

The signal event is the easiest and most compact way to model the interaction between different instances. The problem of the signal is that it functions as a broadcast and does not address any specific instance. So, strictly speaking, the customer is ignored and all waiting instances catch it.

Solution with Message Event

Explanation

This solution is a bit more complex, since you need to determine the recipient (a single instance) of the message. That induces a second data request before the end of the instance. However, this is the correct way to solve the problem that occurs in the signal event solution.

Solution with Timer and Loop

Explanation

In this example we do not need any communication between instances. The instance itself checks periodicity if it can proceed to the credit check. The downside is that this might cause delays and overhead due to the loop.

(Video) Camunda Online Training Module: Advanced BPMN 2.0 Elements

Four Eyes Principle

Modeling Scenario

We want to model the following situation using BPMN 2.0. For a request (e.g., a payment) two approvals of two different people are needed. A Process Engine should ensure that both approvals are fulfilled before the request is approved. The manual steps that are performed by the two approvers should also be modeled in the BPMN diagram. The approval decision is performed using a portal with a Tasklist.

The Use Cases

The use cases for this pattern are numerous. Here are some examples:

  • Payment Approval
  • Invoice Approval
  • Contract Approval

The Solution as BPMN 2.0 Diagram

Explanation

We use separate pools for the Process Engine, for the 1st Approver and for the 2nd Approver. This way, we can clearly define who is in control of which process.

In the engine pool, user tasks are used. These user tasks correspond to the tasks which are shown in the Tasklist of the 1st and the 2nd approver.

The interaction between the user tasks in the engine and between the manual process of the approvers is modeled using message flows. These message flows encapsulate the manual steps which the approver needs to perform in order to complete the user task.

The Tasklist itself is not modeled, in order to reduce complexity.

Variations

Approver as Collapsed Pools

Approver Determination with LDAP

Monthly Invoicing

Modeling Scenario

This example explains a very common struggle with structuring BPMN 2.0 diagrams. Let’s say there is a lawyer who offers legal advice to his customers. The service works as follows: The customers can ask for legal advice whenever they need it. The lawyer provides the requested advice and puts the billable hours on the customer’s time sheet. When the month is over, the lawyer’s accountant determines the billable hours based on the time sheet and creates the invoice.

This example illustrates a very common modeling scenario. It’s not the steps of the processes that are difficult, it’s the structure of the diagram.

The Solution as BPMN 2.0 Diagram

Explanation

The most important aspect of the diagram is its structure.

The Provide Legal Advice process is performed many times per month. The Monthly Invoicing process is only performed once a month. Therefore, these two processes should be modeled as separate pools.

Of course these two pools are not completely independent from each other. Why? They work on the same data – the customer’s time sheet. Our ability to model such a data-related connection is very limited in BPMN. This is due to the fact that BPMN is focused on control flow rather than on data flow.

However, we can use the data store element to model this connection on the data level.

The Wrong Way to Model It

(Video) Tutorial: Messaging with BPMN (Video 7)

Explanation why this is wrong

In this example, both processes are mixed into one. This is – at best – a very implicit way to model it. It would mean that for every provided legal advice an invoice is sent once the month is over. This way of modeling is wrong in most cases.

Additional Information Required after User Task

Modeling Scenario

Let’s assume we want to model the following scenario: we want to execute a user task which is performed by a user in a portal. After the user task is completed, additional information might be required. If that is the case, the process engine sends an information request either to another user (solution 1) or to a technical service (solution 2).

Solution 1: Request information from another User

Solution 2: Request information from a technical service

Processing a Batch of Orders from a Marketplace

The Situation

We want to model the following scenario using BPMN 2.0: let’s assume a company receives orders from different distribution channels. One of these channels is a marketplace. Within certain intervals of time, the orders from the marketplace are fetched as a batch. Every order in this batch needs to be validated before being imported into the ERP System.

The Solution as BPMN 2.0 Diagram

The Explanation

This example shows a very common modeling scenario. We sometimes call it a 1-to-n problem. One process instance (Import of Orders) results in many single process instances of another process (ERP System). Typical constructs are multi instance or loops that start other processes using messages (message flows).

Reassigning User Tasks

Modeling Scenario

Let’s assume, that we need to make sure that a certain user task is definitely performed. Therefore, the user tasks needs to be reassigned as soon as the current assignee is unavailable, e.g., due to leave or sickness.

Solution 1: Message boundary event and reassignment service

Note

This makes sense if the engine calls a service to determine the new assignee.

Solution 2: Message boundary event and reassignment rules

Note

This makes sense if the engine calls a rule engine to determine the new assignee.

Solution 3: Message boundary event and implicit reassignment

Note

This makes sense if the engine determines the new assignee itself, e.g., by using an expression.

Two Step Escalation

Modeling Scenario

We will use the following example to illustrate how to model a two step escalation using BPMN 2.0. When we want a pizza, we order one. Sometimes the pizza delivery screws up and the delivery takes longer than 30 minutes. Then we complain to the delivery service. After that, we give them another 20 minutes to deliver the pizza. If they do not make it in time, we give up and cancel our order.

Solution 1: Two Event-Based Gateways

Advantages of this solution

This solution very explicitly shows how the two step escalation is performed. Timers are modeled separately, followed by their corresponding escalation activities.

(Video) Top 8 Questions about Camunda 8

Disadvantages of this solution

The event-based gateway is not an intuitive BPMN symbol of the BPMN standard, experience is required.

Using two event-based gateways makes the model larger and leads to a duplication of the “Pizza received” message event.

Solution 2: Receive Task with timers attached

Advantages of this solution

This model is smaller than the first solution and probably the way most developers would solve the problem on the engine. Since we use a non-interrupting attached timer event, this solution is more flexible when it comes to multiple complaints (e.g., we want to complain every 5 minutes until 50 minutes are over).

Disadvantages of this solution

The receive task is usually not intuitive for the “business guys”, who would rather use message receive events for that kind of wait state.

The way that the interrupting and non-interrupting timer collaborate requires profound understanding of attached events.

Solution 3: One Event-Based Gateway with a generic timer

Advantages of this solution

This model is the compact and generic solution to the problem. If it comes to n-step escalation then you will need this generic approach to avoid huge diagrams.

Disadvantages of this solution

The generic solution is less explicit than the other solutions. We do not see the actual duration of the timers, as a single timer is used for both durations.

For a fast understanding of the two step escalation, this method of modeling is not suitable.

BPMN Modeling Styles

Avoid Crossing Flows

Recommendation

This BPMN example is about creating a good layout of process models. The better the layout, the higher the degree of understanding. That is what we want to achieve when we create process models.

Try to avoid crossing flows as much as possible. This will increase understanding of BPMN process models – for both experienced and inexperienced BPMN users.

Of course it is not always possible to entirely avoid this problem. Bear in mind that it always makes sense to invest some extra time in optimizing the layout in a way that most crossing flows are eliminated.

The examples below illustrate the problem with an abstract example.

Good Example of Handling Flows

Counter-example

Naming Conventions

Recommendation

Most important: every BPMN symbol should have a label.

(Video) Camunda Question Corner #15 - Camunda Modeler, bpmn.io and more!

Events should be labeled using object + past participle. Start events should always be labeled with an indication of the trigger of the process. End events should be labeled with the end state of the process.

The process (pool) itself should also always be labeled. This label should indicate the name of the process and the role that is performing it.

Tasks should be labeled using object + verb. This forces the modeling person to focus on what is really done during the task.

X-OR Gateways should be labeled with a question. The outgoing sequence flows should be labeled with the possible answers to these questions (conditions).

Good Example of Naming

The Generic Version

Counter Example

Symmetric Modeling

Recommendation

This BPMN example is about creating a good layout of process models. The better the layout, the higher the degree of understanding. That is what we want to achieve when we create process models.

We have determined that symmetric structures increase understanding of BPMN process models – for both experienced and inexperienced BPMN users.

Good Example of a Symmetric Model

Counter-example

Good Example of a Symmetric Model 2

Counter-example 2

Use Equal Task Sizes

Recommendation

We recommend to always use equal task sizes.

The reason is simple. People tend to interpret task sizes although they do not have any semantics in the BPMN standard.

Some think that bigger tasks are more important than smaller tasks – according to BPMN that is wrong.

Some think that bigger tasks take more time than smaller tasks – according to BPMN that is wrong.

(Video) Camunda Question Corner #19: The Most Interesting Community Questions of 2021

You can easily avoid that confusion by using equal task sizes.

Good Example of Equal Task Sizes

Counter-example

FAQs

What is the BPMN 2.0 standard? ›

BPMN 2.0 is an open standard notation system based on a flowcharting technique that is used to model business processes.

What is BPMN with example? ›

Business Process Modeling Notation (BPMN), also called Business Process Model and Notation, is an open standard to diagram a business process. It is like a flowchart and uses standardized graphics to represent the participants, choices and flow of the process.

What are example components of BPMN? ›

There are four main elements of a BPMN diagram: flow objects, connecting objects, swimlanes, and data.

What are the three types of activities within a process in BPMN? ›

There are basically three BPMN activity types: BPMN Task. BPMN Sub-Process. BPMN Call Activity.

What are four categories of BPMN? ›

Common BPMN symbols

BPMN diagram symbols are categorized into four main groups: flow objects, connecting objects, swimlanes, and artifacts. Read this comprehensive guide of BPMN diagram shapes and their meanings below.

Why BPMN is useful for process models? ›

BPMN (Business Process Model and Notation) is a standard notation for business process modelling. BPMN specifies an agreed set of symbols for process modelling. This has a major advantage as it creates a consistent way to compare models and communicate with various stakeholders across an organisation.

What is Camunda used for? ›

Camunda Platform is a lightweight, Java-based framework. It can be used as a standalone process engine server or embedded inside custom Java applications. It offers non-Java developers a REST API and dedicated client libraries to build applications connecting to a remote workflow engine.

What is the difference between BPM and BPMN? ›

What's the difference between BPM and BPMN? While the BPM is a subject, or a managing philosophy that can be applied to businesses, the BPMN is an official standard notation created by this subject, which is used around the world.

How many process levels are there as per BPMS? ›

The BPM lifecycle consists of five different stages including design, model, execute, monitor, and optimize. During each stage, specific activities are carried out in order to achieve the most efficient way to conduct business operations.

What are 2 characteristics of a BPMN group? ›

What are two characteristics of a BPMN group? A group may control the flow of a process and describe shared goals. A group is denoted by dashes and dots and may include activities in two or more pools. A group is denoted by dashes and dots and may include activities in two or more pools.

Can you have multiple start events in BPMN? ›

The BPMN standard allows for multiple start and end events to be used at the same process level. There a few reasons why the business analyst may use multiple start or end events, but caution must be used to avoid mistakes.

What is Gateway in Camunda? ›

An exclusive gateway (or XOR-gateway) allows you to make a decision based on data (i.e. on process instance variables). If an exclusive gateway has multiple outgoing sequence flows, all sequence flows except one must have a conditionExpression to define when the flow is taken.

What is used to control the flow of a process BPMN? ›

Data-Based Exclusive Gateway, also known as exclusive gateway is used to control process flow based on given process data. Each outgoing flow which is connected from gateway corresponds to a condition. The flow with satisfied condition is traversed. Only one flow will be traversed.

How is BPMN different then flowchart? ›

Business process modeling and notation is a flowchart method of graphing a business process. It's done exactly the same way as you'd create a flowchart process map, the only difference is that BPMN comes with its own symbols and elements.

Which element category is not used in BPMN? ›

BPMN is not appropriate for modeling organizational structures, functional breakdowns, or data flow models. Although BPMN depicts some information flows in business processes, it's not a Data Flow Diagram (DFD.)

What is artifact in BPMN? ›

In business process modeling, artifacts allow you to visually represent objects outside of the actual process. Artifacts can represent data or notes that describe the process, or they can be used to organize tasks or processes. There are three main types of artifacts: data objects, annotations, and groups.

What is the difference between BPMN and UML? ›

The main difference between UML and BPMN is the difference is perspective: UML is object oriented and BPMN is process oriented. This makes BPMN widely applicable to both IT and business, while UML is more suited to developing IT systems and less suited to improving processes.

What is the latest version of BPMN? ›

Though it is an OMG specification, BPMN is also ratified as ISO 19510. The latest version is BPMN 2.0.

What is the key goal of BPMN? ›

The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business ...

Who all can benefit from using BPMN? ›

Benefits of BPMN
  • It allows businesses to define and understand their procedures.
  • It provides a standard notation that is easily understood by all company stakeholders.
  • Helps bridge the communication gap that often occurs between business process design and implementation.

Who is responsible for BPMN? ›

BPMN provides a common modeling language that's readily understandable by all business stakeholders. This includes the business analysts who create and refine processes, the technical developers responsible for implementing them and the business users who monitor and manage them.

What is BPMN standard? ›

BPMN is a standard set of diagramming conventions for describing business processes. It is designed to visualize a rich set of process flow semantics within a process and the communication between independent processes.

What is the latest version of BPMN? ›

Though it is an OMG specification, BPMN is also ratified as ISO 19510. The latest version is BPMN 2.0.

What is BPMN in business analysis? ›

BPMN stands for Business Process Modeling Notation. It is the new standard for modeling business processes and web service processes, as put forth by the Business Process Management Initiative (BPMI – www.BPMI.org).

What is a Level 3 process map? ›

The Level 3 process maps are those maps, which have detailed info of the process, it is the micro level process maps. It gives the whole process steps at once if a new processor can understand how to do the task at once.

What is the key goal of BPMN? ›

The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business ...

How many process levels are there as per BPMS? ›

The BPM lifecycle consists of five different stages including design, model, execute, monitor, and optimize. During each stage, specific activities are carried out in order to achieve the most efficient way to conduct business operations.

What is the difference between BPM and BPMN? ›

What's the difference between BPM and BPMN? While the BPM is a subject, or a managing philosophy that can be applied to businesses, the BPMN is an official standard notation created by this subject, which is used around the world.

What is Camunda used for? ›

Camunda Platform is a lightweight, Java-based framework. It can be used as a standalone process engine server or embedded inside custom Java applications. It offers non-Java developers a REST API and dedicated client libraries to build applications connecting to a remote workflow engine.

How is BPMN different then flowchart? ›

Business process modeling and notation is a flowchart method of graphing a business process. It's done exactly the same way as you'd create a flowchart process map, the only difference is that BPMN comes with its own symbols and elements.

Which elements category is not used in BPMN? ›

BPMN is not appropriate for modeling organizational structures, functional breakdowns, or data flow models. Although BPMN depicts some information flows in business processes, it's not a Data Flow Diagram (DFD.)

What is a gateway in BPMN? ›

Gateways is a BPMN notation that is used to check how a process is going. Connected by sequence flows, a gateway acts as a decision point that decides which (outgoing) decision to take based on the result of the evaluation of the given situation.

What is the difference between BPMN and UML? ›

The main difference between UML and BPMN is the difference is perspective: UML is object oriented and BPMN is process oriented. This makes BPMN widely applicable to both IT and business, while UML is more suited to developing IT systems and less suited to improving processes.

What are the 7 steps in developing a flowchart? ›

Steps to creating a process map
  • Step 1: Identify the problem: What is the process that needs to be visualized? ...
  • Step 2: Brainstorm all the activities that will be involved: ...
  • Step 3: Figure out boundaries: ...
  • Step 4: Determine and sequence the steps: ...
  • Step 5: Draw basic flowchart symbols: ...
  • Step 6: Finalize the process flowchart.

Videos

1. Camunda Question Corner #12 - bpmn.io and Camunda Modeler
(Camunda)
2. Open Source workflows with BPMN 2 0, Java and Camunda BPM Camunda at ConFESS 2015
(Camunda)
3. Camunda Question Corner #1
(Camunda)
4. Camunda BPM 7 9 Release Webinar in English
(Camunda)
5. Camunda Question Corner #2
(Camunda)
6. BPMN in Action: Healthcare industry
(Camunda)

Top Articles

You might also like

Latest Posts

Article information

Author: Allyn Kozey

Last Updated: 10/27/2022

Views: 5605

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.