Workflow/Business Process Management Introduction business process management and workflow management 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 Wil van der Aalst 1
Overview of this course Business Process Management Relation with BPR process mining (Re)design of workflows Resource management Logistical aspects Analysis of workflows Staffware Patterns Protos Concepts Guidelines FLOWer Workflow management systems Techniques for business process modelling Simulation Adaptive workflow Workflow management Interorganizational workflow With or without WFMS 2
Relevant WWW sites http://www.workflowcourse.com http://www.workflowpatterns.com p http://www.processmining.org http://is.tm.tue.nl/ tm t 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/ tm tue 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
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 ti to process orientation 3. From design to redesign and organic growth generic applications operating system 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 Trend: UIMS UIMS appl. appl. DBMS appl. DBMS WFM MS appl. OS OS OS OS DBMS 1965-19751975 1975-19851985 1985-19951995 1995-2005 Processes: are becoming more important (BPR) are subject to frequent changes are becoming more complex are increasing i in number Workflow Management System 11
The basic idea: processes WFMS resources 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 t t and (iii) systems-to-people t 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 15
1993 diagnosisi process enactment process design implementation/ configuration 16
1998 diagnosisi process enactment process design implementation/ configuration 17
2003 diagnosisi process enactment process design implementation/ configuration 18
2008??? 19
BPR, CPI, Office logistics - relations avec d autres domaines- 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". Le principe p de organiser avant d automatiser se trouve remplacé par penser processus. 21
Les Processus et l organization : on parle de transversalisation Onest passé d une vision ii centréesur té les fonctions d une organisation à une vision centrée processus orienté vers le client. 22
Continuous Process Improvement (CPI) Instead of seeking a radical breakthrough, optimizing the process by continuous, incremental improvements. Au lieu d une remise en cause profonde, optimiser les processus par une approche d amélioration continuelle et incrémentale. Part of the Total Quality Management (TQM) approach ("doing it right the first time", "eliminate waste",...) Le CPI fait partie de l approche TQM ( le faire juste la première fois, éliminer les pertes, ). high CPI impac ct low BPR stagnation chaos CPI change CPI low high frequency BPR and CPI are both process centric and can be supported by a WFMS. CPI BPR time BPR CPI et BPR sont tous les deux centrés processus et peuvent être supportés par un SGWF. 23
Differences between information logistics and production logistics Différences entre les logistiques d information et de production Making a copy is easy and cheap. Faire une copie est facile et bon marché. There are no real limitations with respect to the in-process inventory. Il n y aucune limitation réelle dans l inventaire des entrées de processus. There are less requirements with respect to the order in which activities are executed. Il y a moins de conditions en ce qui concerne l'ordre dans lequel les activités sont exécutées. Quality is difficult to measure. La qualité est difficile à mesurer. Quality of end-products may vary. La qualité des produits finaux peut varier. Transportation of electronic data is timeless. Le transport des données électroniques est intemporel. Production to stock is seldom possible. La production à stocker est rarement possible. Loops or rework occurs frequently in administrative processes, but are very seldom or even impossible in production processes. Les boucles ou la reprise se produit fréquemment dans des processus administratifs, mais est très rarement ou même impossible dans des processus de fabrication. The customer (can) influence(s) the handling in an administrative process. Le client (peut) influence(r) la manipulation dans un processus administratif. The difference between design and control is fading! La différence entre la conception et la contrôle se fane! 24
Histore et TCAO - le marché du WFM/BPM - 25
Historical overview of systems Vue d'ensemble historique des systèmes Office Automation Prototypes Officetalk-P Officetalk-D Officetalk-Zero Backtalk Domino SCOOP DAISY ProMInanD (Esprit) Melmac APRICOT Scientific Workflow Systems CrossFlow ADOME Mariflow MENTOR WIDE WorCRAFT WorCOS INCA MOBILE ObjectLens OVAL FreeFlow METEOR TRAMs WAMO Panta Rhei WISE WASA WASA 2 Poise Polymer D-Polymer Polyflow (Zur Muehlen, 2003) 1980 1985 1990 1995 2000 26
(Zur Muehlen, 2003) Commercial Workflow Systems Workflow management is already 25 years old (cf. OfficeTalk, Skip Ellis/Xerox)! Le WFM a déjà plus de 25 ans derrière lui (cf. OfficeTalk, Skip Ellis/Xeros)! The WFM hype is over, but there are more and more applications, and WFM is adopted by many other technologies (ERP, Web Services, etc.). L exagération du WFM est dépassée, mais il y a de plus en plus d applications et le WFM est adopté par beaucoup d autres technologies (ERP, Web Services, etc). ViewStar WANG Workflow BlueCross BlueShield SIGMA WANG VisualInfo Continuum DST AWD ImagePlus FMS/FAF Lucent Mosaix eistream Eastman JCALS CARNOT Verve Versata MS2 Accelerate Netscape PM iplanet jflow BEA PI DST AWD Pavone Onestone Domino Workflow NCR ProcessIT Exotica I - III FlowMark MQSeries Workflow Pegasus OpenPM FlowJet WorkManager AdminFlow Changengine SNI WorkParty Plexus FloWare Recognition Int. BancTec FloWare COSA BaaN Ley COSA Digital Objectflow Oracle Workflow DEC LinkWorks Digital Proc.Flo. AltaVista Proc.Flow Beyond BeyondMail 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 LEU 1980 1985 1990 1995 2000 27
CSCW spectrum Le spectre du TCAO 28
Refined view (without database applications) Vue raffinée (sans applications de base de données) explicitly structured implicitly structured ad-hoc structured case handling production workflow ad-hoc workflow unstructured groupware data-driven process-driven 29
Trade-offs high flexibilit ity support performance design effort low groupware ad-hoc workflow case handling production workflow 30
human oriented system oriented groupware workflow transaction processing P2P A2P A2A = Person To = Application To = Application To Person Person Application 31
Focus on "classical" workflow management systems, but... Se concentrer sur les WFM(s) «classiques», mais Four types of "workflow-like" lik " systems: Il existe 4 type de systèmes assimilables aux workflows : 1. Information systems with hard-coded workflows (process& organization specific). Les SI(s) () avec des workflows programmés (p (spécifiques à l organisation et à ses processus). 2. Custom-made information systems with generic workflow support (organization specific). SI(s) fait sur commande avec un support workflow générique (spécifique à une organisation). 3. Generic software with embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems). Logiciels génériques encapsulant des fonctionnalités workflow (ex. Les composants workflow dans les ERP, CRM, PDM, etc). 4. Generic software focusing on workflow functionality (e.g., Staffware, MQSeries Workflow, FLOWer, COSA, Oracle BPEL, Filenet, etc.). Logiciels iil génériques ééi se focalisant sur les fonctionnalités workflow (ex. Staffware, MQSeries workflow, FLOwer, COSA, Oracle BPEL, Filenet, etc). 32
ArchitecturedeWFM - modèle de référence & exemple - 33
Reference model of the Workflow Management Coalition Le modèle de référence de la Wfmc Process Definition Tools Interface 1 Administration i i & Monitoring Tools Interface 5 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 Invoked Applications Interface 3 What? When? Who? 34
Process Definition Tools Interface 5 Administration & Monitoring Tools Interface 1 Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Interface 3 Workflow Client Applications Invoked Applications 35
Process Definition Tools Administration & Monitoring Tools Interface 5 Interface 1 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 Invoked Applications Interface 3 36
Process Definition Tools Interface 5 Administration & Monitoring i Tools Interface 1 Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Interface 3 Workflow Client Applications i Invoked Applications 37
38
Les perspectives du Workflow - les processus dominent! - 39
Les perspectives du Workflow Process perspective (tasks and the routing of cases). La perspective processus (les tâches et le routage des cas de Wf). Resource perspective (workers, roles, 4-eyes principle, etc.). La perspective ressource (les travailleurs, les rôles, le principe des 4 yeux, etc). Case/data perspective (process instances and their attributes). La perspective instance/données (les instances de processus et leurs attributs). Operation/application perspective (forms, application integration, etc.). La perspective opération/application (formulaires, intégration d application,etc).... 40
Perspective Processus : Protos (extended dpetri nets) 41
Perspective Processus : Staffware 42
Perspective processus : COSA (Petri nets) 43
Perspective processus : Baan DEM 44
Process perspective: Event driven process chains (ARIS/SAP) (Chaînes de processus dirigés par les événements) 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') < 10000"/> <source linkname="receive-to-approval" transitioncondition="bpws:getvariabledata('inputvariable','payload','/client:loanapprovalprocessrequest/client:amount') >= 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"/> 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 Les réseaux de Petri comme base The process perspective is the most dominant one. La perspective processus est la plus dominante. There are many modeling techniques and tools Il y a beaucoup de techniques et d'outils de modélisation BPEL, BPMN, DFD, ISAC, SADT, PN, HLPN, PA, FC, UML,... Simulation i tools, design tools, CASE tools, WFMS,... Focus on the essential concepts rather than (system-)specific languages. Se concentrer sur les concepts essentiels plutôt que des (systèmes) ou des langues spécifiques. 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. Dans ce cours, il est question de (1) maitriser la modélisation de workflows en terme de workflow nets (une variante de réseaux de Petri) et t(2)j jeter un regard sur les possibilités de mapping vers d autres systèmes ou langages spécifiques. 47
Exemple d un modèle de processus : un Petri net modelisant le traitement d une commande c4 c1 wait_for_availability c3 ship_goods start register c5 archive end c2 reminder receive_payment c6 send_bill 48
Play the token game Jouer le jeu des jetons c4 c1 wait_for_availability c3 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