Wfm1 intro
Transcript of Wfm1 intro
1
Workflow/Business Process Management
Introduction business process management and workflow
management
Eindhoven University of TechnologyFaculty of Technology ManagementDepartment of Information SystemsP.O. Box 513 5600 MB EindhovenThe [email protected]
Wil van der Aalst
2
Overview of this course
Workflow management
Relation with BPR
Techniques for business process modelling
(Re)design of workflows
Analysis of workflowsResource management
Workflow management systems
StaffwareProtos Concepts
With or without WFMS
Logistical aspects
Guidelines
process mining
Adaptive workflow Interorganizational workflow
Business Process Management
FLOWerSimulation
Patterns
3
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
4
WARNINGIt is not sufficient to understand the workflow models. You have to be able
to design them yourself !
8
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 applicatio
nsdomain
specific applicationstailor-made applications
10
Workflow managementGoalTo 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
11
Relevance of workflow management systems
Trend:
Processes:• are becoming more important (BPR)
• are subject to frequent changes
• are becoming more complex• are increasing in numberWorkflow Management System
OS OS OS OS
DBMSappl. appl.
DBMS
DBMS
WFMSappl.
appl.
UIMS UIMS
1965-1975 1975-1985 1985-1995 1995-2005
12
The basic idea:
• separation of processes, resources and applications
• focus on the logistics of work processes, not on the contents of individual tasks
processes resources
applications
WFMS
14
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
15
Alternative view on BPM: The BPM life-cycle
processdesign
im plem entation/configuration
processenactm ent
diagnosis
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".
23
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
lowlow high
impa
ct
frequency
BPR
CPI
chaos
stagnation
chan
getime
BPR
BPR
CPI
CPI
CPI
BPR and CPI are both process centric and can be supported by a WFMS.
24
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!
26
Historical overview of systems
Office Autom ation Prototypes Scientific W orkflow System s
1980 1985 1990 1995 2000
SCOOP
Backtalk
DAISY
Officetalk-Zero
M ETEOR
M OBILE
W IDE
CrossFlow
W ASA W ASA2
Officetalk-P
M ENTOR
W ISE
INCA
TRAM s
Panta Rhei
ADOM E
W orCOS
M ariflow
APRICOT
M elm ac
W orCRAFT
Poise Polym er D-Polym er Polyflow
OVALObjectLens
W AM O
Dom ino
Officetalk-D
FreeFlow
ProM InanD (Esprit)
(Zur Muehlen, 2003)
27
• 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.).
Com m ercial W orkflow System s
1980 1985 1990 1995 2000
Exotica I - III
FlowM ark M QSeries W orkflow
jFlow
Staffware
Pavone
O nestone Dom ino W orkflow
BEA PI
CARNOT
ViewStar
Digital Proc.Flo. AltaVista Proc.Flow
ActionW orkflow
SNI W orkPartyAdm inFlow ChangengineW orkM anager
OpenPM FlowJet
Verve Versata
Action Coordinator
ActionW orks M etroDaVinci
FileNet W orkFlo Visual W orkFlo
FileNet Ensem ble
Panagon W orkFlo
Xerox InConcert TIB/InConcert
Plexus FloW are BancTec FloW are
NCR ProcessIT
Netscape PMM S2 Accelerate
Team ware Flow
Fujitsu iFlowBeyond BeyondM ail
DST AW D
IABG ProM InanD
DEC LinkW orks
COSA BaaN Ley COSA
Fujitsu Regatta
Pegasus
LEU
Banyan BeyondM ail
O livetti X_W orkflow
O racle W orkflowDigital Objectflow
Im agePlus FM S/FAF
VisualInfo
DST AW D
Continuum
Recognition Int.
W ANGSIGM AEastm an
W ANG W orkfloweiStream
Lucent M osaix
BlueCrossBlueShield
JCALS
iPlanet
(Zur Muehlen, 2003)
28
CSCW spectrum
data centric process centric
unstructured
structured
production workflow(e.g., Staffware)
ad-hoc workflow(e.g., InConcert)
groupware(e.g., Outlook)
database application(e.g., SAP R/3)
case handling(e.g., FLOW er)
29
Refined view (without datbase applications)
explicitlystructured
im plicitlystructured
ad-hocstructured
unstructured
data-driven process-driven
ad-hoc workflow
groupware
productionworkflow
case handling
31
humanoriented
systemoriented
groupware
workflow
transactionprocessing
P2P=
PersonTo
Person
A2P=
ApplicationTo
Person
A2A=
ApplicationTo
Application
32
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.).
34
Reference model of the Workflow Management Coalition
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formatsOther WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s) Workflow
Engine(s)
InvokedApplications
What?When?Who?
35
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formatsOther WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s) Workflow
Engine(s)
InvokedApplications
36
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formatsOther WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s) Workflow
Engine(s)
InvokedApplications
37
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formatsOther WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s) Workflow
Engine(s)
InvokedApplications
40
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.)
• ...
45
Process perspective: Event driven process chains (ARIS/SAP)
Plannedtrip
is approved
Needto correctplannedtrip
is transmitted
Entryof atravelrequest
Needfor trip
has arisen
Tripis requested
Approvalof travelrequest
Plannedtrip
is rejected
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','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"/> </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>
47
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.
48
Example of a process model: A Petri net modeling order processing
start register
send_bill
receive_paym ent
archive
ship_goodswait_for_availability
rem inder
end
c1
c2
c3
c5
c4
c6
49
Play the token game …
start register
send_bill
receive_paym ent
archive
ship_goodswait_for_availability
rem inder
end
c1
c2
c3
c5
c4
c6