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.

Workflow automation with BPMN. Lessons learned.

14 views

Published on

Slides from my talk at Developer Week

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Workflow automation with BPMN. Lessons learned.

  1. 1. @berndruecker Workflow automation with BPMN. Lessons Learned.
  2. 2. Berlin, Germany bernd.ruecker@camunda.com @berndruecker Bernd Ruecker Co-founder and Developer Advocate of Camunda
  3. 3. What is workflow automation?
  4. 4. The „hello world“ example Human task management Service orchestration Events, e.g. timers
  5. 5. BPMN Business Process Model and Notation ISO Standard
  6. 6. More realistic examples
  7. 7. Workflow engines + Code, UI, … XML
  8. 8. Workflow engines + Code, UI, … XML Visibility State Handling
  9. 9. Important: Avoid the 7 sins! https://blog.bernd-ruecker.com/the-7-sins-of-workflow-b3641736bf5c
  10. 10. The 7 sins of workflow Homegrown engine No engine Wrong engine 4 6 5 7 3
  11. 11. Think about subsequent requirements Monitoring & Operations Visibility Versioning Time & Timeouts Domain Logic Operate at scale
  12. 12. The 7 sins of workflow Zero-code suites Homegrown engine No engine Wrong engine 4 6 5 7
  13. 13. Avoid zero-code suites! Death by properties panel Low-code is great! (You can get rid of your developers!) Complex, proprietary, heavyweight, central, developer adverse, …
  14. 14. Zero code meets developers We have some problems It is horrible. I hate BPM!
  15. 15. Why is this so important? Some advice to convince your boss!
  16. 16. Software is eating the world. Marc Andreessen, Entrepreneur & Investor 2011 in „The Wall Street Journal“ „ Photo by techcrunch, available under Creative Commons BY 2.0 license.
  17. 17. “Goldman Sachs is a Tech Company” 18 https://media.thinknum.com/articles/the-bank-jobs-which-big-financial-firms-are-betting-heavy-on-tech/
  18. 18. From the Microsoft Press Release 20 https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/ Today, every company is becoming a software company and developers are at the center of digital transformation; they drive business processes and functions across organizations from customer service and HR to marketing and IT. And the choices these developers make will increasingly determine value creation and growth across every industry.
  19. 19. Camunda Open source platform for workflow and decision automation. Developer friendly! > 75 people HQ Berlin + Offices US 0 20 40 60 80 100 120 140 160 180 200 2014 2015 2016 2017 2018
  20. 20. BPMN Workflow Definition Your Application Workflow Engine REST C# Code, … Client Console, WPF, Core, …
  21. 21. Example
  22. 22. Live hacking https://github.com/berndruecker/camunda-dot-net-showcase/
  23. 23. https://blog.bernd-ruecker.com/use-camunda-without-touching-java-and-get-an-easy-to-use-rest-based- orchestration-and-workflow-7bdf25ac198e
  24. 24. https://thenewstack.io/5-workflow-automation-use-cases-you-might-not-have-considered/
  25. 25. <= milliseconds seconds minutes, weeks, … Business IT long runningalways short running short running, but potentially long running Use cases for workflow automation
  26. 26. <= milliseconds seconds minutes, weeks, … Business IT long runningalways short running short running, but potentially long running Use cases for workflow automation Long running = sit and wait
  27. 27. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation long runningalways short running short running, but potentially long running Use cases for workflow automation
  28. 28. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation long runningalways short running short running, but potentially long running Use cases for workflow automation
  29. 29. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions long runningalways short running short running, but potentially long running Use cases for workflow automation
  30. 30. Distributed systems
  31. 31. Distributed transactions using compensation *
  32. 32. Distributed transactions using compensation * Compensation
  33. 33. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions long runningalways short running short running, but potentially long running Use cases for workflow automation
  34. 34. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions Orchestration long runningalways short running short running, but potentially long running Use cases for workflow automation
  35. 35. (Micro-)services Checkout Payment Inventory Shipment
  36. 36. Implement this business capability
  37. 37. Peer-to-peer communication (e.g. via events) Checkout Payment Inventory Shipment Order placed Payment received Goods shipped Goods fetched
  38. 38. Peer-to-peer communication (e.g. via events) Checkout Payment Inventory Shipment Order placed Payment received Goods shipped Goods fetched
  39. 39. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html
  40. 40. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html
  41. 41. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html
  42. 42. Peer-to-peer event chains Checkout Payment Inventory Shipment Order placed Payment received Goods shipped Goods fetched Fetch the goods before the payment
  43. 43. Peer-to-peer event chains Checkout Payment Inventory Shipment Fetch the goods before the payment Goods fetched Order placed Payment received Goods shipped
  44. 44. Peer-to-peer event chains Checkout Payment Inventory Shipment Fetch the goods before the payment Customers can pay via invoice Goods fetched Order placed Payment received Goods shipped …
  45. 45. Photo by born1945, available under Creative Commons BY 2.0 license.
  46. 46. Extract Orchestration logic
  47. 47. Workflows live inside service boundaries
  48. 48. Zalando Sales-Order and Order-Fulfillment via Camunda for every order worldwide Orders Q2-2017: 22,2 Mio. Sales 2016: 3,6 Mrd. EUR Growth 2016: 23%
  49. 49. Orchestrating serverless functions
  50. 50. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions Orchestration long runningalways short running short running, but potentially long running Use cases for workflow automation
  51. 51. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions Orchestration Communication in distributed systems long runningalways short running short running, but potentially long running Use cases for workflow automation
  52. 52. Distributed systems
  53. 53. It is impossible to differentiate certain failure scenarios. Independant of communication style! Service Provider Client
  54. 54. Distributed systems introduce complexity you have to tackle! Credit Card Payment REST
  55. 55. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions Orchestration Communication in distributed systems long runningalways short running short running, but potentially long running Use cases for workflow automation
  56. 56. <= milliseconds seconds minutes, weeks, … Business IT Business processes automation Distributed Transactions Decision Automation Orchestration Communication in distributed systems long runningalways short running short running, but potentially long running Use cases for workflow automation
  57. 57. Photo by ErikaWittlieb, available under Creative Commons CC0 1.0 license.
  58. 58. Decisions with DMN
  59. 59. Kühne + Nagel at BpmCon 2017 and Helvetia at BpmCon 2016
  60. 60. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  61. 61. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  62. 62. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  63. 63. Who uses a message bus?
  64. 64. Who has no problems operating a message bus? Dead messages | No context | Inaccesible payload | Hard to redeliver | Home-grown message hospitals | …
  65. 65. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  66. 66. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  67. 67. Architecture https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
  68. 68. Workflow automation at scale! low latency, high-throughput low frequency, latency doesn‘t matter What people think workflow automation can do What we currently teach workflow automation to be able to do What workflow automation can already do today
  69. 69. Summary: Workflow automation with BPMN is great.
  70. 70. Biz Dev Leverage state machine & workflow engine Living documentation Visibility in testing improve communication improve communication Ops
  71. 71. Biz Dev Leverage state machine & workflow engine Living documentation Visibility in testing Understand and discuss business processes Evaluate optimizations in-sync with implementation improve communication improve communication Ops
  72. 72. Living documentation for long-running behaviour
  73. 73. Biz Dev Leverage state machine & workflow engine Living documentation Visibility in testing Understand and discuss business processes Evaluate optimizations in-sync with implementation improve communication improve communication Ops
  74. 74. Biz Dev Leverage state machine & workflow engine Living documentation Visibility in testing Operate with visibility and context Understand and discuss business processes Evaluate optimizations in-sync with implementation improve communication improve communication Ops
  75. 75. Proper Operations Visibility + Context
  76. 76. BPMN Executable and mature Easy to understand Widespread for Biz, Dev and Ops
  77. 77. Azure Durable Functions From https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-overview
  78. 78. From https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-overview and https://docs.microsoft.com/en-us/azure/logic-apps/quickstart-create-first-logic-app-workflow Azure Logic Apps
  79. 79. Windows Workflow Foundation
  80. 80. Before mapping processes explicitly with BPMN, the truth was buried in the code and nobody knew what was going on. Jimmy Floyd, 24 Hour Fitnesse „
  81. 81. Thank you!
  82. 82. bernd.ruecker@camunda.com @berndruecker https://bernd-ruecker.com https://blog.bernd-ruecker.com https://github.com/flowing https://www.infoq.com/articles/events- workflow-automation With thoughts from http://flowing.io @berndruecker | @martinschimak Contact: Slides: Blog: Code: https://www.infoworld.com/article/3254777/ application-development/ 3-common-pitfalls-of-microservices- integrationand-how-to-avoid-them.html https://thenewstack.io/5-workflow-automation- use-cases-you-might-not-have-considered/

×