1 / 38

Workflow / Process Languages

Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering. Workflow / Process Languages. Outline. Research work Industry use Tools and standards evaluations DSL point of view. Research work. Definitions.

vern
Download Presentation

Workflow / Process Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering Workflow / ProcessLanguages Speaker: Valentin ROBERT

  2. Outline • Researchwork • Industry use • Tools and standards evaluations • DSL point of view

  3. Researchwork

  4. Definitions • The business process is a series of activities occurring within a company that lead to a specific end. (wisegeek.com) • A workflow consists of a sequence of connected steps. It 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. (wikipedia.com)

  5. Research goals • Identifygeneric, recurring business processmodelling patterns • Unifyexisting patterns and focus on their expressive power • Language-independentformalism (Coloured Petri-Net)

  6. Workflow model • Formal description of a (business) process • Executable by a workflow management system • In practice: directed bipartite graph of tasks and transitions

  7. Who uses BPM solutions? • Healthcare/Pharmaceuticals • Prescriptions fulfillment, administrative tasks, … • Finance/Banking/Accounting • Error-free accounting, financialaccuracy, … • Education • Government/Public Services/Human Resource • Multi-levelapprovalprocesses • Manufacturing • Six Sigma method • Energy/Utilities • Legal Services/Insurances • IT • Customer Relationship Management

  8. Trivial example (YAWL)

  9. Historicapproach • 1999: Foundation of the Workflow Pattern Initiative • Profesor Wil van der Aalst (Eindhoven University of Technology) • Profesor Arthur ter Hofstede (Queensland University of Technology) • 20 first control-flow patterns • Van Der Aalst et al. 2003 [WP] • Revision of the 20 first + 23 new control-flow patterns • Russell et al. 2006 [WCFP]

  10. More perspectives • Control-flow patterns • Describescomplexworkflows (sequence, parallel, multi-threading, mutual exclusion, division and merging, synchronization, …) • Data patterns • Adds data manipulation, internal/external data interaction, data transfer and transformation, data-basedrouting • Resource patterns • Taskscreation and allocation schemes, detours of a resource in the middle of a taskexecution, and others… • Exception handling patterns • Work Item Failure, Deadline Expiry, Resource Unavailability, External Trigger, Constraint Violation

  11. Workflowexamples Diagram-based DSL Source: van der Aalst et al., 2003 [WP]

  12. Workflowelements • Control-flow • Basic • Sequence, Parallel, Synchronization, Exclusive Choice, Simple Merge • Advanced branching/synchronization • Multi-choice, Multi-merge, Threads, Discriminators, Partial Joins • Multiple instantiation of activities on triggers • State-based • DeferredChoice, InterleavedRouting, Milestone, Critical Sections • Cancellation, Force Completion, Iteration, Termination, Triggers

  13. Workflowelements • Resource • Taskcreation • Direct, role-based, deferred, capability-based, history-based, … • « Push » task distribution • By offer, random, round-robin, shortest queue, … • « Pull » task distribution • Detour • Delegation, escalation, deallocation, stateful/statelessreallocation, suspension, resumption, skip, redo, pre-do • Auto-start • …

  14. Workflowelements • Data • Visibility • Task, block, scope, multiple instance, folder, workflow, environment • Interaction (inside components) • Task to task, to multiple tasks (by reference, by value), from multiple tasks • External Interaction • Fromenvironment, to environment • Transfer (between components) • By value, by reference (locked, unlocked) • Data-basedrouting/triggers

  15. Workflowelements • Exceptions • Work Item Failure • Deadline Expiry • Resource Unavailability • External Trigger • Constraint Violation

  16. Industry use

  17. Industry standards XML ProcessDefinitionLanguage (2002) Business ProcessModelling Notation (2004) Business ProcessExecutionLanguage (2002) Interface (mapping) between XPDL and BPMN (????)

  18. BPMN simple example

  19. XPDL Example XML file <Activities> <Activity Id="153189" Name="Start Event"> <Implementation><No/></Implementation> <Performer>Manager</Performer> <Priority/> <Documentation/> <TransitionRestrictions> <TransitionRestriction> <Join Type="XOR"/> <Split Type="XOR"> <TransitionRefs><TransitionRef Id="153204"/></TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> <NodeGraphicsInfos> <NodeGraphicsInfoLaneId="1" ToolId="InterstageBPM » IsVisible="true" Page="1"> <CoordinatesXCoordinate="317.0" YCoordinate="83.0"/>[…] Goal: exchange format for models of workflowproducts Alsocontains meta-data Reference: [XPDLEx]

  20. BPEL Hello World example Programminglogic - BPEL Data types - XSD Input/Output (I/O) - WSDL <processxmlns[…]> <import […]/> <partnerLinks> <partnerLinkname="printService" partnerLinkType="print:printLink" partnerRole="printService"/> </partnerLinks> <variables> <variable name="hello_world" messageType="print:PrintMessage" /> </variables> <assign> <copy> <from><literal>Hello World</literal></from> <to>$hello_world.value</to> </copy> </assign> <invokepartnerLink="printService" operation="print"  inputVariable="hello_world" /> </process> Reference: [BPELEx]

  21. BPEL elements • Partner Links / Endpoints • Identifies parties youinteractwith • Variables • Data container (XSD value or WSDL message) • Assignments • Invocations • Invokes a web-service endpoint

  22. Tools and standards evaluations

  23. BPMN Strenghts Weaknesses Providingflexibilityimplies no formalexecutionsemantics (?) • Designed to be flexible • Seems to support much of the Workflow Patterns • The new version shouldaddsemantics and interoperability (via a standard meta-model)

  24. XPDL Strenghts Weaknesses Lacksformalexecutionsemantics (transactions, faults, …) Not flexible enough to successfullycover BPMN (and BPMN vendor-specific extensions) Ambiguousinterpretations of the standard Only partial mapping to BPEL (missingcontructs + ambiguities) • Currentmainstreaminterchange standard • Supports humanworkflows

  25. BPEL Strenghts Weaknesses Does not support humanworkflows and user interactions (in a standard way)-> BPEL4People and WS-HumanTask (role-basedhumantasks) No standard modeling notation (BPMN bindings) • Industry-accepted standard for SOA (Oracle, IBM, Microsoft, SAP, BEA, Fuego, Lombardi, …) • Designedspecifically for business processes (interactingthrough web-services)

  26. BPMN vs. BPEL? • Much debatearoundtheir unification • BPMN is more businessperson-friendly, BPEL requires more knowledge, someonewouldlosesomething. • Keeping the same model during the wholeprocess (modeling + execution) wouldbe good, but… • … separatingthemallows the model to evolvewhileitisbeingexecutedwith no issue (hot process migration?). • The same BPMN model willproducedifferent BPEL behaviorsdepending on the vendorinterpretation.

  27. Problem? Reference: [Interop]

  28. Workflow Patterns Support + direct support +/- partial support - lack of support Reference: Wohed et al. 2006 [BPM2BPMN]

  29. Reference: Wohed et al. 2006 [BPM2BPMN]

  30. Reference: Wohed et al. 2006 [BPM2BPMN]

  31. A lot of tools

  32. I mean… a lot! • XPDL implementations: ADVANTYS WorkflowGen, Amazonas Workflow, ArachneaEverSuite, Appian Enterprise, AscentnAgilePoint Server, Aspose'sAspose.Workflow, Assetlink Corporation, BOC ADONIS, BEA Systems, BreinVB'sInProces, Bonita, ProEdWorkflow Editor, Canto CanFlow, CapeVisions, CHALEX BPM Framework, ComActivity, Cordys BPMS, COSA Designer, CubettoToolset, Eclaire Group LynxFlow Designer, EMC DocumentumApplicationXtenderWorkflow, EMC DocumentumProcess Suite, Enhydra Shark, EnhydraJaWE, First Trace’sKinnosaWorkflow, FinantixStudio FXS, Fujitsu Interstage BPM (i-Flow), FileNet Business Process Manager, Global 360 Business Optimzation Server (BOS), HOGA.PL'S intraDok, IBM FileNet Business Process Manager, IDS Scheer Business Architect, iGrafx, InterwovenWorkRoute MP, InfinityProcessEngine, Infor (formerly SSA Global), ITP-Commerce Design, jawFlow, Jenz & Partner'sBPEdit, KAISHA-Tec'sActiveModeler Avantage, Lombardi'sBlueprint, MetodaS.p.AOpenMet BPMF, Mono-sys'sTigris BPM, Nautica, Open Business Engine, OpenPagesGovernance Platform, Openwork, Oracle 9i WarehouseBuilder, Pentaho's B1 Platform, ProjektyBankowePolsoft's BPB Workflow, proLOGIT BPR Business Process Reporter, QualiWare, R-Data's E-SOD, RodanSystemsOfficeObjectsWorkflow, Savvion, Simprocessfrom CACI, Software AG'sCrossvision BPM, SpeechCycle'sLevelOnevirtual CSR platform, TIBCO iProcess Suite, TogetherWorkflow Editor, TranswareAmbassador, Unisys, Vignette ProcessWorkflow Modeler, W4's W4 BPM Suite, WfMOpen, Workflow::Wfmc, Zynium'sByzio • BPEL engines: ActiveVOS, Apache ODE, BizTalk Server, iBolt Server, jBPM, Open ESB, Oracle BPEL Process Manager, OW2 Orchestra, Parasoft BPEL Maestro, Petals BEPL Engine, SAP Exchange Infrastructure, VirtuosoUniversal Server, WebsphereProcess Server

  33. YAWL • YetAnotherWorkflowLanguage • By the « Workflow Patterns » team • YAWL vs. (WS-)BEPL • BPEL is an industry standard, YAWL has only one implementation. • Both have staticanalysistools (based on Petri nets, ProcessAlgebra, Finite State Machine). • YAWL provides support for humantasks. • YAWL supports all Workflow Patterns. (BEPL 2.0 reduces the gap)

  34. DSL Point of view

  35. DSLs • ThreeDSLsmaintained by threeorganisms, withthree goals (sometimesoverlapping) • Serialization and interoperability issues • Expressiveness issues (vendorsextend the standards, impossibility of full interoperability) • Domain Specific Meta-Language for domain concepts? (Business ProcessDefinitionMetamodel, by the OMG) • Target issues (businessperson-friendly WYSIWYG solutions vs. IT savvyflexibility)

  36. Questions ?

  37. References [BPELEx] Antony Miguel. WS-BPEL 2.0 Tutorial. Tutorial – Basic BPEL. 2005. http://www.eclipse.org/tptp/platform/documents/design/choreography_html/tutorials/wsbpel_tut.html [BPM2BPMN] P. Wohed, W. M. P. van der Aalst, M. Dumas, A.H.M. ter Hofstede, and N. Russell. On the Suitability of BPMN for Business Process Modelling.In Proceedings 4th International Conference on Business Process Management (BPM 2006), LNCS [BPMN2BPEL] Chun Ouyang, Marlon Dumas, Arthur H. M. ter Hofstede, and Wil M. P. van der Aalst. 2006. From BPMN ProcessModels to BPEL Web Services. In Proceedings of the IEEE International Conference on Web Services (ICWS '06). IEEE Computer Society, Washington, DC, USA, 285-292. DOI=10.1109/ICWS.2006.67 http://dx.doi.org/10.1109/ICWS.2006.67 [Interop] Keith Swenson. Collaborative Planning & Social Business. The BPMN-XPDL-BPEL value chain. 2006. http://social-biz.org/2006/05/26/bpmn-xpdl-and-bpel/ [WCFP] N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. Workflow Control-Flow Patterns: A RevisedView. BPM Center Report BPM-06-22, BPMcenter.org, 2006.

  38. References [WDP] N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Data Patterns. QUT Technical report, FIT-TR-2004-01, Queensland University of Technology, Brisbane, 2004. [WP] W. M. P. van der Aalst, A. H. M. ter Hofstede, B. Kiepuszewski, and A. P. Barros. 2003. Workflow Patterns. Distrib. ParallelDatabases 14, 1 (July 2003), 5-51. DOI=10.1023/A:1022883727209 http://dx.doi.org/10.1023/A:1022883727209 [WRP] N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Resource Patterns. BETA WorkingPaperSeries, WP 127, Eindhoven University of Technology, Eindhoven, 2004. [XPDLEx] Keith Swenson. XPDL.org. XPDL BPMN Example 1. 2008. http://www.xpdl.org/nugen/p/xpdlbpmnexample1/ [YAWL] W. M. P. van der Aalst and A. H. M. ter Hofstede. 2005. YAWL: yetanotherworkflowlanguage.Inf. Syst. 30, 4 (June 2005), 245-275. DOI=10.1016/j.is.2004.02.002 http://dx.doi.org/10.1016/j.is.2004.02.002

More Related