際際滷

際際滷Share a Scribd company logo
Myths, Truths and Wishful ThinkingWorkflow SystemsBrandon SatromdevLink2010http://speakerrate.com/talks/4108
About MeTechnology Evangelist @ MicrosoftSoftware and Enterprise ArchitectBased in Austin, TXHusband and Father
Why are you here?What is "workflow"?What makes a Workflow System different?What kind of problem is workflow designed to solve?Can workflow problems only be solved by tools?Are workflows always visual?How do I design a workflow system?
You Want The Truth?
What comes to mind when you hear workflow?Word Association
Visual
Tools
Process Automation
Modifiable
Can be maintained by someone other than the original developer
Six-Figure Cost
Others?
Heres the truth
Our perception of workflow is wrong
Maybe Workflow can be simple
State Machine Demo
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/WorkflowWorkflow: The Cure for Insomnia Definition
Workflow: simplistic definitionsabstraction of real workcoordination of work in a system
Isnt that CODE?
The Difference is
HUMANS are the 沿姻看界艶壊壊
TIME Passes...
And The only constant is CHANGE.
Qualities of Workflow 壊霞壊岳艶馨壊
Declarative
External StimulusPersistence StorePersistent
DynamicBusiness ChangeActivity FDivert to new activity
Activity DActivity ERules StoreConfigurable
Centrally Defined
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()         );   });} though not necessarily visual.
Not just for workflowState machineSagaService BusesWorkflow
Saga Demo (MassTransit)
Visual?
The dangers of seeing too much
Workflow Demo (WF 4.0)
When Adopting Workflow, ConsiderComplexity of the problemSkill level of development staffWho keeps it running?Value of a visual representation
Any GOOD system will encourage good designDeclaratively define the FLOWDefine discrete, separate ACTIVITIESKeep the RULES out of code
What is "workflow"?What makes a Workflow System different?What kind of problem is workflow designed to solve?Can workflow problems only be solved by tools?Are workflows always visual?How do I design a workflow system?Did We Answer These?
Ruby Statemachine :: http://bit.ly/rstatemachineMassTransit:: http://masstransit-project.com/WF4 :: http://bit.ly/wf4-msdn WebMatrix :: http://bit.ly/devlink-wmDemo Source :: http://github.com/bsatrom/WorkflowSystems2010Resources
Ad

Recommended

Event Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUG
Chris Patterson
Distributing Transactions using MassTransit
Distributing Transactions using MassTransit
Chris Patterson
Design by Contract
Design by Contract
Kiev ALT.NET
CQRS EventStore
CQRS EventStore
Kiev ALT.NET
Command-Query Responsibility Segregation: 亠仂亳 亳 仗舒从亳从舒
Command-Query Responsibility Segregation: 亠仂亳 亳 仗舒从亳从舒
Kiev ALT.NET
Micro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicate
Kiev ALT.NET
Dropping ACID - Building Scalable Systems That Work
Dropping ACID - Building Scalable Systems That Work
Chris Patterson
Design patterns in distributed system
Design patterns in distributed system
Tom Huynh
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Brandon Satrom
09 workflow
09 workflow
ashish61_scs
Wwf
Wwf
Vishwa Mohan
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4
Klaus Hofeditz
WF 4.0 Overview
WF 4.0 Overview
dannicola
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
ijcsta
Windows Workflow Foundation
Windows Workflow Foundation
Usman Zafar Malik
Introduction to Workflow 4
Introduction to Workflow 4
Orbit One - We create coherence
Windows workflow foundation using c#
Windows workflow foundation using c#
Grupo Simoes
08 worlflow management
08 worlflow management
Yury Kupriyanov
About work flow
About work flow
Narender Singh
Online Workflow Management and Performance Analysis with Stampede
Online Workflow Management and Performance Analysis with Stampede
Dan Gunter
General Workflow an introduction
General Workflow an introduction
Narender Singh
Windows workflow foundation in .Net Framework
Windows workflow foundation in .Net Framework
sbkarthikeyanmca
Workflow, a brief overview
Workflow, a brief overview
HansRontheWeb
People soft workflow by surya
People soft workflow by surya
Surya Prakash Reddy
Workflow Usage Best Practices
Workflow Usage Best Practices
Roman Agaev
What is a Workflow A Beginners Guide to Workflow Management
What is a Workflow A Beginners Guide to Workflow Management
Kashish Trivedi
Workflow Foundation (Wf) Presentation
Workflow Foundation (Wf) Presentation
uppershores
Visual Workflows - SharePoint Day 2012 London
Visual Workflows - SharePoint Day 2012 London
martin79
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC

More Related Content

