close is not close enough - wordpress.com€¦ · decision model and notation dmn success: public...
TRANSCRIPT
![Page 1: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/1.jpg)
1
Close is Not Close Enough
DMN Technology Compatibility Kit (TCK)
Year Three (and a half)
Keith D Swenson
Fujitsu America
Sept 19, 2019
Decision Camp 2019
Bolzano, Italy
![Page 2: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/2.jpg)
2
Decision Model and Notation
DMN
Success: public perception = delivered capability
![Page 3: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/3.jpg)
3
![Page 4: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/4.jpg)
4
X**2 & %34
55 ⋶ az ⨝ 1
⧊
⨚m
⨚n(*2)
⦓m
![Page 5: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/5.jpg)
5
What BPM Guide has to say…
http://www.bpm-guide.de/2015/07/20/dmn-decision-model-and-notation-introduction-by-example/
![Page 6: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/6.jpg)
6
From the Specification . . .
WITH or WITHOUT fidelity?
![Page 7: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/7.jpg)
7
DMN TCK is
A way for vendors to
demonstrate their compliance to standard
Provide files to help vendors
test for errors and become compliant
Customers to assess
how compliant a vendor is.
![Page 8: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/8.jpg)
8
The Goals of the TCK
Define a set of Test Cases
Carefully assure conformance to spec.
Provide tools to run the tests
Recognize the vendor success
![Page 9: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/9.jpg)
9
DMN
Model
DMN Implementation
Engine being tested
Ru
Runner
What the
TCK
provides
Examples
available
Vendor’s
domain
![Page 10: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/10.jpg)
10
Input data1.
Input data2.
Input data3.
DMN
Model
DMN Implementation
Engine being tested
Ru
Runner
![Page 11: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/11.jpg)
11
Input data1.
Input data2.
Input data3.
Expected results
Expected results
Expected results
DMN
Model
DMN Implementation
Engine being tested
Ru
Runner
ResultsCompare
![Page 12: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/12.jpg)
12
Results Site: Submitters
![Page 13: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/13.jpg)
13
Drill Down to find out which tests pass and fail
![Page 14: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/14.jpg)
14
Down to the individual test level
![Page 15: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/15.jpg)
15
Progress
2016 2017 2018 2019 Sept
Vendor Results 0 1 7 8 8*
Models 0 39 65 112 122Decision Objects 0 183 677 1135 1797
Test Files 0 34 62 105 110
Test Cases 0 61 588 1098 1679
Run Enabled 1598
![Page 16: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/16.jpg)
16
Moved Fully to DMN 1.2
Decided not to support both 1.1 and 1.2 at the same time
1.2 included many bug fixes
No desire to duplicate all the tests
Archived the 1.1 website
Converted all the models to the new syntax
Adopted new tests enabled by 1.2 spec
![Page 17: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/17.jpg)
17
Many many new tests
Thanks to: Doug McCreath – Australia
Approximately 1000 new tests by examining the specs
Ran into a dozen issues that needed to go to the RTF
Type conversions
Type support and null
Nested lists
![Page 18: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/18.jpg)
18
Top Issues
Most issues were “details”
A couple of examples in the document that did not match the rules
Lists of lists, mixed types, new “Any” type
Referring to (loading) another model
TCK expects models to be found in the same folder
Value and parameter passing when model schemas conflict
Unicode support in string literals:
\uXXXX defined, but no explanation as to what XXXX means
Type coercions
Error handling (see next page)
![Page 19: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/19.jpg)
19
Error Handling
FEEL takes the approach an error causes a null output
Processing does not stop!
Contrary to the “fail fast” design goal
Spec says that some sort of error message *might* be produced
But does not clearly define when they appear
There is no requirement that they ever appear
TCK Introduces a way to indicate an error test, but we can’t use it
While the spec is ambiguous, the TCK should take a bolder stance and clarify exactly when an error is required, and when it is not needed.
The RTF clearly won’t get around to doing this.
![Page 20: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/20.jpg)
20
All the tests are freely available to anyone
Anyone can join and participate in the TCK
A significant benefit for those implementing DMN
120 test models
1600 test cases
![Page 21: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/21.jpg)
21
Vendors Claiming DMN Support
Has Results
Has Results
Has Results
![Page 22: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/22.jpg)
22
Its really simple…
If they don’t have results on the DMN TCK Site,
They don’t have DMN.
![Page 23: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/23.jpg)
23
![Page 24: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/24.jpg)
24
Participants
![Page 25: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/25.jpg)
25
Not Just for Vendors
If you are creating DMN models
• which are valid and well formed, and
• you have defined test cases, and
• you would like them to execute on
• all vendors DMN engines
• including all future versions…
Then… please submit them to DMN TCK!
It is a kind of guarantee for future compatibility
![Page 26: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/26.jpg)
26
Future Directions
Address 1.3 Changes
Address the things that are too detailed for the RTF to handle
Consider tests for modeling tools
(?) Put forward a standard API for Decision as a ServiceDMN models already define exact inputs needed for a given decision output.
Why not take one more small step to define how to submit these inputs in JSON and get JSON results back?
Then you can code a call from browser UI or from BPM model to the decision, without having to change it for every DMN vendor
![Page 27: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/27.jpg)
27
{
"Approval Authority": 987
}
{
"Experience": "low"
}
Input Output
http://myservice/decisions/.../ExperienceOfEmployee
Address
![Page 28: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/28.jpg)
28
An API Enables Integration
Engine
DMNModel
AP
I
Browser
Code
To call
Rule
Web Page
HTML & JS
BPM Engine or Application
Code
To call
Rule
Business Process
or
Application Code
![Page 29: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/29.jpg)
29
An API Enables IntegrationEngine
DMNModelA
PI
Browser
Code
To call
Rule(s)
Web Page
HTML & JS
Engine
DMNModelA
PI
Engine
DMNModelA
PI
Engine
DMNModelA
PI
Engine
DMNModelA
PI
![Page 30: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/30.jpg)
30
DMN TCK is
A way for vendors to
demonstrate their compliance to standard
Provide files to help vendors
test for errors and become compliant
Customers to assess
how compliant a vendor is.
![Page 31: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/31.jpg)
31
![Page 32: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/32.jpg)
32
Now Separating Process from Decision
DXP REST API
DXPLearning
DXPDecision
DXPProcess
DXPAgents
DXPCase
(1) Independently callable
through the REST API so that
this integration can happen in the UI.
(Taken from
Fujitsu DXP
Presentation)
(2) Can call from process
to decision, but this
is less important….
![Page 33: Close is Not Close Enough - WordPress.com€¦ · Decision Model and Notation DMN Success: public perception = delivered capability. 3. 4 X**2 & %34 55 ⋶az ⨝1](https://reader034.vdocuments.mx/reader034/viewer/2022042221/5ec7e2d8545247384a4f3061/html5/thumbnails/33.jpg)
33
Caller can combine decision models in a single call