BPMN 2.0 Analysts Razvan

From Training Material
Jump to navigation Jump to search


Parallel Event-Based Gateway⌘

ParallelEventBasedGateway.png

  • All events must occur before a process can start

ParallelEventBasedGatewayExample.png

Complex Gateway⌘

ComplexGateway.png

  • 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.

ComplexGatewayExample.png

Link Events⌘

LinkEvents.png

  • 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).

LinkEventsExample.png

Error Events⌘

ErrorEvents.png

  • 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⌘

BasicExceptionHandling.png Ex02 BasicExceptionHandlingMerge.png

Error Events Example 2⌘

Ex03 ExceptionHandling.png

Error Events Example 3⌘

Ex04 ExceptionHandling.png

Error Event Exercises⌘

Escalation Events⌘

EscalationEvents.png

  • 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.png

Escalation Example 2⌘

Escalation2ndVersion.png

Escalation Exercises⌘

Compensation⌘

Compensation.png

  • 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⌘

CompensationExample.png

Compensation Exercises⌘

Transaction⌘

Transaction.png

  • 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⌘

TransactionOutcomes.png

Three basic outcomes of a Transaction:

  • Succes
  • Cancel
  • Error

Cancel Events⌘

TransactionCancel.png

  • 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 ⌘

LoopingActivity.png

  • 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⌘

Element multiple instances parallel.png Figure10-48-activity-multi-instance-marker-for-parallel-instances.png Multi-Instance parallel

Element multiple instances sequential.png Figure10-49-activity-multi-instance-marker-for-sequential-instances.png Multi-Instance sequential

  • 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⌘

MultiInstanceActivityExample.png

Loop Exercises ⌘

LoopExercise1.png

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 ⌘

FIgure7-1-example-of-a-private-business-process.png

Figure7-2-example-of-a-public-process.png

  • There are three basic types of BPMN Processes:
    1. Private Non-executable (internal) Business Processes
    2. Private Executable (internal) Business Processes
    3. Public Processes

Collaboration⌘

Figure7-6-example-of-collaboration-diagram-with-black-box-pools.png

  • 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⌘

Figure7-3-example-of-collaborative-process.png

Choreography⌘

CollaborationChoreography.png SimpleChoreography.png

  • 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.png

Choreography Example 2 from spec⌘

Business Process Model and Notation (BPMN), Version 2.0, pages 318-319

ChoreographySpecExample1.png ChoreographySpecExample2.png

Conversations⌘

SimpleConversation.png

  • 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⌘

Conversation.png

Annex

Business Process Model and Notation, v2.0, page 261

TypesOfEvents.png

Template:BPMN Links Template:BPMN Links PL