In the last post, we discussed how to use different decision tables in an orchestration as a decision flow. In this post, we are using the same bases on the implemented decision tables, but this time we will link them together using a Decision Requirement Diagram.
Decision Requirement Diagram
DRD or Decision Requirement Diagram is a graph model that allows you to define a hierarchical decision. This graph works based on dependencies of nodes and is part of the standard called Decision Model and Notation (DMN). It simply connects multiple decisions (and other type of nodes in the graph) to each other based on their dependencies.
The model shown below is a sample Decision Requirement Diagram (DRD) for calculating a car premium. The “car” and “High theft probability auto list” are the “Input Data” for this DRD:
Dependencies and Implementation
In the above model, the top decision is “Car Premium” which depends on “Base Premium” and “Auto Premium” and then the “Auto Premium” depends on “Car Style Premium” and “Determine Rating” and lastly “Determine Rating” Depends on “Potential Theft Rating” and “Potential Occupant Injury Rating“.
Now each of the Decision nodes (i.e., blue rectangles) and business knowledge nodes (i.e., cross cut green rectangles) can implement the logic using Decision Table, Tree or Sub-tree, Natural Language, and so on.
Hosting as a Service – Decision as a Service
The whole Decision Requirement Diagram (DRD) model can be hosted as a service. This is called Decision as a Service which allows any other applications and/or systems (e.g., BPM) communicate with this DRD by passing the input parameters. Then the DRD will be executed on the server side, and returns the result back to the caller. To publish a DRD as a REST API service, FlexRule Server is used.
Once a DRD is published as a service, all other aspect of it can be managed (i.e., security, permissions and roles, versions, time based scheduling , etc.).
Orchestration of Data and Reusability
A Decision Requirement Diagram (DRD) can be used as part of a flow task. In the following orchestration, “Premium Calculator DRD” is a DRD task that is linked to the above model.
A Decision Requirement Diagram (or in short, DRD) is a graph model that allows you to model hierarchical decisions using a graph. This enables a higher level communication with stockholders and allows one to approach the decision modeling in an intuitive way, rather than thinking in rules initially and trapping yourself in the big bucket of rules problem.
So next time you start modeling rules, first think of which business decisions you are trying to make, and how those decisions will impact other decisions.
- Import DMN models – XML 1.1
- Boxed Expressions – DMN
- Decision Model and Notation – DMN
- Reusable DRD or Sub DRD in Decision Model and Notation (DMN)
- Decision model and Notation – Policy Example
- Reuse Business Decision
- Flow Orchestration Simplified – Using Decisions
- Workflow Engine or Business Rule Engine
- Decision as a Service
- Modeling Business Logic i.e. Business Processes, Rules, Decisions, Data, Workflow…