Jedes dem Markt zur Verfügung gestellte Produkt und jeder erbrachte Service von Kühne + Nagel ist das Resultat verschiedener aufeinander folgender Aktivitäten. Für alle Import- und Export-Prozesse der See-und Luftfracht wird die Abfolge der spezifischen Benutzerinteraktionen mit Hilfe von BPMN modelliert und in der Camunda BPM Engine ausgeführt. Neben der Sequenz und Beziehung dieser Aktivitäten steht das verteilte und abteilungsübergreifende Arbeiten im Fokus. Die Zuordnung von Benutzeraufgaben erfolgt mit Hilfe von DMN-Entscheidungstabellen, welche basierend auf Stamm- und Geschäftsdaten eine Vielzahl von komplexen Ausdrücken beinhalten können. Da die Entscheidungen oft sehr komplex sind, werden anhand von Konfigurationsdialogen für den Anwender DMN-Tabellen generiert. Der Clou ist, dass die Entscheidungstabellen von den fachlichen Konfigurationen entkoppelt sind und der Anwender keinerlei Kenntnis über DMN besitzen muss.
2. 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
3. • 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
4. 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
6. 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
7. What needs to be done - BPMN Process Model
p. 726.10.2017BPMCon 2017 – DMN on Steroids
8. 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
9. 910/26/2017BPMCon 2017 – DMN on Steroids
Candidate Group
Business-
Data
Task-
Type
Org-Unit
Rule based task assignment
10. 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/
11. Business friendly
Let's check!
1110/26/2017
What’s about DMN? (executed by camunda engine)
BPMCon 2017 – DMN on Steroids
13. 1310/26/2017
Is DMN business friendly?
BPMCon 2017 – DMN on Steroids
Organizational + Task-Type + Business-Data based
14. 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
15. 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
16. 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
18. 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