SlideShare a Scribd company logo
Workflow Systems Myths, Truths and Wishful Thinking Brandon Satrom Chief Architect, Thought Ascent brandon.satrom@thoughtascent.com www.userinexperience.com
Copyright 2009, Thought Ascent, Inc About Me - In Six Words Opinionated Architect.  Often wrong.  Continually improving.
Long-time Microsoft developer Former Enterprise Architect Alt.Net guy, but still nice President, IASA Austin Copyright 2009, Thought Ascent, Inc Worth mentioning?
Experience with vendor WF tools Experience with BizTalk (2002+) Recently built a successful production implementation using WF 3.5 See that “opinionated architect” comment. Copyright 2009, Thought Ascent, Inc What qualifies me to talk about Workflow…
Copyright 2009, Thought Ascent, Inc So what is “Workflow” anyway?
Copyright 2009, Thought Ascent, Inc A workflow is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work, segregated in workshare, work split or other types of ordering. For control purposes, workflow may be a view on real work under a chosen aspect, thus serving as a virtual representation of actual work. The flow being described often refers to a document that is being transferred from one step to another.  – from http://en.wikipedia.org/wiki/Workflow
Copyright 2009, Thought Ascent, Inc How about something simpler?
The coordination of work in a “system” Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc Got it. So then what’s a “Workflow System?”
Perhaps… An application that assists in the definition and/or execution and/or management of workflows Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc That sounds too similar to a “normal” system. What’s the difference?
How a workflow system differs from a traditional program In theory, at least… Copyright 2009, Thought Ascent, Inc
Declarative Copyright 2009, Thought Ascent, Inc
Persistent Copyright 2009, Thought Ascent, Inc External Stimulus Persistence Store
Dynamic Copyright 2009, Thought Ascent, Inc Business Change Activity F Divert to new activity
Configurable Copyright 2009, Thought Ascent, Inc Activity D Activity E Rules Store
Centrally Defined… Copyright 2009, Thought Ascent, Inc
… though not necessarily visual. Copyright 2009, Thought Ascent, Inc static SessionSaga() {    Define(() =>       {          Initially(             When(NewSession)                 .Then((saga, message) => saga.NewSessionStarted(message))                  .TransitionTo(SessionActive)              );          During(SessionActive,             When(FeedbackCheckRequested)                .Then((saga, message) => saga.CheckForFeedback(message))             When(new Timer()				                                        .StartOn(session.Start) 	      .RunAtInterval(session.CheckInterval) 	      .Until(session.End))                 .Then((saga, message) => saga.CheckForFeedback(message))            When(SessionComplete)                .Then((saga, message) => saga.SessionEnded(message))                .Complete()          );    });}
Copyright 2009, Thought Ascent, Inc Ok, I get it. So why are we still doing this presentation?
Copyright 2009, Thought Ascent, Inc Workflow has a PR problem…
Copyright 2009, Thought Ascent, Inc There seem to be two sides…
Copyright 2009, Thought Ascent, Inc …who can’t (or won’t) get along.
The “Workflow will Save us all” side Copyright 2009, Thought Ascent, Inc
The “Run like you’re on fire” side Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc I’d like a third option please.
Copyright 2009, Thought Ascent, Inc How about the best of both?
Consider both sides of the story…
And be a cautious optimist… Copyright 2009, Thought Ascent, Inc
There are reasons to get excited about Workflow… Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc Visual, Visual, Visual
Copyright 2009, Thought Ascent, Inc Clear expression of intent from domain experts…
Copyright 2009, Thought Ascent, Inc The Next “Great Leap” in software
…and there are reasons to be wary… Copyright 2009, Thought Ascent, Inc
Steep-learning curves Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc Poor Performance
Copyright 2009, Thought Ascent, Inc Sleights of hand and shell-games
Copyright 2009, Thought Ascent, Inc Both sides are right … Both sides are wrong….
Copyright 2009, Thought Ascent, Inc Right and wrong? How so?
Myths, Truths and Wishful Thinking Copyright 2009, Thought Ascent, Inc
1) Visual Workflow Tools are the only way to “do” Workflow Copyright 2009, Thought Ascent, Inc
Myth Copyright 2009, Thought Ascent, Inc
Is this really easier to comprehend… Copyright 2009, Thought Ascent, Inc
Than this? require 'rubygems'  require 'statemachine'  vending_machine = Statemachine.build do  	state :waiting do  		event :dollar, :paid, :activate  		event :selection, :waiting  on_entry :sales_mode on_exit :operation_mode 	end  	trans :paid, :selection, :waiting, :release 	trans :paid, :dollar, :paid, :refund  	context VendingMachineContext.new end Copyright 2009, Thought Ascent, Inc
The Truth Many open-source “code-first” solutions offer most of the benefits of a workflow system without the steep learning curve. Copyright 2009, Thought Ascent, Inc
Demo –Workflow with Mass Transit Copyright 2009, Thought Ascent, Inc
2) Workflow should be running all your application logic Copyright 2009, Thought Ascent, Inc
Lie Copyright 2009, Thought Ascent, Inc
Turn a simple flow… Copyright 2009, Thought Ascent, Inc
…into “Spaghetti Flow” Copyright 2009, Thought Ascent, Inc
The Truth Workflow systems can be a good choice for managing long-running, complex processes, but don’t yet perform well-enough to handle all your logic. Copyright 2009, Thought Ascent, Inc
3) Domain experts can (and should) easily change workflows at runtime Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc
Wishful Thinking… Copyright 2009, Thought Ascent, Inc
The Truth We don’t change systems at runtime without some diligence. So why would our users?  That said. There are models that are more illustrative of reality… Copyright 2009, Thought Ascent, Inc
4) Declarative/Visual App Dev is easier than traditional dev… Copyright 2009, Thought Ascent, Inc
Half-Truth Copyright 2009, Thought Ascent, Inc
The Truth Where it’s easier: OOB programming constructs (IF, While, etc) Encourages/ Rewards SRP-development Where it’s harder: Visual IDEs slower than code IDEs Testing is hard, if not impossible Refactoring involves more rework than necessary Copyright 2009, Thought Ascent, Inc
5) “I can build a WF system in 100 lines of code” Copyright 2009, Thought Ascent, Inc
Wishful Thinking… Copyright 2009, Thought Ascent, Inc
The Truth Code-only solutions can address simple scenarios quickly… But tend to unravel when persistence, durability, scale,timed-events, long-running processes, human workflow and other complex issues are introduced. Copyright 2009, Thought Ascent, Inc
The Faceplant Application “Social Speaking” Demo: Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc Congratulations! You’ve done an excellent job of not telling me what I should do…
Open Discussion – When should a Workflow Tool be considered? Copyright 2009, Thought Ascent, Inc
When does WF make sense? … Copyright 2009, Thought Ascent, Inc
Copyright 2009, Thought Ascent, Inc I think it’s time for the bottom line…
There is no simple answer… Only the right tool for the job Copyright 2009, Thought Ascent, Inc
The Right Tool for The Job might be… “Roll Your Own” Workflow Use an open-source Bus NServiceBus Mass Transit Simple ServiceBus Use an open-source State management tool Simple State Machine Use Windows WF After you’ve exhausted all other possibilities Copyright 2009, Thought Ascent, Inc
Consider a “Workflow System” when: Need a visual, changeable representation Timed-events are key Long-running: Transactions Conversations  Services Many, complex processes  Economies of scale principle Copyright 2009, Thought Ascent, Inc
Don’t start with a workflow system as a solution. Get there by eliminating other options Copyright 2009, Thought Ascent, Inc
And pay attention… Software development is changing. Copyright 2009, Thought Ascent, Inc
Questions? brandon.satrom@thoughtascent.com www.userinexperience.com Twitter: @thesatch Code and slides available at:  http://github.com/bsatrom/WorkflowSystems Copyright 2009, Thought Ascent, Inc
Image Credits WF System, InfoWorld http://www.infoworld.com/d/developer-world/product-review-ultimus-jump-starts-bpm-deployment-546?page=0,1 Pinnochio – House of Sims, Flickr http://www.flickr.com/photos/houseofsims/2662410465/ Myth – Mythbusters on Discovery http://dsc.discovery.com/fansites/mythbusters/wallpaper/wallpaper.html Steep Learning Curve – Casual Game Design http://www.casualgamedesign.com/?p=27 Skeptic Guy – Flick http://www.flickr.com/photos/mcleod/3909431214/in/set-72157607796029636 Copyright 2009, Thought Ascent, Inc

