eindhoven university of technology faculty of technology management

Post on 20-Mar-2016

44 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. Workflow/Business Process Management Introduction business process management and workflow management. - PowerPoint PPT Presentation

TRANSCRIPT

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 Netherlandsw.m.p.v.d.aalst@tm.tue.nl

Wil van der Aalst

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

3

WFM architecture- reference model and example -

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?

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

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

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

8

9

Workflow perspectives- processes dominate! -

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

11

Process perspective: Protos (extended Petri nets)

12

Process perspective: Staffware

13

Process perspective: COSA (Petri nets)

14

Process perspective: Baan DEM

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

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') &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>

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.

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

19

Play the token game …

start register

send_bill

receive_payment

archive

ship_goodswait_for_availability

reminder

end

c1

c2

c3

c5

c4

c6

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.

تقدم طراحي فرآيند بر سيستم اطالعاتي

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

اهميت تعريف صحيح فرآيند جهت بازمهندسي آن

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

داليل استفاده از روش پتري نت در مدلسازي جريان کاري

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

مشخصات کلی سيستم های مديريت جريان کار

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

فرآيند کلی )باز(مهندسی جريان های کاری

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

top related