BPMN 2.0 Analysts Razvan
Jump to navigation
Jump to search
Parallel Event-Based Gateway⌘
- All events must occur before a process can start
Complex Gateway⌘
- The Complex Gateway can be used to model complex synchronization behavior
- For example, it could specify that tokens on three out of five incoming Sequence Flows are needed to activate the Gateway.
Link Events⌘
- A Link is a mechanism for connecting two sections of a Process.
- Link Events can be used to avoid long Sequence Flow lines.
- The use of Link Events is limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process or one pool to another pool).
Error Events⌘
- An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed
- An Error indicates that a named Error should be generated.
- 3 types of error events:
- Start Event Sub-Process Interrupting
- Intermediate Boundary Interrupting
- End
- Process can't wait for an error or rise an error in itermediate event (only in Boundary Intermediate)
- Process can't be instantiated using error event (only in Event Sub-Process)
Error Events Example 1⌘
Error Events Example 2⌘
Error Events Example 3⌘
Error Event Exercises⌘
Escalation Events⌘
- An Escalation identifies a business situation that a Process might need to react to.
- In contrast to an Error, an Escalation by default is assumed to not abort the Activity to which the boundary Event is attached.
Escalation Example⌘
Escalation Example 2⌘
Escalation Exercises⌘
Compensation⌘
- Compensation is 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 not an error handling
Compensation Example⌘
Compensation Exercises⌘
Transaction⌘
- Is a specialized type of Sub-Process that will have a special behavior that is controlled through a transaction protocol.
- Transaction verifies if all of the participants have successfully completed their end of the transaction or have been restored to the equivalent of their original state.
- ACID model describes transactions:
- Atomic - transaction is "all or nothing": if one part of the transaction fails, the entire transaction fails, and the system state is left unchanged.
- Consistent - any transaction will bring the system from one valid state to another.
- Isolatated - concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e. one after the other.
- Durable - once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors.
Transaction in BPMN⌘
Three basic outcomes of a Transaction:
- Succes
- Cancel
- Error
Cancel Events⌘
- Cancel Events are only used in the context of modeling Transaction Sub-Processes
- Activities indicated by sequence flow from error event will be executed after transaction is rolled back
Transaction Exercises⌘
Loops and multi-instance⌘
Standard Loop ⌘
- The Activity will loop as long as the boolean loopCondition is true
- The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration (testBefore = true lub testBefore = false)
- In addition, a numeric cap can be optionally specified - loopMaximum
- Loop activity instances are sequentially executed - one after another.
- Loop Activity is similar to DO WHILE loop.
Multi-Instance Activity⌘
- The instances MAY execute in parallel or MAY be sequential.
- Multi-Instance Activities are used with collection of items
- Multi-Instance Activity is similar to FOR EACH loop
Multi-Instance Activity Example⌘
Loop Exercises ⌘
Process, Collaboration, Choreography and Conversation in BPMN 2.0⌘
Process - again⌘
A Process describes a sequence or flow of Activities in an organization with the objective of carrying out work.
- Process is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flows that define finite execution semantics.
- BPMN uses the term Process specifically to mean a set of flow elements
- It uses the terms Collaboration and Choreography when modeling the interaction between Processes
Types of BPMN Processes ⌘
- There are three basic types of BPMN Processes:
- Private Non-executable (internal) Business Processes
- Private Executable (internal) Business Processes
- Public Processes
Collaboration⌘
- Collaboration is a collection of Participants shown as Pools, their interactions as shown by Message Flows, and MAY include Processes within the Pools and/or Choreographies between the Pools
- A Choreography is an extended type of Collaboration
Collaboration Example⌘
Choreography⌘
- Choreography looks like Private Business Process
- Choreography formalizes the way business Participants coordinate their interactions.
- The focus is not on orchestrations of the work performed within these Participants, but rather on the exchange of information (Messages) between these Participants.
Choreography Example 1⌘
Choreography Example 2 from spec⌘
Business Process Model and Notation (BPMN), Version 2.0, pages 318-319
Conversations⌘
- The Conversation diagram is particular usage of a Collaboration diagram (simplified version of Collaboration)
- Pools usually are empty.
- A Conversation is a logical grouping of Message exchanges
Conversation Example⌘
Annex
Business Process Model and Notation, v2.0, page 261