You are on page 1of 50

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
Logistical aspects Resource management Analysis of workflows Staffware Patterns
Concepts

Workflow management systems Techniques for business process modelling Simulation
Adaptive workflow Interorganizational workflow

Protos Guidelines FLOWer

Workflow management

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.aiim.org http://www.waria.com http://www.workflow-research.de http://www.sigpam.org

• http://www.pallas-athena.com/ • http://www.staffware.com • http://is.tm.tue.nl/research/woflan/ • http://www.exspect.com • 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

role of models and trends - 6 .Context .

Focus on models Operational process Information System Model 7 .

From design to redesign and organic growth generic applications operating system domain specific applications tailor-made applications 8 .Some trends in Information Systems 1. From programming to assembling 2. From data orientation to process orientation 3.

workflow management - 9 .Before BPM: WFM .

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 .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.

Relevance of workflow management systems Trend: UIMS DBMS DBMS UIMS WFMS appl. OS appl. OS appl. OS OS 1995-2005 1965-1975 1975-1985 Processes: • are becoming more important (BPR) • are subject to frequent changes • are becoming more complex • are increasing in number 1985-1995  Workflow Management System 11 appl. DBMS .

resources and applications • focus on the logistics of work processes.The basic idea: processes WFMS resources applications • separation of processes. not on the contents of individual tasks 12 .

business process management - 13 .BPM: The next step .

CTO Staffware. This is what true BPM is all about. BPM is in fact the merging of process technology covering 3 process categories: interactions between (i) people-to-people.Business Process Management (BPM) • “True Business Process Management is an amalgam of traditional workflow and the 'new' BPM technology.” David McCoy. It then follows that as BPM is a natural extension of – and not a separate technology to – Workflow. • “…a blending of process management/workflow with application integration. Gartner Group 14 . (ii) systems-to-systems and (iii) systems-to-people – all from a process-centric perspective.” Jon Pyke.

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 .

CPI. Office logistics .relationships to other domains - 20 .BPR.

21 .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".

Processes and the organization 22 .

23 . incremental improvements. "eliminate waste". optimizing the process by continuous.Continuous Process Improvement (CPI) • Instead of of seeking a radical breakthrough. • Part of the Total Quality Management (TQM) approach ("doing it right the first time"..) high BPR impact chaos CPI change BPR CPI BPR CPI low frequency high time stagnation CPI low BPR and CPI are both process centric and can be supported by a WFMS.. .

The difference between design and control is fading! 24 . • Transportation of electronic data is timeless. • Loops or rework occurs frequently in administrative processes. • There are less requirements with respect to the order in which activities are executed.Differences between information logistics and production logistics • Making a copy is easy and cheap. but are very seldom or even impossible in production processes. • Production to stock is seldom possible. • Quality of end-products may vary. • The customer (can) influence(s) the handling in an administrative process. • Quality is difficult to measure. • There are no real limitations with respect to the in-process inventory.

the WFM/BPM market - 25 .History and CSCW .

Historical overview of systems Office Automation Prototypes Officetalk-P Officetalk-Zero Backtalk Domino Melmac Officetalk-D ProMInanD (Esprit) Scientific Workflow Systems CrossFlow ADOME Mariflow MENTOR WIDE APRICOT WorCRAFT WorCOS INCA MOBILE ObjectLens OVAL FreeFlow METEOR TRAMs WISE WAMO Panta Rhei WASA WASA2 SCOOP DAISY Poise Polymer D-Polymer Polyflow 1980 1985 1990 1995 2000 26 (Zur Muehlen. 2003) .

