Filip Drools DMN
Jump to navigation
Jump to search
DMN⌘
- Decision Model and Notation
- OMG Specification (version 1.2 published in January 2019)
- https://www.omg.org/spec/DMN
- The purpose of DMN is to provide the constructs that are needed to model decisions, so that organizational decision-making can be readily depicted in diagrams, accurately defined by business analysts, and (optionally) automated.
Decision-making⌘
DMN provides Decision Requirements Diagrams:
- Business process models will define tasks within business processes where decision-making is required to occur
- Decision Requirements Diagrams will define the decisions to be made in those tasks, their interrelationships, and their requirements for decision logic
- Decision logic will define the required decisions in sufficient detail to allow validation and/or automation.
Two levels of modeling decisions⌘
Decision Model and Notation Beta 1, Figure 1: Aspects of modeling
Drools + DMN example
swaager
- Create a DMN asset (DRD + Decision logic)
- Deploy it
- Go to: http://localhost:8080/kie-server/docs/
- find DMN Models
- change Parameter content type to application/json
- Use the Deployment Unit name for a containerid
- Use name and Namespace from your DMN model
- paste json request and execute
json request
{ "model-namespace":"https://kiegroup.org/dmn/_DEF37C97-81DD-490A-8B67-C3FF395D87AE", "model-name":"CarRental1", "dmn-context":{ "CarType":"Lux" } }
server response
{ "type" : "SUCCESS", "msg" : "OK from container 'DMNtest_1.0.0-SNAPSHOT'", "result" : { "dmn-evaluation-result" : { "messages" : [ ], "model-namespace" : "https://kiegroup.org/dmn/_DEF37C97-81DD-490A-8B67-C3FF395D87AE", "model-name" : "CarRental1", "decision-name" : [ ], "dmn-context" : { "CarType" : "Lux", "Calculate price" : 200 }, "decision-results" : { "_DC576EEE-1286-4B82-9112-85EF6F50BF40" : { "messages" : [ ], "decision-id" : "_DC576EEE-1286-4B82-9112-85EF6F50BF40", "decision-name" : "Calculate price", "result" : 200, "status" : "SUCCEEDED" } } } } }
DMN cheat sheet⌘
File:CheatSheet-DMN-en-EMEA.pdf
Drools & DMN⌘
https://www.drools.org/learn/dmn.html
"Drools DMN engine provides full runtime support for DMN models at Conformance level 3, meaning 100% of the features in the Standard."