DMN Support in BPM Engine

Description

DMN (Decision Model Notation) is a standard published by the Object Management Group.

It is a standard approach to describing and modeling repeatable decisions within organizations to ensure that decision models are interchangeable between organizations.

 The DMN standard provides the industry with a modeling notation for decisions that will support decision management and business rules. The notation is designed to be readable by both business and IT users. This allows multiple groups to collaborate effectively in defining a decision model:

Entrepreneurs who manage and monitor decisions,

Business analysts or functional analysts who document initial decision requirements and specify detailed decision models and decision logic,

The technical developers responsible for the automation of the decision-making systems.

The DMN standard can be used effectively independently, but it is also complementary to the BPMN and CMMN standards. BPMN defines a special type of activity, the Business Rules Task, which "provides a mechanism for the process to provide information to a business rules engine and obtain the result of calculations that the business rules engine could provide" that can be use to show where in a BPMN process a decision defined by DMN should be used.

Since the Defender release of the onesait Platform, Camunda BPMN is integrated. We leave you a link to take the first steps with it and some examples to make a first contact:

How to use the BPM Engine

Example

Here we have an example decision table

In a BPMN, if we didn't use them, we would have to use gateways like the ones we see in the diagram:

That is why BPMN includes the so-called business rules task, which should be called a better decision task in a later version of the BPMN standard: that task refers to a decision that must be made, and the result of the decision allows the subsequent door. exclusive link to route the flow, as you can see in the following example.

During modeling and execution, we can link the "Choose Activity" task to the DMN decision table, which will be executed when the decision needs to be made, and the result will determine the additional flow in BPMN.

In this particular example, you might question the use of flow routing anyway. There are six tasks related to preparing an activity, the only difference is the activity. There is no apparent advantage to having those six different tasks. An alternative pattern would be the following:

In this case, we see how the flow is simplified a lot using DMN we can conclude that combining BPMN with DMN is a good approach.

Â