Flow Banyan BeyondMail Fujitsu iFlow Fujitsu Regatta Staffware FileNet WorkFlo Teamware Flow Visual WorkFlo Panagon WorkFlo FileNet Ensemble Action Coordinator DaVinci Xerox InConcert IABG ProMInanD Olivetti X_Workflow LEU ActionWorkflow ActionWorks Metro TIB/InConcert 1980 1985 1990 1995 2000 27 . Skip Ellis/Xerox)! • The WFM hype is over …. etc.III FlowMark Pegasus OpenPM AdminFlow MQSeries Workflow FlowJet Changengine Domino Workflow Versata Lucent Mosaix eiStream Eastman • Workflow management is already 25 years old (cf. MS2 Accelerate Netscape PM jFlow DST AWD iPlanet BEA PI WorkManager SNI WorkParty Plexus FloWare COSA Digital Objectflow DEC LinkWorks Beyond BeyondMail Recognition Int. but there are more and more applications. BancTec FloWare BaaN Ley COSA Oracle Workflow Digital Proc. Web Services. and WFM is adopted by many other technologies (ERP.Flo.). AltaVista Proc. 2003) BlueCross BlueShield Commercial Workflow Systems ViewStar WANG Workflow SIGMA WANG JCALS CARNOT Verve VisualInfo Continuum DST AWD ImagePlus FMS/FAF Pavone Onestone NCR ProcessIT Exotica I .(Zur Muehlen. OfficeTalk.

FLOWer) groupware (e. SAP R/3) production workflow (e.g...g. InConcert) process centric 28 .CSCW spectrum structured database application (e. Staffware) unstructured case handling (e. Outlook) data centric ad-hoc workflow (e..g..g..g.

Refined view (without datbase applications) explicitly structured implicitly structured ad-hoc structured unstructured groupware production workflow case handling ad-hoc workflow data-driven process-driven 29 .

Trade-offs high t or e c an fle lit bi xi y p p su m r fo r pe design effort low ad-hoc case workflow handling production workflow groupware 30 .

human oriented groupware system oriented workflow transaction processing P2P = Person To Person A2P = Application To Person A2A = Application To Application 31 .

MQSeries Workflow.. Staffware. 32 . Generic software focusing on workflow functionality (e.. Custom-made information systems with generic workflow support (organization specific). CRM. Information systems with hard-coded workflows (process& organization specific). Generic software with embedded workflow functionality (e.. PDM.. Filenet. but . the workflow components of ERP. 3.g. COSA.Focus on "classical" workflow management systems.). Oracle BPEL. 4. FLOWer. systems). etc.g. 2. Four types of "workflow-like" systems: 1. etc.

reference model and example - 33 .WFM architecture .

Reference model of the Workflow Management Coalition Process Definition Tools Interface 1 Interface 5 Administration & M onitoring Tools Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Workflow Client Ap plications Interface 3 Invoked Ap plications What? When? Who? 34 .

Process Definition Tools Interface 1 Interface 5 Administration & Monitoring Tools Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Workflow Client Applications Interface 3 Invoked Applications 35 .

Process Definition Tools Interface 1 Interface 5 Administration & Monitoring Tools Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Workflow Client Applications Interface 3 Invoked Applications 36 .

Process Definition Tools Interface 1 Interface 5 Administration & Monitoring Tools Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Workflow Client Applications Interface 3 Invoked Applications 37 .

38 .

processes dominate! - 39 .Workflow perspectives .

. etc.) • . application integration.Workflow perspectives • Process perspective (tasks and the routing of cases) • Resource perspective (workers. 4-eyes principle.) • Case/data perspective (process instances and their attributes) • Operation/application perspective (forms. roles. 40 . etc..

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 .

= 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 .(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'. 10000"/> <source linkName="receive-to-approval" transitionCondition="bpws:getVariableData('inputVariable'.'/client:LoanApprovalProcessRequest/client:amount') &gt.'payload'.'payload'.'/client:LoanApprovalProcessRequest/client:amount') &lt.

FC.. . design tools. CASE tools. – Simulation tools... DFD. UML. WFMS.. PA. ISAC. HLPN.Petri nets as a basis • The process perspective is the most dominant one. SADT. BPMN. • Focus on the essential concepts rather than (system-)specific languages. . • There are many modeling techniques and tools – BPEL. PN. 47 . • 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.

Example of a process model: A Petri net modeling order processing c4 c3 c1 wait_for_availability ship_goods start register c5 archive end c2 reminder receive_payment c6 send_bill 48 .

Play the token game … c4 c3 c1 wait_for_availability ship_goods start register c5 archive end c2 reminder receive_payment 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 .