Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JAX 2017 talk: Business Rules with DMN and Camunda

582 views

Published on

Slides from my JAX talk in Mainz. Code examples are online: https://github.com/berndruecker/camunda-dmn-intro

Published in: Technology
  • Be the first to comment

  • Be the first to like this

JAX 2017 talk: Business Rules with DMN and Camunda

  1. 1. Geschäftsregeln mit DMN Bernd Rücker | http://bernd-ruecker.com/ | @berndruecker
  2. 2. Assume you want a new fixed line being activated
  3. 3. Functional requirements
  4. 4. Implementation
  5. 5. Your rule implementation?
  6. 6. Another example…
  7. 7. Decision table
  8. 8. Decision table Stored as XML, directly executable
  9. 9. http://camunda.org/ Open Source (ASL)
  10. 10. Demo
  11. 11. Recap
  12. 12. Recap
  13. 13. FEEL (Friendly Enough Expression Language)
  14. 14. FEEL
  15. 15. FEEL
  16. 16. FEEL
  17. 17. More complex epressions possible
  18. 18. More complex expressions possible
  19. 19. Register own functions
  20. 20. Typical non-functionial requirements Requirement What business analysts may say Visibility How is the rule implemented today? ✓ Changeability Please change that rule quickly! Let me quickly change that rule myself. ✓ Traceability Why was this decision taken in this concrete situation? Inside How frequent are certain decisions?
  21. 21. Lightweight and composable platform DB Java Engine Platform (Repository, History, REST-API, …) Cockpit Modeler dmn.io http://camunda.org/ OSS - Apache License
  22. 22. Demo
  23. 23. Recap
  24. 24. Recap
  25. 25. Too simple?
  26. 26. Decision Requirement Diagrams Entscheidung Input Wissensquelle (Knowlege source) Geschäftswissens- modell (Business knowledge)
  27. 27. Demo
  28. 28. Recap
  29. 29. Sturm Niklas, Münsterland Zeitung, 01.04.2015 Kumulschaden, der Der Kumulschaden ist die Summe von mehreren einzelnen, bei unterschiedlichen Versicherungsnehmern eingetretenen Schäden, die regional durch das gleiche Schadensereignis verursacht wurden.
  30. 30. That means Münster München
  31. 31. Workshop Business IT Decision Analyst The „DRD“
  32. 32. The result Required Skills Employee Suitability Score Claim: Affected Object Claim: Type Claim: Expenditure Employee: Claims assigned Employee Claim Approval Authority Employee Experience Determine Employee
  33. 33. The result Required Skills Employee Suitability Score Claim: Affected Object Claim: Type Claim: Expenditure Employee: Claims assigned Employee Claim Approval Authority Employee Experience Determine Employee Expression: Use employee with best score
  34. 34. Problem: Multiplicity. Not (yet) adressed by DRD! Required Skills Employee Suitability Score Claim: Affected Object Claim: Type Claim: Expenditure Employee: Claims assigned Employee Claim Approval Authority Employee Experience Determine Employee per claim (1 time) per claim and employee (n times) Result: 1 employee
  35. 35. Demo
  36. 36. Recap
  37. 37. Decision Flow
  38. 38. Implementation as Decision Flow
  39. 39. Decision Flow for (var i=0; i<employees.length; i++) { if (!selectedEmployee || employees[i].score > selectedEmployee.score){ selectedEmployee = employees[i]; } } Simple Expressions can be best expressed as Script Tasks, e.g. using JavaScript
  40. 40. Seperate Decision Flow from Business Process
  41. 41. Bernd Rücker Consultant & Evangelist > 10+ years workflow & rules http://bernd-ruecker.com/ bernd.ruecker@camunda.com Co-founder Camunda http://camunda.org/
  42. 42. Developer friendly
  43. 43. More benefits for the developer • Implement rules much faster • Extract rules from cluttering your code base • Keep remaining code more stable • Ownership on rules
  44. 44. DMN Summary & Scope Decision Table Decision Logic FEEL (Friendly enough expression language) Literal Expressions Decision Requirements Diagram (DRD) Scoring Automatsisierte Risiko- bewertung von Anträgen Gebührenberechnung Automatische Berechnung von Gebühren Skill-based routing Automatisierte Zuweisung von Anträgen zu Mitarbeitern Validierung Automatische Validierung von Rückversicherungen
  45. 45. http://camunda.org https://github.com/berndruecker/ camunda-dmn-intro
  46. 46. Takeaways & Empfehlung • DMN gelingt die Kombination von „fachbereichslesbar“ und „ausführbar“ sehr gut • Entscheidungstabellen sind einfach zu verstehen und vielseitig einsetzbar • DMN verbreitet sich rasant
  47. 47. Vielen Dank! Fragen?

×