More Related Content

Similar to Workflow Systems: Myths, Truths and Wishful Thinking

7 Steps To Process Mastery
7 Steps To Process Mastery7 Steps To Process Mastery
7 Steps To Process Mastery
Terry Schurter
 
His First Flight Essay. Online assignment writing service.
His First Flight Essay. Online assignment writing service.His First Flight Essay. Online assignment writing service.
His First Flight Essay. Online assignment writing service.
Nicole Barnes
 
CO_Scenario_IntInfoDelv_FINAL ENGLISH
CO_Scenario_IntInfoDelv_FINAL ENGLISHCO_Scenario_IntInfoDelv_FINAL ENGLISH
CO_Scenario_IntInfoDelv_FINAL ENGLISH
Leonardo Sepulcri
 
IBM Start Now- Interactive Information Delivery
IBM Start Now- Interactive Information DeliveryIBM Start Now- Interactive Information Delivery
IBM Start Now- Interactive Information Delivery
Leonardo Sepulcri
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
Marc Morera
 
Aa zero to-sixty
Aa zero to-sixtyAa zero to-sixty
Aa zero to-sixty
Vijay Reddy
 
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
Amazon Web Services Korea
 
Application Logging for large systems
Application Logging for large systemsApplication Logging for large systems
Application Logging for large systems
Jane Prusakova
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)
dev2ops
 
