Skip to content

7. Introduction

This is a series of guided exercises that will allow you to experiment the authoring of decisions using Decision Model and Notation - DMN. You will be able to experiment decision authoring in Business Central, along with the deployment and consumption of the decisions in the engine, KIE Server.

7.1 What is DMN

Take a look at the explanation of the DMN standard in the OMG website:

"DMN is a modeling language and notation for the precise specification of business decisions and business rules. DMN is easily readable by the different types of people involved in decision management. These include: business people who specify the rules and monitor their application; business analysts.

DMN is designed to work alongside BPMN and/or CMMN, providing a mechanism to model the decision-making associated with processes and cases. While BPMN, CMMN and DMN can be used independently, they were carefully designed to be complementary. Indeed, many organizations require a combination of process models for their prescriptive workflows, case models for their reactive activities, and decision models for their more complex, multi-criteria business rules. Those organizations will benefit from using the three standards in combination, selecting which one is most appropriate to each type of activity modeling. This is why BPMN, CMMN and DMN really constitute the “triple crown” of process improvement standards."

IBM Business Automation Open Edition 8.0 and IBM Decision Manager bring a set of graphical tooling that allow you to author decisions using DMN and a lightweight engine that can execute these decisions. The engine and the authoring tooling set are decoupled and you can scale it independently.

7.2 Tooling Set

In IBM Business Automation Open Edition 8.0 you can author decisions in multiple ways - all using the exact same editor in different environments:

There is also a set of community tooling that's also available for use. All the tools below are backed by IBM and Red Hat:

  • DMN FEEL Handbook
  • A handbook for the FEEL expression language from the DMN specification, as implemented by the Drools DMN open source engine.
  • Learn DMN in 15 minutes
  • A guided tour in a website through the elements of DMN
  • GitHub Chrome Extension
  • A browser extension that allows you to visualize and edit BPMN, DMN and Test Scenario files directly in GitHub.
  • Online Editors
  • - A free online editor for business processes;
  • - A free online editor for decision models;
  • - A free online editor for scorecards;
  • Business Modeler Hub
  • Allows for the download of the: VSCode extension, GitHub Chrome Extension, and Desktop App

7.3 The DMN Editor

The DMN Editor consists of a number of components:

  • Decision Navigator: shows the nodes used in the Decision Requirements Diagram (DRD, the diagram), and the decisions behind the nodes. Allows for quick navigation through the model.

  • Decision Requirements Diagram Editor: the canvas in which the model can be created.

  • Palette: Contains all the DMN constructs that can be used in a DRD, e.g. Input Node, Decision Node, etc.

  • Expression Editor: Editor in which DMN boxed expressions, like decision tables and literal expressions, can be created.

  • Property Panel: provides access to the properties of the model (name, namespace, etc), nodes, etc.

  • Data Types: allows the user to define (complex) datatypes.


Boxed Expressions

Data Types

7.4 Guided Labs

These are the labs you have available in this workshop:

  • Insurance Price calculation: a getting started exercise. You will import an existing module, explore it, deploy it and test it using the decision engine's REST API.

    Pricing DRD

  • Vacation Days: an intermediate level exercise. You will author a model from scratch, use decision tables, work with different hit policies, different FEEL constructs and expressions. Finally, you will deploy it and test it using not only the decision engine's REST API but also the Java KIE Client API.

    DRD Complete

  • Call Centre: an advanced level exercise. You will author a model from scratch, create data types, consume DMN decision services from within decision nodes, and more FEEL constructs and expressions. Finally, you will deploy it and test it using not only the decision engine's REST API but also the Java KIE Client API.

    Decision Service Knowledge Requirement

These are independent guided exercises and you don't need to implement the previous use case to implement the next one.

Last update: 2023-02-03