Workflow/Business Process Management Introduction business process management and workflow management Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information Systems P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl 1 Overview of this course Business Process Management Relation with BPR process mining (Re)design of workflows Resource management Analysis of workflows Staffware Patterns Logistical aspects Protos Guidelines Concepts Workflow management systems FLOWer Techniques for business process modelling Adaptive workflow Workflow management Simulation Interorganizational workflow With or without WFMS 2 Relevant WWW sites • http://www.workflowcourse.com • http://www.workflowpatterns.com • http://www.processmining.org • http://is.tm.tue.nl/ • http://is.tm.tue.nl/staff/wvdaalst • http://www.wfmc.org • http://www.pallas-athena.com/ • http://www.aiim.org • http://www.staffware.com • http://www.waria.com • http://is.tm.tue.nl/research/woflan/ • http://www.workflow-research.de • http://www.exspect.com • http://www.sigpam.org • http://www.ids-scheer.com 3 WARNING It is not sufficient to understand the workflow models. You have to be able to design them yourself ! 4 WARNING Start early with the assignment and tools: You really need the time !! 5 Context - role of models and trends - 6 Focus on models Operational process Information System Model 7 Some trends in Information Systems 1. From programming to assembling 2. From data orientation to process orientation 3. From design to redesign and organic growth operating system generic applications domain specific applications tailor-made applications 8 Before BPM: WFM - workflow management - 9 Workflow management Goal To manage the flow of work such that the work is done at the right time by the proper person. Definitions A workflow management system (WFMS) is a software package that can be used to support the definition, management and execution of workflow processes. A workflow system (WFS) is a system based on a WFMS that supports a specific set of business processes through the execution of computerized process definitions 10 Relevance of workflow management systems OS OS 1965-1975 1975-1985 Processes: • are becoming more important (BPR) • are subject to frequent changes • are becoming more complex • are increasing in number appl. DBMS appl. UIMS WFMS appl. DBMS UIMS appl. DBMS Trend: OS OS 1985-1995 1995-2005 Workflow Management System 11 The basic idea: processes resources WFMS applications • separation of processes, resources and applications • focus on the logistics of work processes, not on the contents of individual tasks 12 BPM: The next step - business process management - 13 Business Process Management (BPM) • “True Business Process Management is an amalgam of traditional workflow and the 'new' BPM technology. It then follows that as BPM is a natural extension of – and not a separate technology to – Workflow, BPM is in fact the merging of process technology covering 3 process categories: interactions between (i) people-to-people; (ii) systems-to-systems and (iii) systems-to-people – all from a process-centric perspective. This is what true BPM is all about.” Jon Pyke, CTO Staffware. • “…a blending of process management/workflow with application integration.” David McCoy, Gartner Group 14 Alternative view on BPM: The BPM life-cycle diagnosis process enactment process design implementation/ configuration 15 1993 diagnosis process enactment process design implementation/ configuration 16 1998 diagnosis process enactment process design implementation/ configuration 17 2003 diagnosis process enactment process design implementation/ configuration 18 2008 ??? diagnosis process enactment process design implementation/ configuration 19 BPR, CPI, Office logistics - relationships to other domains - 20 Business Process Reengineering (BPR) (Business Process Redesign) • Hammer and Champy: "Reengineering the corporation" (1993) • Keywords: – fundamental – radical – dramatic – process • The "organize before automate"-principle is replaced by "process thinking". 21 Processes and the organization 22 Continuous Process Improvement (CPI) • Instead of of seeking a radical breakthrough, optimizing the process by continuous, incremental improvements. • Part of the Total Quality Management (TQM) approach ("doing it right the first time", "eliminate waste", ...) high CPI chaos BPR change impact BPR stagnation CPI CPI BPR CPI low low high frequency time BPR and CPI are both process centric and can be supported by a WFMS. 23 Differences between information logistics and production logistics • Making a copy is easy and cheap. • There are no real limitations with respect to the in-process inventory. • There are less requirements with respect to the order in which activities are executed. • Quality is difficult to measure. • Quality of end-products may vary. • Transportation of electronic data is timeless. • Production to stock is seldom possible. • Loops or rework occurs frequently in administrative processes, but are very seldom or even impossible in production processes. • The customer (can) influence(s) the handling in an administrative process. The difference between design and control is fading! 24 History and CSCW - the WFM/BPM market - 25 Historical overview of systems Office Automation Prototypes Officetalk-P Officetalk-D Scientific Workflow Systems CrossFlow ProMInanD (Esprit) Officetalk-Zero ADOME Backtalk Mariflow Melmac Domino MENTOR WIDE APRICOT SCOOP WorCRAFT DAISY WorCOS INCA MOBILE ObjectLens FreeFlow OVAL METEOR TRAMs WISE Panta Rhei WAMO WASA Poise 1980 (Zur Muehlen, 2003) Polymer 1985 D-Polymer WASA2 Polyflow 1990 1995 2000 26 (Zur Muehlen, 2003) Commercial Workflow Systems ViewStar Lucent Mosaix eiStream WANG Workflow BlueCross BlueShield • Workflow management is already 25 years old (cf. OfficeTalk, Skip Ellis/Xerox)! • The WFM hype is over …, but there are more and more applications, and WFM is adopted by many other technologies (ERP, Web Services, etc.). Eastman SIGMA WANG JCALS CARNOT Verve Versata MS2 Accelerate VisualInfo Continuum Netscape PM iPlanet jFlow BEA PI DST AWD DST AWD ImagePlus FMS/FAF Pavone Onestone Domino Workflow NCR ProcessIT Exotica I - III FlowMark Pegasus MQSeries Workflow OpenPM WorkManager FlowJet AdminFlow Changengine SNI WorkParty Recognition Int. Plexus FloWare COSA BancTec FloWare BaaN Ley COSA Oracle Workflow Digital Objectflow DEC LinkWorks Digital Proc.Flo. Beyond BeyondMail AltaVista Proc.Flow Banyan BeyondMail Fujitsu iFlow Fujitsu Regatta Teamware Flow Staffware FileNet WorkFlo Visual WorkFlo Panagon WorkFlo FileNet Ensemble Action Coordinator ActionWorkflow DaVinci ActionWorks Metro Xerox InConcert TIB/InConcert IABG ProMInanD Olivetti X_Workflow 1980 1985 1990 LEU 1995 2000 27 unstructured structured CSCW spectrum database application (e.g., SAP R/3) production workflow (e.g., Staffware) case handling (e.g., FLOWer) groupware (e.g., Outlook) ad-hoc workflow (e.g., InConcert) data centric process centric 28 Refined view (without datbase applications) explicitly structured implicitly structured production workflow case handling ad-hoc structured unstructured ad-hoc workflow groupware data-driven process-driven 29 Trade-offs high fle s y lit bi xi p p u t or m r fo r pe e c an design effort low groupware ad-hoc case workflow handling production workflow 30 human oriented system oriented groupware workflow transaction processing P2P = Person To Person A2P = Application To Person A2A = Application To Application 31 Focus on "classical" workflow management systems, but ... Four types of "workflow-like" systems: 1. Information systems with hard-coded workflows (process& organization specific). 2. Custom-made information systems with generic workflow support (organization specific). 3. Generic software with embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems). 4. Generic software focusing on workflow functionality (e.g., Staffware, MQSeries Workflow, FLOWer, COSA, Oracle BPEL, Filenet, etc.). 32 WFM architecture - reference model and example - 33 Reference model of the Workflow Management Coalition Process Definition Tools Interfac e 1 Interfac e 5 Workflow API and Interchange formats Interfac e 4 Other Workflow Enactment Servic e(s) Workflow Enactment Servic e Administration & Monitoring Tools Workflow Engine(s) Interfac e 2 Workflow Client Applications Workflow Engine(s) Interfac e 3 Invoked Applications What? When? Who? 34 Process De finition Tools Interface 1 Interface 5 Workflow API and Interchange formats Interface 4 Other Workflow Enactment Service(s) Workflow Enactment Service Administration & Monitoring Tools Workflow Engine(s) Interface 2 Workflow Client Applications Workflow Engine(s) Interface 3 Invoked Applications 35 Process De finition Tools Interface 1 Interface 5 Workflow API and Interchange formats Interface 4 Other Workflow Enactment Service(s) Workflow Enactment Service Administration & Monitoring Tools Workflow Engine(s) Interface 2 Workflow Client Applications Workflow Engine(s) Interface 3 Invoked Applications 36 Process De finition Tools Interface 1 Interface 5 Workflow API and Interchange formats Interface 4 Other Workflow Enactment Service(s) Workflow Enactment Service Administration & Monitoring Tools Workflow Engine(s) Interface 2 Workflow Client Applications Workflow Engine(s) Interface 3 Invoked Applications 37 38 Workflow perspectives - processes dominate! - 39 Workflow perspectives • Process perspective (tasks and the routing of cases) • Resource perspective (workers, roles, 4-eyes principle, etc.) • Case/data perspective (process instances and their attributes) • Operation/application perspective (forms, application integration, etc.) • ... 40 Process perspective: Protos (extended Petri nets) 41 Process perspective: Staffware 42 Process perspective: COSA (Petri nets) 43 Process perspective: Baan DEM 44 Process perspective: Event driven process chains (ARIS/SAP) Need for trip has arisen Entry of a travel request Trip is requested Approval of travel request Planned trip is rejected Planned trip is approved Need to correct planned trip is transmitted 45 (Oracle) BPEL <sequence name="main"> <flow name="Flow_1"> <links> <link name="receive-to-assess"/> <link name="receive-to-approval"/> <link name="approval-to-reply"/> <link name="assess-to-setMessage"/> <link name="setMessage-to-reply"/> <link name="assess-to-approval"/> </links> <sequence name="sequenceReceive"> <source linkName="receive-to-assess" transitionCondition="bpws:getVariableData('inputVariable','payload','/client:LoanApprovalProcessRequest/client:amount') &lt; 10000"/> <source linkName="receive-to-approval" transitionCondition="bpws:getVariableData('inputVariable','payload','/client:LoanApprovalProcessRequest/client:amount') &gt;= 10000"/> <receive name="receiveInput" partnerLink="client" portType="client:LoanApproval" operation="initiate" variable="inputVariable" createInstance="yes"/> </sequence> <sequence name="sequenceAssess"> <target linkName="receive-to-assess"/> <source linkName="assess-to-setMessage" transitionCondition="bpws:getVariableData('risk') = 'low'"/> <source linkName="assess-to-approval" transitionCondition="bpws:getVariableData('risk') != 'low'"/> <assign name="initiateAssessor"> <copy> <from variable="inputVariable" part="payload" query="/client:LoanApprovalProcessRequest/client:firstName"/> <to variable="invokeAssessor_initiate_InputVariable" part="payload" query="/ns1:AssessorProcessRequest/ns1:firstName"/> </copy> <copy> <from variable="inputVariable" part="payload" query="/client:LoanApprovalProcessRequest/client:name"/> <to variable="invokeAssessor_initiate_InputVariable" part="payload" query="/ns1:AssessorProcessRequest/ns1:name"/> </copy> <copy> <from variable="inputVariable" part="payload" query="/client:LoanApprovalProcessRequest/client:amount"/> <to variable="invokeAssessor_initiate_InputVariable" part="payload" query="/ns1:AssessorProcessRequest/ns1:amount"/> </copy> </assign> <invoke name="invokeAssessor" partnerLink="Assessor" portType="ns1:Assessor" operation="initiate" inputVariable="invokeAssessor_initiate_InputVariable"/> <receive name="receiveAssessor" partnerLink="Assessor" portType="ns1:AssessorCallback" operation="onResult" variable="receiveAssessor_onResult_InputVariable" createInstance="no"/> <assign name="completeAssessor"> <copy> <from variable="receiveAssessor_onResult_InputVariable" part="payload" query="/ns1:AssessorProcessResponse/ns1:level"/> <to variable="risk"/> </copy> </assign> </sequence> <sequence name="sequenceNoApproval"> <target linkName="assess-to-setMessage"/> <source linkName="setMessage-to-reply"/> <assign name="setAccepted"> <copy> <from expression="'Accepted'"/> <to variable="outputVariable" part="payload" query="/client:LoanApprovalProcessResponse/client:result"/> </copy> </assign> </sequence> 46 Petri nets as a basis • The process perspective is the most dominant one. • There are many modeling techniques and tools – BPEL, BPMN, DFD, ISAC, SADT, PN, HLPN, PA, FC, UML, ... – Simulation tools, design tools, CASE tools, WFMS, ... • Focus on the essential concepts rather than (system-)specific languages. • Approach in this course (1) first master workflow modeling in terms of workflow nets (a subset of Petri nets), and (2) only then look into mappings to and from (system-)specific languages. 47 Example of a process model: A Petri net modeling order processing c4 c1 start wait_for_availability c3 ship_goods c5 register c2 reminder archive receive_payment end c6 send_bill 48 Play the token game … c4 c1 start wait_for_availability c3 ship_goods c5 register c2 reminder archive receive_payment end c6 send_bill 49 Test Exercise: Dining philosophers • 5 philosophers sharing 5 chopsticks: chopsticks are located in-between philosophers • A philosopher is either in state eating or thinking and needs two chopsticks to eat. • Model as a Petri net. 50