Uu 2019-05-08 - machine learning -alternative
Uu   2019-05-08 - machine learning -alternativeUu   2019-05-08 - machine learning -alternative
Uu 2019-05-08 - machine learning -alternative
AdarshMamidpelliwar1
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
Nicolò Borghi
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
Nicolò Borghi
 
Automation anywhere user manual tethys solutions
Automation anywhere user manual   tethys solutionsAutomation anywhere user manual   tethys solutions
Automation anywhere user manual tethys solutions
Vijay Reddy
 
The Later Years
The Later YearsThe Later Years
The Later Years
Gordon Kraft
 
The later years
The later yearsThe later years
The later years
Gordon Kraft
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3
Boris Mann
 
Agile Development with OSGi
Agile Development with OSGiAgile Development with OSGi
Agile Development with OSGi
Matt Stine
 
How NOT to Measure Latency, Gil Tene, London, Oct. 2013
How NOT to Measure Latency, Gil Tene, London, Oct. 2013How NOT to Measure Latency, Gil Tene, London, Oct. 2013
How NOT to Measure Latency, Gil Tene, London, Oct. 2013
Azul Systems Inc.
 
Machine learning for developers & data scientists with Amazon SageMaker - AIM...
Machine learning for developers & data scientists with Amazon SageMaker - AIM...Machine learning for developers & data scientists with Amazon SageMaker - AIM...
Machine learning for developers & data scientists with Amazon SageMaker - AIM...
Amazon Web Services
 
RPA Karaoke
RPA Karaoke RPA Karaoke
RPA Karaoke
Cristina Vidu
 

Similar to Workflow Systems: Myths, Truths and Wishful Thinking (20)

7 Steps To Process Mastery
7 Steps To Process Mastery7 Steps To Process Mastery
7 Steps To Process Mastery
 
His First Flight Essay. Online assignment writing service.
His First Flight Essay. Online assignment writing service.His First Flight Essay. Online assignment writing service.
His First Flight Essay. Online assignment writing service.
 
CO_Scenario_IntInfoDelv_FINAL ENGLISH
CO_Scenario_IntInfoDelv_FINAL ENGLISHCO_Scenario_IntInfoDelv_FINAL ENGLISH
CO_Scenario_IntInfoDelv_FINAL ENGLISH
 
IBM Start Now- Interactive Information Delivery
IBM Start Now- Interactive Information DeliveryIBM Start Now- Interactive Information Delivery
IBM Start Now- Interactive Information Delivery
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
Aa zero to-sixty
Aa zero to-sixtyAa zero to-sixty
Aa zero to-sixty
 
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
Lambda@Edge를통한멀티리전기반글로벌트래픽길들이기::이상현::AWS Summit Seoul 2018
 
Application Logging for large systems
Application Logging for large systemsApplication Logging for large systems
Application Logging for large systems
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)
 
Uu 2019-05-08 - machine learning -alternative
Uu   2019-05-08 - machine learning -alternativeUu   2019-05-08 - machine learning -alternative
Uu 2019-05-08 - machine learning -alternative
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
 
