Procesy pads en
-
Upload
fero-kocun -
Category
Technology
-
view
1.958 -
download
7
description
Transcript of Procesy pads en
PROCESSES: FIRST CONTACTAuthor: František Kocun
Reviewer: Ján Všetečka
Contents
Use of processes
Process definition
BPMN
Relationship to the state machine
2 x example
Pros and cons
Where are the processes used?What is the difference between inter- and intra- application process?What technologies are used?
Use of processes
Use of processes
Inter application coordination of several existing applications
(IS)
Intra application coordination of work between the users of a
single application
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
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
What is a process?What is a process application?
Process definition
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
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
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.
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
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?
Task: create request
Entity: request
Entity: employee
Task: approve request
Mike
PeterJohn
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
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.
Do we need them both?
State machine vs. Process
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
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
Relationship between state machine and process
State machine Process
Business process modeling and notation
BPMN
BPMN
The most used language for business process modeling
OMG standard Just like UML, XMI, MDA Consortium of companies: Microsoft, IBM,
HP, Sun, Apple...
Core BPMN elements
The simplest process
Example 0
The simplest process
Send a message to a selected user
Peter Gašparovič
The simplest process - model
Document approval
Example1
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
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
Why use process engine?What are the advantages for the users?Where should we pay attention?
Pros and cons
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
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
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:)
D end
Time for questions