DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke

22
DMN "on Steroids" 22. September 2017 Stefan Becke + Torben Rasche

Transcript of DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke

DMN "on Steroids"

22. September 2017

Stefan Becke + Torben Rasche

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

The freight forwarder‘s day

p. 526.10.2017BPMCon 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

What needs to be done - BPMN Process Model

p. 726.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

1710/26/2017

How does it look like?

BPMCon 2017 – DMN on Steroids

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

1910/26/2017

Task Assignment Process – Process History view

BPMCon 2017 – DMN on Steroids

2010/26/2017

Task Assignment Process – DMN execution

BPMCon 2017 – DMN on Steroids

2110/26/2017BPMCon 2017 – DMN on Steroids

https://github.com/holisticon/holunda/tree/master/task-assignment-with-dmn

Example application on github

Thank you!

26.10.2017 p. 22BPMCon 2017 – DMN on Steroids