SlideShare una empresa de Scribd logo
1 de 45
The 7 sins of workflow
mail@bernd-ruecker.com
The 7 sins of workflow
3
2
4
6
5
7
1
What is workflow?
The obvious use case for workflow: Human task management
A simple example
Human task
management
Service
collaboration
Events , e.g.
timers
* Modeled in BPMN
= ISO Standard for modeling and execution
Tasklists and task forms
…
Another use case:
service collaboration
Service A
Challenge: Synchronous collaboration
Call
service B
Service B
The network is unreliable
Hystrix adds circuit
breaker & fail fast
Retry capability missing
Service A
Challenge: Asynchronous collaboration
Send
message
to B
Service B
Wait for
response
Timeout handling
Message correlation
State handling
Challenge: Flow logic
Sequence
Routing decisions
Parallelism
…
See also http://www.workflowpatterns.com/
Challenge: Distributed transactions
1. book
hotel
2. book
car
3. book
flight
6.
cancel
hotel
5.
cancel
car
4. In case of
failure trigger
compensations
book
trip
Service A
Car ServiceHotel Service Flight Service
ACID-Transactions
only local in the
service contexts
Distributed
transaction via Saga
pattern using
compensating
activities
A workflow engine is a (persistent) state machine
What BPMN can do
What BPMN can do
What BPMN can do
Toolbox for distributed systems
Handling of time &
timeouts
Retry
Distributed
transactions
Message correlation &
de-duplication
Workflow
and BPM
… and death by
properties panel
Same story with BPM:
Shiny vendors promised zero-code …
proprietary, alien
like tools …
BPM sucks.
I hate it.
So thank you,
I can do without.
Alarming by
management attention
Let‘s simply build
this ourselves…
It is en-vogue
This is not a new idea…
Own DSL, parsing, graphical representation,
modeler, persistence, escalation, version
management, tooling, …
The 7 sins of workflow
Zero-code suites
Homegrown
engine
No engine Wrong engine
4
6
5
7
Process Manager
…
Bernd Rücker
Consultant & Evangelist
10+ years workflow
http://bernd-ruecker.com/
bernd.ruecker@camunda.com
Co-founder Camunda
http://camunda.org/
BPM done right
Developer friendly Composable BizDevOps
Live hacking
Live hacking wrap-up
@Autowired
ProcessEngine engine;
Bpmn.createProcess()
...;
The 7 sins of workflow
Zero-code suites
Homegrown
engine
No engine Wrong engine
4
6
5
7
The 7 sins of workflow
Zero-code suites
Homegrown
engine
Granularity
bloopers
Over engineering
No engine Wrong engine Wrong usage
6 7
The 7 sins of workflow
Zero-code suites
Homegrown
engine
Granularity
bloopers
BPM monolith
Over engineering
No engine Wrong engine Wrong usage
7
Microservice Orchestration?
Avoid the BPM monolith in microservice architectures
Payment
Order
engine
engine
Inventory
Shipping Payment
Order Inventory
Shipping
BPM
Do not violate the microservice ownerships
Order
Inventory
Payment
Payment
Distributed flows are owned by microservices
Order
Distributed
orchestration
The 7 sins of workflow
Zero-code suites
Homegrown
engine
Granularity
bloopers
BPM monolith Stakeholders
habitat violation
Over engineering
No engine Wrong engine Wrong usage
Avoid these sins and life will be great!
Summary: State machines solve some hard developer problems
Monitoring &
Operations
Handling of time &
timeouts
Retry
Visibility &
Reporting
Versioning
Compensation
Message correlation
Performance &
scalability
Thank you!
Slides:
https://bernd-ruecker.com
Blog:
https://blog.bernd-ruecker.com
Feedback:
https://bernd-ruecker.com/feedback

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Java User Group Maas-Rhine February 2018: 7 sins of workflow
Java User Group Maas-Rhine February 2018: 7 sins of workflowJava User Group Maas-Rhine February 2018: 7 sins of workflow
Java User Group Maas-Rhine February 2018: 7 sins of workflow
 
