Procesy pads en

33
PROCESSES: FIRST CONTACT Author: František Kocun Reviewer: Ján Všetečka

description

 

Transcript of Procesy pads en

Page 1: Procesy pads en

PROCESSES: FIRST CONTACTAuthor: František Kocun

Reviewer: Ján Všetečka

Page 2: Procesy pads en

Contents

Use of processes

Process definition

BPMN

Relationship to the state machine

2 x example

Pros and cons

Page 3: Procesy pads en

Where are the processes used?What is the difference between inter- and intra- application process?What technologies are used?

Use of processes

Page 4: Procesy pads en

Use of processes

Inter application coordination of several existing applications

(IS)

Intra application coordination of work between the users of a

single application

Page 5: Procesy pads en

Inter application processes - EAI

Integration several IS Example – process Salary accounting

ESB Process Repository

Accounting system

Work planning system

Attendance records

Bank payment system

Process engine

Technologies: WS, SOAP, BPEL, ESB

Page 6: Procesy pads en

Intra application processes

Coordination of work between the users Example – process of Vacation approval

DB

Process engine

Technologies: process engine in language of application, Task Management system

John Mike(John’s manager)

Attendance records module

Application

Page 7: Procesy pads en

What is a process?What is a process application?

Process definition

Page 8: Procesy pads en

What is a process

„A collection of related, structured activities or tasks to achieve a specific goal“

“Business processes don't represent things the business object is doing, rather things being done to the business object.”*

*More about this subtle but it very important difference. http://devhawk.net/2004/01/30/SOA+Vs+OO+In+Business+Process.aspx

Page 9: Procesy pads en

Process definition and process instance

Relation between process definition and process instance is similar to the relation between the class and its instance

Process definition specifies the paths whose the process instance can take

Every process instance takes its own path55%

Process definition: Job application business process Instance 1: John is waiting for the interview Instance 2: Peter already had an interview, and the

record from the interview was sent to his future manager to review

Instance 3: Xenia’s work contract has to be approved by the division manager

Page 10: Procesy pads en

Process definition and process instance

Workflow

Init

Interview Review

JobApplicationBusinessProcess

Process diagram is 2D. Process instance are 3D. Same as an UML class diagram is 2D and an object diagram is 3D.

Page 11: Procesy pads en

Process language describes

Flow Sequence of activities

Data What data the process is using

Resource Who will carry out the activity

Insurance contractAccident recordExpert testimony

EXPERT

REVIEWER

Page 12: Procesy pads en

Example of simple process

Requirement: John wants Mike to approve his vacation request

How does John tell Mike that exactly this vacation request he wants to approve?

Page 13: Procesy pads en

Task: create request

Entity: request

Entity: employee

Task: approve request

Mike

PeterJohn

Page 14: Procesy pads en

Process application

In process application business processes are modeled Process engine executes process instance in that way that according

to the process definition it allocates tasks to systems and users

Page 15: Procesy pads en

Summary

Main purpose of process engine – to achieve specified goal by transparent distribution of work between the people and the systems

Process can reference entities (0 and more entities).

Work is distributes in form of tasks.

Page 16: Procesy pads en

Do we need them both?

State machine vs. Process

Page 17: Procesy pads en

State machine

Principles State machine controls the state (value of

state attribute) of a single entity (that is single instance of EntityClass)

State machine is represented by state

attribute

State attribute is attribute of type Enum

with controlled life cycle

Page 18: Procesy pads en

Relationship between state machine and process

State machine controls the value of a single attribute in entity Process engine moves entities between the users of a system In a single process instance can figure more entities with the state

machine, every in different state State attribute is used for inter process communication because

entity can figure in multiple process instances

Page 19: Procesy pads en

Relationship between state machine and process

State machine Process

Page 20: Procesy pads en

Business process modeling and notation

BPMN

Page 21: Procesy pads en

BPMN

The most used language for business process modeling

OMG standard Just like UML, XMI, MDA Consortium of companies: Microsoft, IBM,

HP, Sun, Apple...

Page 22: Procesy pads en

Core BPMN elements

Page 23: Procesy pads en

The simplest process

Example 0

Page 24: Procesy pads en

The simplest process

Send a message to a selected user

Peter Gašparovič

Page 25: Procesy pads en

The simplest process - model

Page 26: Procesy pads en

Document approval

Example1

Page 27: Procesy pads en

Document approval

Author creates a document Author can edit the document until it

is sent on approval Reviewer can approve or reject the

document If reviewer approves the document it

gets published

Page 28: Procesy pads en

Document approval- diagram

Document creation

Auth

or

Revie

wer

Syst

em

Com

pany f

or

creati

ng d

ocu

men

ts

Approve

Reject

Publish

Send for approval

Approve

Page 29: Procesy pads en

Why use process engine?What are the advantages for the users?Where should we pay attention?

Pros and cons

Page 30: Procesy pads en

Pros

For SW developer Code comprehensibility- joint of business logic to bigger pieces

than transactions/server calls Analysis comprehensibility - joint of business logic to bigger

pieces than use-cases Consistent authorization Separation of entities life cycles and processes, easier to change

logic For SW user

Process versioning (multiple concurrent version of same process)

Process console for process management Necessity to map processes in analysis (without use of

process engine it was optional, with its use it is necessity) Visualization of process instances BAM a BI

Page 31: Procesy pads en

BAM a BI

BAM (Business activity monitor) - online monitoring If three Tasks have been canceled in a row If four invoices were creates with the price more than 5000EUR

in a single day

BI (Business intelligence) – reports/statistics Who is the most effective user (who ends the most Tasks) Who ends the fastest the Task of specific type Which process is most used What is average duration of this process What is the rate of successfully finished processes Use

Routing on the base of process history (e.g. Tasks are allocated to the most effective user, or to the user which has the least work..)

Reports

Page 32: Procesy pads en

Risk

Wrong modeled processes Little examples - proof of concept on a big

projects (this applies for our company)

Updating process instances to the new definition Explore the way to connect with client (this applies for

our company) Navigation is now only in one direction “processes -

> entities” Tasks/process filtering just on its type (and user)

(filtering on attributes of Tasks just like entities will be soon done:)

Page 33: Procesy pads en

D end

Time for questions