![Page 1: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/1.jpg)
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
![Page 2: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/2.jpg)
2
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.).
![Page 3: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/3.jpg)
3
WFM architecture- reference model and example -
![Page 4: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/4.jpg)
4
Reference model of the Workflow Management Coalition
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
What?When?Who?
![Page 5: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/5.jpg)
5
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
![Page 6: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/6.jpg)
6
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
![Page 7: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/7.jpg)
7
Process Definition Tools
Administration & Monitoring
Tools
Interface 1
Interface 4Interface 5Workflow Enactment Service
Workflow API and Interchange formats
Other WorkflowEnactment Service(s)
WorkflowClient
Applications
Interface 3Interface 2
WorkflowEngine(s)
WorkflowEngine(s)
InvokedApplications
![Page 8: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/8.jpg)
8
![Page 9: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/9.jpg)
9
Workflow perspectives- processes dominate! -
![Page 10: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/10.jpg)
10
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.)• ...
![Page 11: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/11.jpg)
11
Process perspective: Protos (extended Petri nets)
![Page 12: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/12.jpg)
12
Process perspective: Staffware
![Page 13: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/13.jpg)
13
Process perspective: COSA (Petri nets)
![Page 14: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/14.jpg)
14
Process perspective: Baan DEM
![Page 15: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/15.jpg)
15
Process perspective: Event driven process chains (ARIS/SAP)
Plannedtrip
is approved
Needto correctplanned
tripis transmitted
Entryof a
travelrequest
Needfor trip
has arisen
Tripis requested
Approvalof travelrequest
Plannedtrip
is rejected
![Page 16: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/16.jpg)
16
(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>
![Page 17: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/17.jpg)
17
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.
![Page 18: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/18.jpg)
18
Example of a process model: A Petri net modeling order processing
start register
send_bill
receive_payment
archive
ship_goodswait_for_availability
reminder
end
c1
c2
c3
c5
c4
c6
![Page 19: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/19.jpg)
19
Play the token game …
start register
send_bill
receive_payment
archive
ship_goodswait_for_availability
reminder
end
c1
c2
c3
c5
c4
c6
![Page 20: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/20.jpg)
20
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.
![Page 21: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/21.jpg)
تقدم طراحي فرآيند بر سيستم اطالعاتي
• we first design business processes in a more abstract way,• without considering implementation,
• then we design the information systems and the organization hand in hand• In fact, we decide whether each task in a process should
be performed by an information system or a person.
![Page 22: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/22.jpg)
اهميت تعريف صحيح فرآيند جهت بازمهندسي آن
• Definition is important when preparing a (re)design,• before deciding whether to actually implement a new
process it is very important to first establish whether it will work properly.
• formal methods can be used to identify processes' properties, or lack of them.
• Another analysis method uses simulation techniques,• Sometimes supported by computer animation. • Supporting software tools are essential to this.
![Page 23: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/23.jpg)
داليل استفاده از روش پتري نت در مدلسازي جريان کاري
• This book presents a reference framework for defining processes and discusses analytical methods.• In doing so, extensive use is made of Petri nets, • Petri nets are ideally suited for defining and analyzing complex
processes.• Another useful property is that they make the definitions easy
to understand for non-experts.• This eases communication between designers and users. • There also exist software tools which support the
definition and analysis of processes.
![Page 24: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/24.jpg)
مشخصات کلی سيستم های مديريت جريان کار
• during recent years a new class of generic software has been evolving: workflow management systems. • workflow management systems ensure that the right information
reaches the right person at the right time, • or is submitted to the right computer application at the right
moment.• does not, therefore, actually perform any of the tasks in a
process.• it is generic software and so can be used in many situations—and
its weakness: usually actual application software is also needed.
![Page 25: Eindhoven University of Technology Faculty of Technology Management](https://reader034.vdocuments.us/reader034/viewer/2022051518/56815505550346895dc2efbf/html5/thumbnails/25.jpg)
فرآيند کلی )باز(مهندسی جريان های کاری
• Business Process (Re) Engineering:• Organizing Workflows
• Basic Workflow Definitions & Concepts• WFMS Architecture
• Modeling Workflows• Making a real picture of the workflow
• Management of Workflows• Decide or document various managerial aspects of
workflows• Analyzing Workflows
• Calculate the workflow performance and states• If OK! Then stop!
• Redesigning Workflows• Change the workflow and go to the Modeling step.