business decision modeling with dmn and openrules decision modeling with dmn and openrules ......
TRANSCRIPT
© 2017 OpenRules, Inc. 1
Business Decision Modeling
with
DMN and OpenRules
Jacob Feldman, PhD
Chief Technology Officer
www.openrules.com
RulesML+RR+DecisionCAMP London, July 12-15, 2017
Outline
DMN
Hands-on creation and execution DMN-
based decision models
– DecisionHello (by business analysts)
– DecisionHelloJava (integration with IT)
– DecisionLoanOrigination
– Domain-Specific Decision Tables
© 2017 OpenRules, Inc. 2
Business Rules and Decision
Management Systems (BRDMS)
BRDMS is at the center of modern
enterprise architectures
Examples: loan approval, insurance
underwriting, customer service tactics,
clinical guidelines, risk management,
compliance, and many others
Still: • decision logic has to be defined by humans
• semantic technology can make a difference
© 2017 OpenRules, Inc. 3
© 2011 OpenRules, Inc. 4 © 2011 Decision Management Solutions
DMN – Decision Model and Notation
OMG standard since 2014
Specifies key concepts and constructs for
business decision modeling
Current release 1.1 supports DMN XML
interchange format
Next Release 1.2 – Q1 2018
Many vendors announced DMN support
© 2017 OpenRules, Inc. 5
© 2017 OpenRules, Inc. 6
DMN Modeling Aspects
© 2017 OpenRules, Inc. 7
Decision
Requirements
Diagrams (DRD)
Decision Logic
(Standardized
Decision Tables)
Integration with
Business Processes
(BPMN)
DMN Notation
© 2017 OpenRules, Inc. 8
DRD
Output of the
Decision-2 is used
as an input for the
Decision-1
This Decision Table
represents Business
Knowledge-2
(decision logic)
Decision Modeling Constructs
Core Constructs • Diagrams with Logical Connections
(information requirements)
• Decision Tables
• Basic Expression Language (S-FEEL)
• Conformance Level 2
Advanced Constructs • Boxed Expressions (FEEL functions with
parameters, contexts, if-then-else, for..return
loops, filters, sorting, recursion, …)
• Conformance Level 3
© 2017 OpenRules, Inc. 9
Hands-On Decision Modeling
The best way to understand DMN is to build
and test real Decision Models
We will create and execute several
examples:
– DecisionHello (by business analysts)
– DecisionHelloJava (integration with IT)
– DecisionLoanOrigination
© 2017 OpenRules, Inc. 10
Sample Decision Model
“Determine Customer Greeting”
Decide how to greet a particular
customer during different times of the
day (think IVR)
Test:
– Customer: Robinson is a married woman
– Time of the day: 14:25 pm
– Expected decision:
"Good Afternoon, Mrs. Robinson!"
© 2017 OpenRules, Inc. 11
Starting with a Decision
© 2017 OpenRules, Inc. 12
"Good Afternoon, Mrs. Robinson!"
Greeting Salutation Name
Decision Requirements Diagram
© 2017 OpenRules, Inc. 13
DRD as a Tabular Decision
© 2017 OpenRules, Inc. 14
It is a well-known fact that any
diagram can be presented in a
tabular format (see e.g. Shlaer-Mellor method)
Our DRD may be presented in
OpenRules as
Decision Table “DefineGreeting”
© 2017 OpenRules, Inc. 15
Decision Table
“DefineSalutation”
© 2017 OpenRules, Inc. 16
Decision Table “DefineSalutation” (alternative representation)
© 2017 OpenRules, Inc. 17
Decision Table “DefineResult”
© 2017 OpenRules, Inc. 18
This is an examples of a simple FEEL expression
Defining Business Glossary
© 2017 OpenRules, Inc. 19
Defining Test Data (in Excel)
© 2017 OpenRules, Inc. 20
© 2017 OpenRules, Inc. 21
Executing Decision Model
Implementation Path
© 2017 OpenRules, Inc. 22
Integration with IT
Let’s assume that now our decision
model is tested by business analysts
How to integrate it with an actual IT
application? – Business Objects should be mapped to an
actual Business Object Model (e.g. Java classes
or XML)
– A decision may be executed directly from an
application (using a Java API or a web service)
© 2017 OpenRules, Inc. 23
Accepting Data From Java
© 2017 OpenRules, Inc. 24
Executing Decision From
Java
© 2017 OpenRules, Inc. 25
Create a
Decision
Create a
Customer
Execute
the
Decision
Mapping Decision Objects
© 2017 OpenRules, Inc. 26
• Simply define business concept Customer
as Java object
IT doesn’t even have to look at Decision Logic!
Glossary is the only integration map between
Business and IT
Decision Modeling:
Who Does What
What Business Users (SMEs) do: • Create decision models
• Validate decision models
• Create Test cases
• Execute decision models
SMEs use familiar tools such as Excel or Google
Docs (no coding required)
What Developers do: • Help to integrate already tested decision
models into existing IT infrastructures
© 2017 OpenRules, Inc. 27
Specialized DMN Modelers
Trisotech
© 2017 OpenRules, Inc. 28
DMN XML Interchange
Format
© 2017 OpenRules, Inc. 29
DML XML Interchange
© 2017 OpenRules, Inc. 30
© 2006 OpenRules, Inc. 31
SOA Architecture with
Loosely Coupled Decision Services
Collaraborative Rules
Management with Google Docs
© 2017 OpenRules, Inc. 32
More Decision Tables (Banking Example)
© 2017 OpenRules, Inc. 33
More Complex Decision Tables
© 2017 OpenRules, Inc. 34
1040EZ Decision Table
Decision Table with Calculations
© 2017 OpenRules, Inc. 35
DecisionTable (single-hit) vs.
DecisionTable1(multi-hit)
© 2017 OpenRules, Inc. 36
DMN Section 11 Example
© 2017 OpenRules, Inc. 37
Loan Origination
Business Process
© 2017 OpenRules, Inc. 38
DRD
© 2017 OpenRules, Inc. 39
Top-Down DRD
Decomposition
We will decompose
our decision model
into 7 loosely
coupled decision
models
© 2017 OpenRules, Inc. 40
DRD
Decision Model “Loan
Origination Result”
Decision Logic
© 2017 OpenRules, Inc. 41
Decision Model “Loan
Origination Result”
© 2017 OpenRules, Inc. 42
Test Data
Decision Model “Loan
Origination Result”
© 2017 OpenRules, Inc. 43
Organization
Structure
Execution
Results
© 2017 OpenRules, Inc. 44
DRD
Decision Model “Bureau
Strategy”
© 2017 OpenRules, Inc. 45
DRD
Decision Model “Bureau
Strategy”
Decision Logic
© 2017 OpenRules, Inc. 46
© 2017 OpenRules, Inc. 47
DRD
Decision Model “Routing”
© 2017 OpenRules, Inc. 48
DRD
Decision Model “Routing”
© 2017 OpenRules, Inc. 49
Decision Logic
© 2017 OpenRules, Inc. 50
DRD
Decision Model
“Affordability”
© 2017 OpenRules, Inc. 51
A fragment of the “big” DRD
Combined in
one Variable
“Affordability”
Combined in
one variable
“Affordability”
Combined in
one Variable
“Affordability”
Combined in
one variable
“Risk Category”
Decision Model
“Affordability” - DRD
© 2017 OpenRules, Inc. 52
Decision Model “Affordability”
– Decision Logic
© 2017 OpenRules, Inc. 53
Decision Model “Affordability”
© 2017 OpenRules, Inc. 54
Calculation Logic with a FEEL formula
Decision Model “Affordability”
© 2017 OpenRules, Inc. 55
Combining sub-decisions
External decision name
© 2017 OpenRules, Inc. 56
DRD
Decision Model “Pre-Bureau
Risk Category”
© 2017 OpenRules, Inc. 57
Defines the variable “Risk Category”
© 2017 OpenRules, Inc. 58
DRD
Decision Model “Post-Bureau
Risk Category”
© 2017 OpenRules, Inc. 59
Defines the variable “Risk Category”
© 2017 OpenRules, Inc. 60
DRD
Decision Model “Application
Risk Score”
© 2017 OpenRules, Inc. 61
A typical “scorecard”
Linking Loosely Coupled
Decision Models Together
© 2017 OpenRules, Inc. 62
Our repository
now contains 7
tested loosely
coupled
decision models
and
their test-cases
© 2017 OpenRules, Inc. 63
Keeping them
together
A “big” glossary
serves as a spine
that keeps all
surrounding
decision models
together:
Combined Glossary
© 2017 OpenRules, Inc. 64
© 2017 OpenRules, Inc. 65
Importing Decision Models
© 2017 OpenRules, Inc. 66
Defining Integrated Decision
Models
© 2017 OpenRules, Inc. 67
Defining Test Data
“Applicant”
© 2017 OpenRules, Inc. 68
Defining Test Data
“RequestedProduct”
© 2017 OpenRules, Inc. 69
Defining Test Data
“BureauData”
© 2017 OpenRules, Inc. 70
Defining Test Data
“Application”
© 2017 OpenRules, Inc. 71
Defining Test Data
“Test Cases with Expected
Results”
© 2017 OpenRules, Inc. 72
Execution Results for Test 3
Note that
Routing never
was executed
Developing
Domain-Specific
Decision Tables
© 2017 OpenRules, Inc. 73
Examples of Domain-Specific
Decision Tables
© 2017 OpenRules, Inc. 74
Security
Domain (specifies
document
access)
Geo-Spacial
Domain
DMN is a general purpose Decision Modeling
Language – Defines standard formats for generic decision tables and
other decision modeling constructs
Domain-Specific Decision Modeling is similar
to Domain-Specific Languages (DSLs): – “Business DSL” provides specialized business concepts,
relationships, and formats for a particular problem domain
– Converting DSL APIs to a “business DSL” using domain-
specific decision tables
75 © OpenRules, Inc. 2017
Beyond DMN: Business DSL
Domain-Specific
Decision Modeling
Objective
– Given: a domain-specific language with an API
– Goal: create a domain-specific decision modeling
“language“ oriented to business users
76 © OpenRules, Inc. 2017
Software Developers
Business Analysts
DSL (API)
Decision Modeling
Constructs (Diagrams & Decision
Tables)
How to create a Domain-
Specific Decision Table?
1. Start with a domain-specific language
(Java API)
2. Design Decision Tables oriented to a
subject matter expert in this particular
domain
3. Implement new decision templates
with conditions and actions that support
new domain-specific decision tables
77 © OpenRules, Inc. 2017
OpenRules Decision Tables
Look Inside of OpenRules
Implementation
– Business View
• Decision Tables Instances
– Technical View
• Decision Table Templates
– Both defined in Excel
© 2017 OpenRules, Inc. 78
Business-oriented Decision
Table and its Technical Template
79
Example: Geospatial Domain
80 © OpenRules, Inc. 2017
Deals with objects and algorithms
for processing linear geometries
(points, lines, areas, etc.) on the
2-dimensional Cartesian plane
JTS (Java Topology Suite)
– JTS is a de-facto standard open
source Java library with a complete,
consistent, and robust Java API
– However, it is too complex for
business users
Geospatial Expressions used to
define Spatial Significance Score
HRR – Hospital Referral Region
HSA – Hospital Service Area
How to present such rules in a “human”
way that still can be executed by a
computer? 81
Business Users Like This
Format:
© 2017 OpenRules, Inc. 82
New Custom Type
of Decision Tables
JTS
Operators
More Complex Conditions
83
Natural
Language
Expressions
Natural
Language
Expressions © 2017 OpenRules, Inc. 83
© 2017 OpenRules, Inc. 84
Implementation Template
84
Custom Decision Logic:
From Java Apps to
Decision Models
85
Programmers Business Analysts
General Purpose Language
(e.g. Java)
BRDMS
(DMN)
Domain-specific APIs Custom Decision Tables
Java Applications Domain-specific Decision
Models
© 2017 OpenRules, Inc.
Conclusion
OMG DMN is a serious step forward
to standardized and interchangeable
representations of business decision
logic
Core DMN concepts allow business
people to represent, test, and manage
their decision models without
programming
Custom Decision Models is a natural
replacement of DSL APIs © 2017 OpenRules, Inc. 86
QnA
Jacob Feldman, PhD
OpenRules, Inc.
www.OpenRules.com
© 2017 OpenRules, Inc. 87
Available at Amazon.com