Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

66
Dive into WebRatio 6 BPM Milano, 22/06/22 WebRatio Customer Services

Transcript of Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

Page 1: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

Dive into WebRatio 6 BPM Milano, 10/04/23

WebRatio Customer Services

Page 2: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

210/04/[email protected]

WebRatio 6 BPM WebRatio 6 BPM permits you to:• Model and Document your processes• Execute and Validate your processes by instantly prototyping• Developing, Improving and Refining your processes and create a

complete Web application

Page 3: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

310/04/[email protected]

What is BPMN? BPMN is flow-chart based notation for defining Business

Processes Community standard The current version is 1.2, with a major revision process for

2.0 in progress Covers three different levels of process modeling: • Process Maps – simple flow charts of the activities• Process Descriptions – flow charts extended with additional

information, but not enough to fully define actual performance• Process Models – flow charts extended with enough information so

that the process can be analyzed, simulated, and/or executed

Page 4: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

410/04/[email protected]

Basic concepts Small set of graphical elements to make it easy for business

users as well as developers to understand the flow and the process.

Four basic categories of elements compose a business process diagram (BPD):• Flow Objects

Events, Activities, Gateways• Connecting Objects

Sequence Flow, Message Flow, Association• Swimlanes

Pool, Lane• Artifacts (Artefacts)

Data Object, Group, Annotation• It is also allowed to make a custom type of a Flow Object or an Artifact

to make the diagram more understandable.

Page 5: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

510/04/[email protected]

Pool and lanes A Pool:• represents a Participant in the Process. A Participant

can be a specific business entity (e.g., a company) or can be a more general business role (e.g., a buyer, seller, or manufacturer)

A Lane:• Is a sub-partition within a Pool• Is used to organize and categorize activities within a

Pool. • Is often used for such things as internal roles (e.g.,

Manager, Associate), systems (e.g., an enterprise application), an internal department (e.g., shipping, finance)

Page 6: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

610/04/[email protected]

Sequence flow A Sequence Flow is used to show the order that activities will

be performed in a Process The source and target must be one of the following objects:

• Events

• Activities

• Gateways

A Sequence Flow cannot cross a Sub-Process boundary or a Pool boundary

Page 7: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

710/04/[email protected]

How to read diagrams A useful concept that helps the action of reading of a diagram

is the Token• The start of a process generates a Token that must eventually be

consumed at the conclusion of the process• A Token will traverse the Sequence Flow and pass through the Flow

Objects in the Process• The behavior of the Process can be described by tracking the path(s) of

the Token through the Process• Multiple Tokens may exist because of concurrent Process instances or

the dividing of the Token for parallel processing within a single Process instance

Page 8: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

810/04/[email protected]

Activities An activity:• is work that is performed within a business process• Can be a:

Task Sub-Process

• Can be performed once or can have internally defined loops

Page 9: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

910/04/[email protected]

Task Is an atomic activity that is included within a process Can be executed:• Manual: outside the process (i.e. the customer accepts an offer)• Service: automatically as some sort of service, which could be a Web

service or an automated application• User: by a human performer with the assistance of a software

application and is scheduled through a task list manager of some sort Has its own state:• Ready: waiting to be worked• Active: someone is working on it• Completed: someone has finished working on it• Aborted: someone has cancelled it

Defines the parameters to show and to edit

Page 10: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1010/04/[email protected]

Basic flow control - Sequence

Page 11: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1110/04/[email protected]

Parameters A parameter is:• A simple property that stores an information managed by the process• Used when there is the need to take a decision, sending a message and

so on• Defined by:

Name Type: simple (string, integer, etc.) or complex (Business object) Available values Selection policy (single or multiple)

• Defined at pool level• Replied for each process instance

Page 12: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1210/04/[email protected]

Business objects A business object is:• A complex object that stores an entity managed by the process (i.e. an

order, an invoice etc.)• Useful when:

the information is a structured object you have to use two or more properties to define an object

• Defined by properties• A property is a simple object defined by:

Name Type (string, integer, etc.) Available values Selection policy (single or multiple)

• Defined at project level

Page 13: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1310/04/[email protected]

Gateways A gateway:• Is used to control how sequence flows interact as they converge and