Similar to Workflow systems (20)

Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Brandon Satrom
09 workflow
09 workflow
ashish61_scs
Wwf
Wwf
Vishwa Mohan
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4
Klaus Hofeditz
WF 4.0 Overview
WF 4.0 Overview
dannicola
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
ijcsta
Windows Workflow Foundation
Windows Workflow Foundation
Usman Zafar Malik
Introduction to Workflow 4
Introduction to Workflow 4
Orbit One - We create coherence
Windows workflow foundation using c#
Windows workflow foundation using c#
Grupo Simoes
08 worlflow management
08 worlflow management
Yury Kupriyanov
About work flow
About work flow
Narender Singh
Online Workflow Management and Performance Analysis with Stampede
Online Workflow Management and Performance Analysis with Stampede
Dan Gunter
General Workflow an introduction
General Workflow an introduction
Narender Singh
Windows workflow foundation in .Net Framework
Windows workflow foundation in .Net Framework
sbkarthikeyanmca
Workflow, a brief overview
Workflow, a brief overview
HansRontheWeb
People soft workflow by surya
People soft workflow by surya
Surya Prakash Reddy
Workflow Usage Best Practices
Workflow Usage Best Practices
Roman Agaev
What is a Workflow A Beginners Guide to Workflow Management
What is a Workflow A Beginners Guide to Workflow Management
Kashish Trivedi
Workflow Foundation (Wf) Presentation
Workflow Foundation (Wf) Presentation
uppershores
Visual Workflows - SharePoint Day 2012 London
Visual Workflows - SharePoint Day 2012 London
martin79
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow Systems: Myths, Truths and Wishful Thinking
Brandon Satrom
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4
Klaus Hofeditz
WF 4.0 Overview
WF 4.0 Overview
dannicola
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
ijcsta
Windows Workflow Foundation
Windows Workflow Foundation
Usman Zafar Malik
Windows workflow foundation using c#
Windows workflow foundation using c#
Grupo Simoes
08 worlflow management
08 worlflow management
Yury Kupriyanov
Online Workflow Management and Performance Analysis with Stampede
Online Workflow Management and Performance Analysis with Stampede
Dan Gunter
General Workflow an introduction
General Workflow an introduction
Narender Singh
Windows workflow foundation in .Net Framework
Windows workflow foundation in .Net Framework
sbkarthikeyanmca
Workflow, a brief overview
Workflow, a brief overview
HansRontheWeb
People soft workflow by surya
People soft workflow by surya
Surya Prakash Reddy
Workflow Usage Best Practices
Workflow Usage Best Practices
Roman Agaev
What is a Workflow A Beginners Guide to Workflow Management
What is a Workflow A Beginners Guide to Workflow Management
Kashish Trivedi
Workflow Foundation (Wf) Presentation
Workflow Foundation (Wf) Presentation
uppershores
Visual Workflows - SharePoint Day 2012 London
Visual Workflows - SharePoint Day 2012 London
martin79

Recently uploaded (20)

ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
Key Requirements to Successfully Implement Generative AI in Edge DevicesOpt...
Key Requirements to Successfully Implement Generative AI in Edge DevicesOpt...
Edge AI and Vision Alliance
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
Key Requirements to Successfully Implement Generative AI in Edge DevicesOpt...
Key Requirements to Successfully Implement Generative AI in Edge DevicesOpt...
Edge AI and Vision Alliance
Ad

Workflow systems

Editor's Notes

  • #15: We associate workflow not with what it does, or its value but with tools that label themselves as WorkflowExpensive BPM suitesWindows Workflow Foundation
  • #20: abstraction of real work describes all software"coodination of work describes every system Which might be why so much can "sound like workflow" if you let it
  • #21: These are the problems Workflow is trying to solve? The reason systems like this exist
  • #22: When humans are key to the process, and time between steps cannot be measured, Workflow systems are needed.This is why CM/Document Approval processes are so often used around WF systems. Human involvement is key in the process.
  • #23: "coordination of RESUMABLE work" Needs to allow the system to run for an indeterminate amount of time To be responsive and reactive, instead of proactive
  • #31: Though not necessarily visual. Even though visual is usually stated
  • #32: "Coordination of (long-running) work" is more than a problem solved just by workflowBack to Ruby statemachine does it fit?
  • #35: A well traveled fable claims the Cyclops made a deal with Hades in which they traded an eye for the ability to see the future. Upholding his end of the bargain, Hades removed an eye and allowed the cyclops to foretell the day of their death.- http://en.wikipedia.org/wiki/CyclopsTell the story of the trouble devs had working with WF 3.5 workflows to make minor changes
  • #36: Show off WebMatrix and Silicon Bakery siteShow OrderProcessor WFFlowchartActivitiesShow Baker WFShow Code-only Baker WFShow Workflow Service
  • #38: Quickly-changing aspects of the system Design workflows so that Activities change the most, flows themselves change the least The over-arching process should be stable Steps in that process change the most Or even rules within those steps Visualization => Flows (most stable) => Activities (changing) => Rules (most fluid)