Angewandte Systemwissenschaft Georg Holtz, Karina Rasche Osnabrück, 9.3.2005.
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
-
Upload
camunda-services-gmbh -
Category
Technology
-
view
323 -
download
0
Transcript of DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
BPA Platform
BPA Product
Who we are
p. 226.10.2017
Stefan Becke
Kühne + Nagel (AG & Co.) KG
Lead Architect
Business Process Automation
BPMCon 2017 – DMN on Steroids
Torben Rasche
Kühne + Nagel (AG & Co.) KG
Team Lead
Business Process Automation
• Founded 1890 by August Kuehne and Friedrich Nagel in Bremen
• Today Kuehne + Nagel is one of the most successful logistics providers with
more than 1,300 offices in over 100 countries and approximately 70,000
specialized employees.
• The Kuehne + Nagel Group is the largest seafreight forwarder worldwide in the
field of FCL and LCL and second largest airfreight logistics provider.
https://de.kuehne-nagel.com
p. 326.10.2017BPMCon 2017 – DMN on Steroids
Modes of Transport
• Companies like KN usually do not
own ships, aircrafts, etc.
• They arrange transport and related
services
• This is known as freight forwarding
p. 426.10.2017
Logistics includes transport by air, water, road, and rail
BPMCon 2017 – DMN on Steroids
Business Process Automation (BPA)
BPA is part of SALOG, our new global operational system for Sea- and Airfreight
It that guides the user through the operational process of a shipment
It indicates WHO needs to do a task (WHAT) at a certain point in time (WHEN).
p. 626.10.2017BPMCon 2017 – DMN on Steroids
Who needs to do a task
p. 826.10.2017BPMCon 2017 – DMN on Steroids
Organization based
• Department DE HAM - Hamburg handles all tasks for this department
Organization + Task Type based
• A specific group handles all arrange delivery tasks for Hamburg
• A specific group handles all billings tasks for Hamburg
Organization + Task Type + Business Data based
• A specific group handles all billing tasks with pre-paid payment in Hamburg
• A specific group handles all billing tasks with pre-paid payment AND
Business Solution „Pharma“ in Hamburg
• A specific group handles all tasks for Business Solution „Automotive“ OR
„Mechanical“ in Hamburg
910/26/2017BPMCon 2017 – DMN on Steroids
Candidate Group
Business-Data
Task-Type
Org-Unit
Rule based task assignment
1010/26/2017
What’s about DMN? (executed by camunda engine)
BPMCon 2017 – DMN on Steroids
OMG Standard (next to BPMN and CMMN)
• Based on DMN Schema
Visibility of execution
• Monitoring
• Support
Direct changes in production
• No code changes
Performance1
1: https://blog.camunda.org/post/2016/08/dmn-performance-improvements/
Business friendly
Let's check!
1110/26/2017
What’s about DMN? (executed by camunda engine)
BPMCon 2017 – DMN on Steroids
1210/26/2017
Is DMN business friendly?
BPMCon 2017 – DMN on Steroids
Organizational + Task-Type based
1310/26/2017
Is DMN business friendly?
BPMCon 2017 – DMN on Steroids
Organizational + Task-Type + Business-Data based
Business friendly
• Non developer can read DMN tables
• Minimizes the risk of misunderstandings between business and IT
• Non developer can model the rules that lead to a decision
• via Friendly Enough Expression Language (FEEL)
… but error-prone
• via groovy as expression language
1410/26/2017
What’s about DMN? (executed by camunda engine)
cellInput != null && (cellInput.startsWith("PHARMA"))
BPMCon 2017 – DMN on Steroids
1510/26/2017
Solution idea (high level)
BPMCon 2017 – DMN on Steroids
Use the advantages of DMN
Authorized user can maintain the assignment rules via the business-
application
• custom authorization
• known look and feel
• custom proposal lists
• custom validation
• no knowledge about DMN needed
• technical “details” are hidden
System generates DMN tables
• based on business-rules
1610/26/2017
Solution
BPMCon 2017 – DMN on Steroids
DMN-Generation is triggered when a rule is added, changed or removed
Usage of the camunda DMN model API written in Java
• rules are processed in the order of the hierarchy
• expressions are inherited from parent
• each rule can contain multiple expressions
Generated DMN is deployed to the engine via RepositoryService
DMN evaluation is embedded within a task-assignment process
• BPMN-Process as a function (synchronous)
• Usage of the camunda-bpm-reactor1 extension
• Wrap delegate calls with new transaction
1: https://github.com/camunda/camunda-bpm-reactor
1810/26/2017
Cockpit Plugin – Task-Assignment
BPMCon 2017 – DMN on Steroids
"Task Assignment" tab to the process-instance view of the cockpit
• runtime- and history-view
2110/26/2017BPMCon 2017 – DMN on Steroids
https://github.com/holisticon/holunda/tree/master/task-assignment-with-dmn
Example application on github