Download presentation
1
Dive into WebRatio 6 BPM Milano, 25/03/2017
WebRatio Customer Services
2
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
3
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
4
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.
5
Pool and lanes A Pool: A Lane:
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) Pool Lane 1 Lane 2
6
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 Task 1
7
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
8
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
9
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
10
Basic flow control - Sequence
Task 1 Task 2
11
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 Dire a cosa serve
12
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 Spiegare quando usare Parametri e quando Business Objects
13
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
14
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
15
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 gateway These expressions use the input parameters of the gateway to determine or calculate which path should be taken (hence the name Data-Based)
16
Exclusive Data-based gateway
Alternative 1 evaluated to true Task 2 Path 1 Task 1 Alternative 2 evaluated to true Task 3 Path 2
17
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 gateway These expressions use the input parameters of the gateway to determine or calculate which path should be taken
18
Inclusive Gateway Path 1 Task 2 Path 1 and 3 evaluated to true Task 1
Path 1 and 3 evaluated to false. Default path is taken Task 4 Path 3
19
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
20
Parallel Gateway Path 1 and 2 are both taken Path 1 Task 2 Task 1
The gateway waits for ALL tokens Task 3 Path 2
21
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
22
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
23
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
24
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 Task 1
25
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)
26
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)
27
Timer Start and Intermediate Event
Timer Start Event: A timer triggers the start Timer Catching Intermediate Event: The process stops and waits for the timer Task 1 Task 2 A timer triggers the restart of the process
28
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 Task 1
29
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.
30
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
31
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 Investigare se il Message Flow è obbligatorio Task 1
32
Message Start Event A message arrives from a participant , is catched and triggers the start of the Process
33
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 Spiegare Exception Flow
34
Message Throwing Intermediate Event
If used within the main flow, causes the Process to send a message and to continue the flow
35
Message End Event A message is thrown and the process is ended
36
Message Start and Intermediate Event
Message Catching Intermediate Event: The process stops and waits for the message Task 1 Task 2 ,5 Message Throwing Intermediate Event: A message is sent A new message arrives and the process restarts
37
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
38
Signal Event Types: Start Intermediate End Purposes: Catch Throw
Places: In the flow On the boundary Catching Thowing Task 1
39
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
40
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
41
Signal Throwing Intermediate Event
If used within the main flow, causes the Process to send a signal and to continue the flow
42
Signal End Event A signal is thrown at the conclusion of the process
43
Signal Start and End Event
Task 1 Task 2 Signal 1 Signal End Event: The process ends throwing the signal (Signal 1) Task 1 Signal Start Event: The process starts catching the signal (only Signal 1) Signal 1 Task 1 Signal 2 Task 1 Signal 3 Task 1 Signal 1
44
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
45
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.
46
Link Event Types: ☐Start Intermediate ☐End Purposes: Catch Throw
Places: In the flow ☐On the boundary Catching Thowing
47
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 Task 1
48
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
49
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
50
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.
51
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 Task 1
52
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
53
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.
54
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 ☐Intermediate End Purposes: ☐Catch Throw Places: In the flow ☐On the boundary Catching Thowing
55
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 Task 1
56
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 Task 1
57
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.
58
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.
59
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.
60
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
61
Exclusive Event-based gateway
Timer Intermediate Event: A timer triggers the gateway gate Task 2 Conditional Intermediate Event: A condition true value triggers the gateway gate Task 1 Task 3 Task 4 Message Catching Intermediate Event: A message arrives and triggers the gateway gate
62
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
63
Sub-Process Task 1 Sub-Process 1 Task 1
64
Serial Sub-Processes Task 1 Sub-Process 1 Task 1 Task 1 Task 1
65
Parallel Sub-Processes
Task 1 Sub-Process 1 Task 1 Task 1 Task 1
66
References and useful links
WebRatio Official Site ( WebRatio Official Wiki ( - “WebRatio 6 - Getting started” - “WebRatio 6 - Tutorial - Vacation Request” BPMN Official Site ( Bruce Silver - “BPMN Method & Style” ( 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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.