Automation anywhere user manual tethys solutions
Automation anywhere user manual   tethys solutionsAutomation anywhere user manual   tethys solutions
Automation anywhere user manual tethys solutions
 
The Later Years
The Later YearsThe Later Years
The Later Years
 
The later years
The later yearsThe later years
The later years
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3
 
Agile Development with OSGi
Agile Development with OSGiAgile Development with OSGi
Agile Development with OSGi
 
How NOT to Measure Latency, Gil Tene, London, Oct. 2013
How NOT to Measure Latency, Gil Tene, London, Oct. 2013How NOT to Measure Latency, Gil Tene, London, Oct. 2013
How NOT to Measure Latency, Gil Tene, London, Oct. 2013
 
Machine learning for developers & data scientists with Amazon SageMaker - AIM...
Machine learning for developers & data scientists with Amazon SageMaker - AIM...Machine learning for developers & data scientists with Amazon SageMaker - AIM...
Machine learning for developers & data scientists with Amazon SageMaker - AIM...
 
RPA Karaoke
RPA Karaoke RPA Karaoke
RPA Karaoke
 

More from Brandon Satrom

Secrets of Awesome JavaScript API Design
Secrets of Awesome JavaScript API DesignSecrets of Awesome JavaScript API Design
Secrets of Awesome JavaScript API Design
Brandon Satrom
 
Coffee scriptisforclosers nonotes
Coffee scriptisforclosers nonotesCoffee scriptisforclosers nonotes
Coffee scriptisforclosers nonotes
Brandon Satrom
 
Coding the right thing
Coding the right thingCoding the right thing
Coding the right thing
Brandon Satrom
 
Workflow systems
Workflow systemsWorkflow systems
Workflow systems
Brandon Satrom
 
Keeping architectures relevant
Keeping architectures relevantKeeping architectures relevant
Keeping architectures relevant
Brandon Satrom
 
The Future Of Work And Workflow
The Future Of Work And WorkflowThe Future Of Work And Workflow
The Future Of Work And Workflow
Brandon Satrom
 

More from Brandon Satrom (6)

Secrets of Awesome JavaScript API Design
Secrets of Awesome JavaScript API DesignSecrets of Awesome JavaScript API Design
Secrets of Awesome JavaScript API Design
 
Coffee scriptisforclosers nonotes
Coffee scriptisforclosers nonotesCoffee scriptisforclosers nonotes
Coffee scriptisforclosers nonotes
 
Coding the right thing
Coding the right thingCoding the right thing
Coding the right thing
 
Workflow systems
Workflow systemsWorkflow systems
Workflow systems
 
Keeping architectures relevant
Keeping architectures relevantKeeping architectures relevant
Keeping architectures relevant
 
The Future Of Work And Workflow
The Future Of Work And WorkflowThe Future Of Work And Workflow
The Future Of Work And Workflow
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 