JUG Frankfurt - Orchestration of microservices
JUG Frankfurt - Orchestration of microservicesJUG Frankfurt - Orchestration of microservices
JUG Frankfurt - Orchestration of microservices
 
JavaBin Trondheim and Bergen: Let your microservices flow
JavaBin Trondheim and Bergen: Let your microservices flowJavaBin Trondheim and Bergen: Let your microservices flow
JavaBin Trondheim and Bergen: Let your microservices flow
 
GopherCon UK 2018 - Orchestration of microservices
GopherCon UK 2018 - Orchestration of microservicesGopherCon UK 2018 - Orchestration of microservices
GopherCon UK 2018 - Orchestration of microservices
 
3 common pitfalls in microservice integration
3 common pitfalls in microservice integration3 common pitfalls in microservice integration
3 common pitfalls in microservice integration
 
Goto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flowGoto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flow
 
JavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with CamundaJavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with Camunda
 
Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...
 
Workflow automation with BPMN. Lessons learned.
Workflow automation with BPMN. Lessons learned.Workflow automation with BPMN. Lessons learned.
Workflow automation with BPMN. Lessons learned.
 
Webinar "Communication Between Loosely Coupled Microservices"
Webinar "Communication Between Loosely Coupled Microservices"Webinar "Communication Between Loosely Coupled Microservices"
Webinar "Communication Between Loosely Coupled Microservices"
 
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
2019 DACH Roadshow - Workflow Automation in Microservices Architectures2019 DACH Roadshow - Workflow Automation in Microservices Architectures
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
 
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
 
JAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinventedJAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinvented
 
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
 
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
Camunda Con Live 2020 Keynote - Microservice Orchestration and IntegrationCamunda Con Live 2020 Keynote - Microservice Orchestration and Integration
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
 
Digitalization and Workflow Automation - Camunda Process Automation Forum
Digitalization and Workflow Automation - Camunda Process Automation ForumDigitalization and Workflow Automation - Camunda Process Automation Forum
Digitalization and Workflow Automation - Camunda Process Automation Forum
 
2019 - Lost in transaction
2019 - Lost in transaction2019 - Lost in transaction
2019 - Lost in transaction
 
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
 
JCon 2021 - Loosely or lousily coupled
JCon 2021 - Loosely or lousily coupledJCon 2021 - Loosely or lousily coupled
JCon 2021 - Loosely or lousily coupled
 
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
 

Similar a 7 sins of workflow

20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM
camunda services GmbH
 
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd RückerOpen Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
JAXLondon2014
 
Camunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release WebinarCamunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release Webinar
camunda services GmbH
 
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Tim Vibbert
 

Similar a 7 sins of workflow (20)

The 7 sins of workflow
The 7 sins of workflowThe 7 sins of workflow
The 7 sins of workflow
 
Webinar: BPMN with camunda
Webinar: BPMN with camundaWebinar: BPMN with camunda
Webinar: BPMN with camunda
 
2016 JFall Camunda BPM
2016 JFall Camunda BPM2016 JFall Camunda BPM
2016 JFall Camunda BPM
 
Placement of BPM runtime components in an SOA environment
Placement of BPM runtime components in an SOA environmentPlacement of BPM runtime components in an SOA environment
Placement of BPM runtime components in an SOA environment
 
IBM Business Process Management 8.5
IBM Business Process Management 8.5IBM Business Process Management 8.5
IBM Business Process Management 8.5
 
20100223 bpmn
20100223 bpmn20100223 bpmn
20100223 bpmn
 
20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM
 
CamundaCon 2022 Keynote: The Process Orchestration Journey
CamundaCon 2022 Keynote: The Process Orchestration JourneyCamundaCon 2022 Keynote: The Process Orchestration Journey
CamundaCon 2022 Keynote: The Process Orchestration Journey
 
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
QCon London 2018: 3 common pitfalls in microservice integration and how to av...QCon London 2018: 3 common pitfalls in microservice integration and how to av...
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
 
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd RückerOpen Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
 
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
 
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
 
Troubleshooting serverless applications
Troubleshooting serverless applicationsTroubleshooting serverless applications
Troubleshooting serverless applications
 
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?
 
Camunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release WebinarCamunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release Webinar
 
The Road To Event-Driven Architecture
The Road To Event-Driven ArchitectureThe Road To Event-Driven Architecture
The Road To Event-Driven Architecture
 
DevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for FailuresDevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for Failures
 
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap..."Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
 
Microservies Vienna - Lost in transactions
Microservies Vienna - Lost in transactionsMicroservies Vienna - Lost in transactions
Microservies Vienna - Lost in transactions
 
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
 

Más de Bernd Ruecker

Más de Bernd Ruecker (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
 
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
 
JCon Live 2023 - Lice coding some integration problems
JCon Live 2023 - Lice coding some integration problemsJCon Live 2023 - Lice coding some integration problems
JCon Live 2023 - Lice coding some integration problems
 
JFall - Process Oriented Integration
JFall - Process Oriented IntegrationJFall - Process Oriented Integration
JFall - Process Oriented Integration
 
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestrationCamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
 
JavaLand 2023 - Process Oriented Integration
JavaLand 2023 - Process Oriented IntegrationJavaLand 2023 - Process Oriented Integration
JavaLand 2023 - Process Oriented Integration
 
CraftConf: Surviving the hyperautomation low code bubbl
CraftConf: Surviving the hyperautomation low code bubblCraftConf: Surviving the hyperautomation low code bubbl
CraftConf: Surviving the hyperautomation low code bubbl
 
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
Mastering Data for Higher Business Impact - at Commerzbank Innovation SummitMastering Data for Higher Business Impact - at Commerzbank Innovation Summit
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
 
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubbleCamunda Chapter Hamburg - Surviving the hyperautomation low code bubble
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
 
Loosely or lousily coupled - Understanding communication patterns in microser...
Loosely or lousily coupled - Understanding communication patterns in microser...Loosely or lousily coupled - Understanding communication patterns in microser...
Loosely or lousily coupled - Understanding communication patterns in microser...
 
JAX 2022 - Loosely or lousily coupled
JAX 2022 - Loosely or lousily coupledJAX 2022 - Loosely or lousily coupled
JAX 2022 - Loosely or lousily coupled
 
JFS 2021 - The Process Automation Map
JFS 2021 - The Process Automation MapJFS 2021 - The Process Automation Map
JFS 2021 - The Process Automation Map
 
Kafka Summit 2021 - Apache Kafka meets workflow engines
Kafka Summit 2021 - Apache Kafka meets workflow enginesKafka Summit 2021 - Apache Kafka meets workflow engines
Kafka Summit 2021 - Apache Kafka meets workflow engines
 
Process Automation Forum April 2021 - Practical Process Automation
Process Automation Forum April 2021 - Practical Process AutomationProcess Automation Forum April 2021 - Practical Process Automation
Process Automation Forum April 2021 - Practical Process Automation
 
Micronaut Webinar 2021 - Process Automation Introduction
Micronaut Webinar 2021 - Process Automation IntroductionMicronaut Webinar 2021 - Process Automation Introduction
Micronaut Webinar 2021 - Process Automation Introduction
 
Automating Processes in Modern Architectures
Automating Processes in Modern ArchitecturesAutomating Processes in Modern Architectures
Automating Processes in Modern Architectures
 
OOP 2021 - Leverage the full potential of your hipster architecture
OOP 2021 - Leverage the full potential of your hipster architectureOOP 2021 - Leverage the full potential of your hipster architecture
OOP 2021 - Leverage the full potential of your hipster architecture
 
GOTOpia 2020 - Balancing Choreography and Orchestration
GOTOpia 2020 - Balancing Choreography and OrchestrationGOTOpia 2020 - Balancing Choreography and Orchestration
GOTOpia 2020 - Balancing Choreography and Orchestration
 
Reactive Summit 2020 - How state helps you to stay reactive
Reactive Summit 2020 - How state helps you to stay reactiveReactive Summit 2020 - How state helps you to stay reactive
Reactive Summit 2020 - How state helps you to stay reactive
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

7 sins of workflow