Upload
sara-martin
View
216
Download
3
Tags:
Embed Size (px)
Citation preview
Dive into WebRatio 6 BPM Milano, 10/04/23
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
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
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.
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)
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
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
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
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
1010/04/[email protected]
Basic flow control - Sequence
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
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
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
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
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)
1610/04/[email protected]
Exclusive Data-based gateway
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
1810/04/[email protected]
Inclusive Gateway
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
2010/04/[email protected]
Parallel Gateway
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
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
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
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
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)
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)
2710/04/[email protected]
Timer Start and Intermediate Event
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
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.
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
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
3210/04/[email protected]
Message Start Event A message arrives from a participant , is catched and triggers
the start of the Process
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
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
3510/04/[email protected]
Message End Event A message is thrown and the process is ended
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
3810/04/[email protected]
Signal Event Types: Start Intermediate End Purposes: Catch Throw Places: In the flow On the boundary
Catching Thowing
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
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
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
4210/04/[email protected]
Signal End Event A signal is thrown at the conclusion of the process
4310/04/[email protected]
Signal Start and End Event
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
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.
4610/04/[email protected]
Link Event Types: ☐Start Intermediate ☐End Purposes: Catch Throw Places: In the flow ☐On the boundary
Catching Thowing
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
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
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
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.
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
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
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.
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
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
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
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.
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.
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.
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
6110/04/[email protected]
Exclusive Event-based gateway
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
6310/04/[email protected]
Sub-Process
6410/04/[email protected]
Serial Sub-Processes
6510/04/[email protected]
Parallel Sub-Processes
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.