Workflow systems
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Workflow systems

on

  • 6,974 views

devLink 2010 presentation on Workflow and Workflow Systems, using Ruby, MassTransit and WF 4.0 as examples.

devLink 2010 presentation on Workflow and Workflow Systems, using Ruby, MassTransit and WF 4.0 as examples.

Statistics

Views

Total Views
6,974
Views on SlideShare
6,923
Embed Views
51

Actions

Likes
0
Downloads
66
Comments
0

5 Embeds 51

http://www.userinexperience.com 33
http://userinexperience.com 14
http://www.linkedin.com 2
http://amurillo.typepad.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • We associate workflow not with what it does, or it’s value but with tools that label themselves as “Workflow”Expensive BPM suitesWindows Workflow Foundation
  • “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
  • These are the problems Workflow is trying to solve? The reason systems like this exist
  • 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.
  • "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
  • …Though not necessarily visual. Even though visual is usually stated
  • "Coordination of (long-running) work" is more than a problem solved just by workflowBack to Ruby statemachine… does it fit?
  • “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…
  • Show off WebMatrix and Silicon Bakery siteShow OrderProcessor WFFlowchartActivitiesShow Baker WFShow Code-only Baker WFShow Workflow Service
  • 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)

Workflow systems Presentation Transcript

  • 1. Myths, Truths and Wishful Thinking
    Workflow Systems
    Brandon Satrom
    devLink2010
    http://speakerrate.com/talks/4108
  • 2. About Me
    Technology Evangelist @ Microsoft
    Software and Enterprise Architect
    Based in Austin, TX
    Husband and Father
  • 3. 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”?
  • 4. You Want The Truth?
  • 5. What comes to mind when you hear “workflow”?
    Word Association
  • 6. Visual
  • 7. Tools
  • 8. Process Automation
  • 9. Modifiable
  • 10. Can be maintained by someone other than the original developer
  • 11. Six-Figure Cost
  • 12. Others?
  • 13. Here’s the truth…
  • 14. Our perception of workflow is wrong…
  • 15. Maybe “Workflow” can be simple…
  • 16. State Machine Demo
  • 17. 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
    Workflow: The Cure for Insomnia Definition
  • 18. Workflow: simplistic definitions
    “abstraction of real work”
    “coordination of work in a system”
  • 19. Isn’t that CODE?
  • 20. The Difference is…
  • 21. HUMANS are the process…
  • 22. …TIME Passes...
  • 23. …And The only constant is CHANGE.
  • 24. Qualities of Workflow systems…
  • 25. Declarative
  • 26. External Stimulus
    Persistence Store
    Persistent
  • 27. Dynamic
    Business Change
    Activity F
    Divert to new activity
  • 28. Activity D
    Activity E
    Rules Store
    Configurable
  • 29. Centrally Defined
  • 30. 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.
  • 31. Not just for workflow…
    State machine
    Saga
    Service Buses
    Workflow
  • 32. Saga Demo (MassTransit)
  • 33. Visual?
  • 34. The dangers of seeing too much…
  • 35. Workflow Demo (WF 4.0)
  • 36. When Adopting Workflow, Consider…
    Complexity of the problem
    Skill level of development staff
    Who keeps it running?
    Value of a visual representation
  • 37. Any GOOD system will encourage good design…
    Declaratively define the FLOW
    Define discrete, separate ACTIVITIES
    Keep the RULES out of code
  • 38. 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?
  • 39. Ruby Statemachine :: http://bit.ly/rstatemachine
    MassTransit:: http://masstransit-project.com/
    WF4 :: http://bit.ly/wf4-msdn
    WebMatrix :: http://bit.ly/devlink-wm
    Demo Source :: http://github.com/bsatrom/WorkflowSystems2010
    Resources
  • 40. Questions?
    Email: brsatrom@microsoft.com
    Twitter: @TheSatch
    Blog: www.userinexperience.com
    Rate this talk: http://speakerrate.com/talks/4108