diverge within a process• Can be executed:

User: manually by a user choosing the gate using a set of parameters to show or edit like an activity

Service: automatically as a service with a set of condition parameters to test

• Is divided into types:

Exclusive

Inclusive

Parallel

Page 14: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1410/04/[email protected]

Exclusive gateway An exclusive gateway is:• a location within a business process where the sequence flow can take

two or more alternative paths• basically the “fork in the road” for a process

Only one of the possible outgoing paths can be taken when the process is performed

Is divided in two types:• Data-based• Event-based

Page 15: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1510/04/[email protected]

Exclusive gateway (Data-based) The Data-Based Exclusive Gateway is:• the most commonly used type of gateway

The available set of gates can be based on:• The name (Literal) of the outgoing Sequence Flow of the gateway• The boolean expression contained in the Expression attribute of the

outgoing Sequence Flow of the gatewayThese expressions use the input parameters of the gateway to determine

or calculate which path should be taken (hence the name Data-Based)

Page 16: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1610/04/[email protected]

Exclusive Data-based gateway

Page 17: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1710/04/[email protected]

Inclusive gateway An inclusive gateway is:• A decision where there is more than one possible outcome• Usually followed by a corresponding merging inclusive gateway

The available set of gates can be based on:• The name (Literal) of the outgoing Sequence Flow of the gateway• The boolean expression contained in the Expression attribute of the

outgoing Sequence Flow of the gatewayThese expressions use the input parameters of the gateway to determine

or calculate which path should be taken

Page 18: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1810/04/[email protected]

Inclusive Gateway

Page 19: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

1910/04/[email protected]

Parallel gateway A parallel gateway is:• a place in the process where multiple parallel paths are defined• is also used to synchronize (wait for) parallel paths

Page 20: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2010/04/[email protected]

Parallel Gateway

Page 21: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2110/04/[email protected]

Events An event:• Is something that happens during the course of a business process. • Affects the flow of the process and often have a cause (trigger) or an

impact (result). • Can:

start a flow. Is drawn as a circle with a single thin line interrupt/resume a flow. Is drawn as a circle with a double thin

black line end a flow. Is drawn as a circle with a single thick black line

• Can be one of these types: None, Message, Timer, Signal, Conditional, Link, Error, Cancel,

Terminate, Compensation• Can be used to catch or throw the event• Can be defined as standalone or on the boundary of an activity as

intermediate event

Page 22: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2210/04/[email protected]

Exception Handling Intermediate Events attached to the boundary of an activity

represent triggers that can interrupt the activity. All work within the activity will be:• Stopped and flow will proceed from the Event• Continued after the flow has proceeded from the Event

Events of type Timer, Error, Message and Signal can be used

Page 23: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2310/04/[email protected]

None Event Simply starts, interrupts or ends the flow

Types: Start Intermediate End Purposes: Catch Throw Places: In the flow ☐On the boundary

Catching Throwing

Page 24: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2410/04/[email protected]

Timer event Triggers an event based on specific time-date or specific cycle

Types: Start Intermediate ☐End Purposes: Catch ☐Throw Places: In the flow On the boundary

Catching Thowing

Page 25: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2510/04/[email protected]

Timer Start Event The process starts when a specific time-date or a specific

cycle (e.g., every Monday at 9am), defined by a trigger, occurs One or more triggers can be defined Available schedule policies:• Predefined (Every day, Once a week, Specific date etc.)• Custom (using a Cron expression)

Page 26: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2610/04/[email protected]

Timer Intermediate Event If used within the main flow, it acts as a delay mechanism If placed on an activity boundary, is used for exception

handling changing the Normal Flow into an Exception Flow• Two schedule policies:

Relative (to the process flow and to the Active state of the activity) Absolute (by specifying a date)

Page 27: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2710/04/[email protected]

Timer Start and Intermediate Event

Page 28: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2810/04/[email protected]

Conditional Event Triggers a process based on the value of a condition The condition, due to its complexity, will not be defined at

BPM level but in the underlying Web Application development level

Types: Start Intermediate ☐End Purposes: Catch ☐Throw Places: In the flow On the boundary

Catching Thowing

Page 29: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