Workflow Systems: Myths, Truths and Wishful Thinking

  • 1. Workflow Systems Myths, Truths and Wishful Thinking Brandon Satrom Chief Architect, Thought Ascent brandon.satrom@thoughtascent.com www.userinexperience.com
  • 2. Copyright 2009, Thought Ascent, Inc About Me - In Six Words Opinionated Architect. Often wrong. Continually improving.
  • 3. Long-time Microsoft developer Former Enterprise Architect Alt.Net guy, but still nice President, IASA Austin Copyright 2009, Thought Ascent, Inc Worth mentioning?
  • 4. Experience with vendor WF tools Experience with BizTalk (2002+) Recently built a successful production implementation using WF 3.5 See that “opinionated architect” comment. Copyright 2009, Thought Ascent, Inc What qualifies me to talk about Workflow…
  • 5. Copyright 2009, Thought Ascent, Inc So what is “Workflow” anyway?
  • 6. Copyright 2009, Thought Ascent, Inc A workflow is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work, segregated in workshare, work split or other types of ordering. For control purposes, workflow may be a view on real work under a chosen aspect, thus serving as a virtual representation of actual work. The flow being described often refers to a document that is being transferred from one step to another. – from http://en.wikipedia.org/wiki/Workflow
  • 7. Copyright 2009, Thought Ascent, Inc How about something simpler?
  • 8. The coordination of work in a “system” Copyright 2009, Thought Ascent, Inc
  • 9. Copyright 2009, Thought Ascent, Inc Got it. So then what’s a “Workflow System?”
  • 10. Perhaps… An application that assists in the definition and/or execution and/or management of workflows Copyright 2009, Thought Ascent, Inc
  • 11. Copyright 2009, Thought Ascent, Inc That sounds too similar to a “normal” system. What’s the difference?
  • 12. How a workflow system differs from a traditional program In theory, at least… Copyright 2009, Thought Ascent, Inc
  • 13. Declarative Copyright 2009, Thought Ascent, Inc
  • 14. Persistent Copyright 2009, Thought Ascent, Inc External Stimulus Persistence Store
  • 15. Dynamic Copyright 2009, Thought Ascent, Inc Business Change Activity F Divert to new activity
  • 16. Configurable Copyright 2009, Thought Ascent, Inc Activity D Activity E Rules Store
  • 17. Centrally Defined… Copyright 2009, Thought Ascent, Inc
  • 18. … though not necessarily visual. Copyright 2009, Thought Ascent, Inc static SessionSaga() { Define(() => { Initially( When(NewSession) .Then((saga, message) => saga.NewSessionStarted(message)) .TransitionTo(SessionActive) ); During(SessionActive, When(FeedbackCheckRequested) .Then((saga, message) => saga.CheckForFeedback(message)) When(new Timer() .StartOn(session.Start) .RunAtInterval(session.CheckInterval) .Until(session.End)) .Then((saga, message) => saga.CheckForFeedback(message)) When(SessionComplete) .Then((saga, message) => saga.SessionEnded(message)) .Complete() ); });}
  • 19. Copyright 2009, Thought Ascent, Inc Ok, I get it. So why are we still doing this presentation?
  • 20. Copyright 2009, Thought Ascent, Inc Workflow has a PR problem…
  • 21. Copyright 2009, Thought Ascent, Inc There seem to be two sides…
  • 22. Copyright 2009, Thought Ascent, Inc …who can’t (or won’t) get along.
  • 23. The “Workflow will Save us all” side Copyright 2009, Thought Ascent, Inc
  • 24. The “Run like you’re on fire” side Copyright 2009, Thought Ascent, Inc
  • 25. Copyright 2009, Thought Ascent, Inc I’d like a third option please.
  • 26. Copyright 2009, Thought Ascent, Inc How about the best of both?
  • 27. Consider both sides of the story…
  • 28. And be a cautious optimist… Copyright 2009, Thought Ascent, Inc
  • 29. There are reasons to get excited about Workflow… Copyright 2009, Thought Ascent, Inc
  • 30. Copyright 2009, Thought Ascent, Inc Visual, Visual, Visual
  • 31. Copyright 2009, Thought Ascent, Inc Clear expression of intent from domain experts…
  • 32. Copyright 2009, Thought Ascent, Inc The Next “Great Leap” in software
  • 33. …and there are reasons to be wary… Copyright 2009, Thought Ascent, Inc
  • 34. Steep-learning curves Copyright 2009, Thought Ascent, Inc
  • 35. Copyright 2009, Thought Ascent, Inc Poor Performance
  • 36. Copyright 2009, Thought Ascent, Inc Sleights of hand and shell-games
  • 37. Copyright 2009, Thought Ascent, Inc Both sides are right … Both sides are wrong….
  • 38. Copyright 2009, Thought Ascent, Inc Right and wrong? How so?
  • 39. Myths, Truths and Wishful Thinking Copyright 2009, Thought Ascent, Inc
  • 40. 1) Visual Workflow Tools are the only way to “do” Workflow Copyright 2009, Thought Ascent, Inc
  • 41. Myth Copyright 2009, Thought Ascent, Inc
  • 42. Is this really easier to comprehend… Copyright 2009, Thought Ascent, Inc
  • 43. Than this? require 'rubygems' require 'statemachine' vending_machine = Statemachine.build do state :waiting do event :dollar, :paid, :activate event :selection, :waiting on_entry :sales_mode on_exit :operation_mode end trans :paid, :selection, :waiting, :release trans :paid, :dollar, :paid, :refund context VendingMachineContext.new end Copyright 2009, Thought Ascent, Inc
  • 44. The Truth Many open-source “code-first” solutions offer most of the benefits of a workflow system without the steep learning curve. Copyright 2009, Thought Ascent, Inc
  • 45. Demo –Workflow with Mass Transit Copyright 2009, Thought Ascent, Inc
  • 46. 2) Workflow should be running all your application logic Copyright 2009, Thought Ascent, Inc
  • 47. Lie Copyright 2009, Thought Ascent, Inc
  • 48. Turn a simple flow… Copyright 2009, Thought Ascent, Inc
  • 49. …into “Spaghetti Flow” Copyright 2009, Thought Ascent, Inc
  • 50. The Truth Workflow systems can be a good choice for managing long-running, complex processes, but don’t yet perform well-enough to handle all your logic. Copyright 2009, Thought Ascent, Inc
  • 51. 3) Domain experts can (and should) easily change workflows at runtime Copyright 2009, Thought Ascent, Inc
  • 52. Copyright 2009, Thought Ascent, Inc
  • 53. Wishful Thinking… Copyright 2009, Thought Ascent, Inc
  • 54. The Truth We don’t change systems at runtime without some diligence. So why would our users? That said. There are models that are more illustrative of reality… Copyright 2009, Thought Ascent, Inc
  • 55.
  • 56. 4) Declarative/Visual App Dev is easier than traditional dev… Copyright 2009, Thought Ascent, Inc
  • 57. Half-Truth Copyright 2009, Thought Ascent, Inc
  • 58. The Truth Where it’s easier: OOB programming constructs (IF, While, etc) Encourages/ Rewards SRP-development Where it’s harder: Visual IDEs slower than code IDEs Testing is hard, if not impossible Refactoring involves more rework than necessary Copyright 2009, Thought Ascent, Inc
  • 59. 5) “I can build a WF system in 100 lines of code” Copyright 2009, Thought Ascent, Inc
  • 60. Wishful Thinking… Copyright 2009, Thought Ascent, Inc
  • 61. The Truth Code-only solutions can address simple scenarios quickly… But tend to unravel when persistence, durability, scale,timed-events, long-running processes, human workflow and other complex issues are introduced. Copyright 2009, Thought Ascent, Inc
  • 62. The Faceplant Application “Social Speaking” Demo: Copyright 2009, Thought Ascent, Inc
  • 63. Copyright 2009, Thought Ascent, Inc Congratulations! You’ve done an excellent job of not telling me what I should do…
  • 64. Open Discussion – When should a Workflow Tool be considered? Copyright 2009, Thought Ascent, Inc
  • 65. When does WF make sense? … Copyright 2009, Thought Ascent, Inc
  • 66. Copyright 2009, Thought Ascent, Inc I think it’s time for the bottom line…
  • 67. There is no simple answer… Only the right tool for the job Copyright 2009, Thought Ascent, Inc
  • 68. The Right Tool for The Job might be… “Roll Your Own” Workflow Use an open-source Bus NServiceBus Mass Transit Simple ServiceBus Use an open-source State management tool Simple State Machine Use Windows WF After you’ve exhausted all other possibilities Copyright 2009, Thought Ascent, Inc
  • 69. Consider a “Workflow System” when: Need a visual, changeable representation Timed-events are key Long-running: Transactions Conversations Services Many, complex processes Economies of scale principle Copyright 2009, Thought Ascent, Inc
  • 70. Don’t start with a workflow system as a solution. Get there by eliminating other options Copyright 2009, Thought Ascent, Inc
  • 71. And pay attention… Software development is changing. Copyright 2009, Thought Ascent, Inc
  • 72. Questions? brandon.satrom@thoughtascent.com www.userinexperience.com Twitter: @thesatch Code and slides available at: http://github.com/bsatrom/WorkflowSystems Copyright 2009, Thought Ascent, Inc
  • 73. Image Credits WF System, InfoWorld http://www.infoworld.com/d/developer-world/product-review-ultimus-jump-starts-bpm-deployment-546?page=0,1 Pinnochio – House of Sims, Flickr http://www.flickr.com/photos/houseofsims/2662410465/ Myth – Mythbusters on Discovery http://dsc.discovery.com/fansites/mythbusters/wallpaper/wallpaper.html Steep Learning Curve – Casual Game Design http://www.casualgamedesign.com/?p=27 Skeptic Guy – Flick http://www.flickr.com/photos/mcleod/3909431214/in/set-72157607796029636 Copyright 2009, Thought Ascent, Inc