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.

Making Workflows Work for You

A historical comparison of workflow engine solutions in the Zope/Plone community. Required workflow engine features are identified and explained. The presentation ends with a demonstration of the Shoobx Workflow system.

  • Login to see the comments

Making Workflows Work for You

  1. 1. Since 2006 Anton (9) Konrad (6)
  2. 2. Jun 2001 Zope/Plone Workflow Relationship Feb 2001 Products.CMFCore.WorkflowCore Dec 2004 May 2006 Infrastructure for workflow development Core engine capability for Plone created Products.DCWorkflow Implementation of a CMF workflow Filled Out Functionality zope.wfmc Workflow Engine based on WfMC XPDL Attempt to standardize with development communities hurry.workflow Simple Zope 3 workflow engine Modelled after CMFWorkflow 2013 zope.wfmc is resurrected! 20132011
  3. 3. State-Based Workflows Examples: Products.DCWorkflow and hurry.workflow State is stored on a target Transitions between states are defined Transitions between states are defined (including permissions, etc.) State Machine ("Workflow Engine") - Manages states and transitions - Manages progression of states
  4. 4. Simple State-Based Publication Workflow
  5. 5. State-Based Workflows: One process manages single target Only one state can be maintained at a time The Reality Problems .NET and Java world have adopted this design pattern Are we to blame?
  6. 6. Activity-Based Workflows Examples: zope.wfmc Business Process Model and Notation (BPMN) is a graphical representation XPDL is an XML-based serialization format for BPMN Editor: Java Workflow Editor (JaWE) - Developed by the Workflow Management Coalition (WfMC) - BPMN 1.0 did not specify a serialization format. - XPDL is obsolete with BPMN 2.0 which defines an XML serialization format
  7. 7. Simple Activity-Based Publication Workflow
  8. 8. Challenges Workflow is too high-level to be machine processable Engine provides little (trivial) value Only benefit is graphical presentation and easy modification - But publication workflow is too simple for that to matter.
  9. 9. Realistic Publication Workflow Demo
  10. 10. Workflow Engine Requirements Security Machine executable Full User Interface generation (and other IO) - But publication workflow is too simple for that to matter. Back and Forth Discarding with clean up Exception Handling Migrations - Input Data Retention
  11. 11. zope.wfmc enhancements Parameter InitialValue Support OTHERWISE Condition Script Tag Support Arguments are dictionaries, not lists! (Jim!!!) Deadlines Support XPDL 2.1 Support Extended Attributes Support Participant Types / Candidates Support Subflow (sync & async) & TaskScript Support DataField Support
  12. 12. Small activity label position (Start, Finish, Gates) Lots of small bug fixes JaWE Enhancements Script Support External Editor Support
  13. 13. Discarding ● Requires reversable applications/workitems (operations) ● Process must keep track of finished activities ● Deal with irreversible actions ﹣ Make workflow non-discardable ﹣ May not be reverted on discard
  14. 14. Back & Forth ● Requires Revert of activities in correct order ● Restore workflow state properly ● Remember inputs (not fully solved yet) ● It's a very hard problem! (6mm effort)
  15. 15. Wizard ● Wizard entries specified via Extended Attribute ● Needs to be generated from workflow definition itself ● No state available ﹣ Relies on default transitions and lane assignments ● Also, a very hard problem. (3mm effort)
  16. 16. Simulations ● Automatic Testing of Workflows ﹣ Coverage Included ● Strategy: Provide activity completion instructions ﹣ Implemented on API and UI level! ● Savepoints ● Debugging ● Screenshots ● Parameterized Simulations allow for complex sampledata setups (onions)
  17. 17. Quality Assurance ● Executes each simulation on multiple browsers ﹣ Provides PDFs with screenshots for each browser ● Visualizes workflow paths and coverage ● Shows all output artifacts (documents, changed data, etc.) ● Linter: External links, spell check, data integrity, etc.
  18. 18. Future ● Shoobx Chronicles (Support/Help) ﹣ Convert onion instructions to readable documents ● Simulation video recordings (Support/Help) ● Support Power Users to create Workflows (Process Editor UX) ● Personal: Bike across the US :-)
  19. 19. Questions? Comments?
  20. 20. Links ● Shoobx zope.wfmc: ● Java Workflow Editor: ● BPMN: ● WfMC/XPDL:
  21. 21. Help us Improve Please use the survey app to send us feedback.