2910/04/[email protected]

Conditional Start Event Is triggered when a Condition become true. The

ConditionExpression for the Event must become false and then true before the Event can be triggered again.

Page 30: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3010/04/[email protected]

Conditional Intermediate Event If used within the main flow, causes the Process to stop and

wait for the condition to become true If placed on an activity boundary and is used for exception

handling changing the Normal Flow into an Exception Flow

Page 31: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3110/04/[email protected]

Message event Receives and sends messages from/to the process Used to connect to processes defined in different flows Types: Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 32: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3210/04/[email protected]

Message Start Event A message arrives from a participant , is catched and triggers

the start of the Process

Page 33: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3310/04/[email protected]

Message Catching Intermediate Event If used within the main flow, causes the Process to stop and

wait for the message If placed on an activity boundary and is used for exception

handling changing the Normal Flow into an Exception Flow

Page 34: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3410/04/[email protected]

Message Throwing Intermediate Event If used within the main flow, causes the Process to send a

message and to continue the flow

Page 35: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3510/04/[email protected]

Message End Event A message is thrown and the process is ended

Page 36: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3610/04/[email protected]

Message Start and Intermediate Event

,5

Page 37: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3710/04/[email protected]

Signal Event A Signal is for general communication within and across

Process Levels, across Pools, and between Business Process Diagrams

A signal is not a message, which has a specific target, but is a broadcast

A signal is defined by:• Name• A set of parameters to show or edit

Multiple processes can have events that are triggered from the same broadcasted signal

Page 38: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3810/04/[email protected]

Signal Event Types: Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 39: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

3910/04/[email protected]

Signal Start Event A signal, that has been broadcast from another process,

arrives and triggers the start of the process that is listening for catching that type of signal

Page 40: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4010/04/[email protected]

Signal Catching Intermediate Event If used within the main flow, causes the Process to stop and

wait for the signal If placed on an activity boundary and is used for exception

handling changing the Normal Flow into an Exception Flow

Page 41: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4110/04/[email protected]

Signal Throwing Intermediate Event If used within the main flow, causes the Process to send a

signal and to continue the flow

Page 42: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4210/04/[email protected]

Signal End Event A signal is thrown at the conclusion of the process

Page 43: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4310/04/[email protected]

Signal Start and End Event

Page 44: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4410/04/[email protected]

Message Flow A Message Flow is used to show the flow of messages

between two Participants of Process A Message Flow can connect to the boundary of the Pool or

to an object within the Pool Message Flow are not allowed between objects within a

single Pool

Page 45: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4510/04/[email protected]

Link Event A Link is a mechanism for connecting two sections of a

Process. Link Events can be used to create looping situations or to

avoid long Sequence Flow lines. Link Event uses are limited to a single Process level Paired Intermediate Events can also be used as “Off-Page

Connectors” for printing a Process across multiple pages. Can also be used as generic “Go To” objects within the

Process level. There can be multiple Source Link Events, but there can only

be one Target Link Event.

Page 46: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4610/04/[email protected]

Link Event Types: ☐Start Intermediate ☐End Purposes: Catch Throw Places: In the flow ☐On the boundary

Catching Thowing

Page 47: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4710/04/[email protected]

Error event Triggers a process based on a named error

Types: ☐Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 48: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4810/04/[email protected]

Error Intermediate Event Can only be attached to the boundary of an activity, thus it

catches a named error, or to any error if a name is not specified

Page 49: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

4910/04/[email protected]

Error End Event Indicates that a named Error should be generated and

thrown. The Error will be caught by the Error intermediate event with

the same ErrorCode or no ErrorCode that is on the boundary of the nearest enclosing parent activity (hierarchically). The behavior of the process is unspecified if no activity in the Process has such an Error intermediate event. The system executing the process may define additional Error handling in this case, a common one being termination of the process instance

Page 50: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5010/04/[email protected]

Compensation Compensation is concerned with undoing steps that were

already successfully completed, because their results and possibly side effects are no longer desired and need to be reversed.

If an Activity is still active, it cannot be compensated, but rather needs to be canceled.

Compensation is triggered using a compensation throw Event, which can either be an Intermediate or an End Event.

The Activity which needs to be compensated is referenced. If the Activity is clear from the context, it doesn’t have to be specified and defaults to the current Activity.

If no Activity is specified in a “global” context, all completed Activities in the Process are compensated.

Page 51: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5110/04/[email protected]

Compensation Event Catch or throws an event to compensate one or more

activities

Types: ☐Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 52: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5210/04/[email protected]

Compensation Catching Intermediate Event Can only be placed on an activity boundary, the Event is

triggered by a thrown compensation that identifies the activity or to a broadcast compensation

Page 53: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5310/04/[email protected]

Compensation Throwing Intermediate and End Event

When used in the main flow, indicates that a Compensation is necessary.

If the Event identifies an activity, then that is the activity (and no other) that will be compensated. Otherwise, the compensation is broadcast to all activities that have completed within the Process Instance, including the top-level Process and including all Sub-Processes.

Each completed activity that is subject to compensation will be compensated, in the reverse order of the completion of the activities.

To be compensated, an activity MUST have a Compensation Intermediate Event attached to its boundary.

Page 54: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5410/04/[email protected]

Terminate Event Indicates that all activities in the Process should be

immediately ended. This includes all instances of Multi-Instances. The Process is ended without compensation or event handling.

Types: ☐Start ☐IntermediateEnd Purposes: ☐CatchThrow Places: In the flow ☐On the boundary

Catching Thowing

Page 55: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5510/04/[email protected]

Cancel Event Is used within a Transaction Sub-Process. Indicates that the Transaction should be cancelled and will

trigger a Cancel Intermediate Event attached to the Sub-Process boundary.

Types: ☐Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 56: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5610/04/[email protected]

Multiple Event This means that there are multiple ways of triggering the

Process or multiple events thrown Types: Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary

Catching Thowing

Page 57: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5710/04/[email protected]

Multiple Start Event There are multiple ways of triggering the Process. Only one of

them will be required to start the Process. The attributes of the Start Event will define which of the other types of Triggers apply.

Page 58: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5810/04/[email protected]

Multiple Catching or Throwing Intermediate Event

There are multiple Triggers assigned to the Event. If used within normal flow, the Event can “catch” the Trigger. When attached to the boundary of an activity, the Event can

only “catch” the Trigger and only one of the assigned Triggers is required.

Page 59: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

5910/04/[email protected]

Multiple Throwing Intermediate and End Event

There are multiple Triggers assigned to the Event. If used within normal flow, the Event “throws” the Triggers

and all the assigned Triggers will be thrown.

Page 60: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6010/04/[email protected]

Exclusive gateway (Event-based) The Event-Based Exclusive Gateway is:• Similar to the Data-Based gateway

The available set of gates is based on events that occurs at that point in the process• The event that follow the gateway determines the chosen path• The first event triggered wins

Page 61: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6110/04/[email protected]

Exclusive Event-based gateway

Page 62: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6210/04/[email protected]

Sub-Process Is a compound activity in that it has detail that is defined as a

flow of other activities Enables hierarchical process development Points directly to a separately defined process Defines its own input/output parameters and exposes them

when called/executed Is started from a None Start Event, if more than once one will

be chosen Can be multi instanced in:• Loop: defined by a while condition• Parallel: defined by a count parameter passed as input• Serial: defined by a count parameter passed as input

Page 63: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6310/04/[email protected]

Sub-Process

Page 64: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6410/04/[email protected]

Serial Sub-Processes

Page 65: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6510/04/[email protected]

Parallel Sub-Processes

Page 66: Dive into WebRatio 6 BPM Milano, 09/11/2013 WebRatio Customer Services.

6610/04/[email protected]

References and useful links WebRatio Official Site (http://www.webratio.com) WebRatio Official Wiki (http://wiki.webratio.com)

- “WebRatio 6 - Getting started”

- “WebRatio 6 - Tutorial - Vacation Request”

• BPMN Official Site (http://www.bpmn.org/) Bruce Silver - “BPMN Method & Style” (http://www.bpmnstyle.com/)

Bruce Silver is a well-known BPM industry analyst and consultant, the founder and principal at BPMessentials, the leading provider of BPMN training, and a participant in the BPMN 2.0 development team in OMG.