<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=BPMN_2.0_Analysts_Razvan</id>
	<title>BPMN 2.0 Analysts Razvan - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=BPMN_2.0_Analysts_Razvan"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Analysts_Razvan&amp;action=history"/>
	<updated>2026-04-24T04:52:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=BPMN_2.0_Analysts_Razvan&amp;diff=14041&amp;oldid=prev</id>
		<title>Filip Stachecki at 12:46, 4 March 2014</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Analysts_Razvan&amp;diff=14041&amp;oldid=prev"/>
		<updated>2014-03-04T12:46:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Razvan|Z01]]&lt;br /&gt;
&lt;br /&gt;
==Parallel Event-Based Gateway⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:ParallelEventBasedGateway.png]]&lt;br /&gt;
*All events must occur before a process can start&lt;br /&gt;
&lt;br /&gt;
[[File:ParallelEventBasedGatewayExample.png]]&lt;br /&gt;
&lt;br /&gt;
==Complex Gateway⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:ComplexGateway.png]]&lt;br /&gt;
*The Complex Gateway can be used to model complex synchronization behavior&lt;br /&gt;
* For example, it could specify that tokens on three out of five incoming Sequence Flows are needed to activate the Gateway.&lt;br /&gt;
&lt;br /&gt;
[[File:ComplexGatewayExample.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Link Events⌘==&lt;br /&gt;
[[File:LinkEvents.png]]&lt;br /&gt;
&lt;br /&gt;
* A Link is a mechanism for connecting two sections of a Process.&lt;br /&gt;
* Link Events can be used to avoid long Sequence Flow lines.&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
[[File:LinkEventsExample.png]]&lt;br /&gt;
&lt;br /&gt;
==Error Events⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:ErrorEvents.png]]&lt;br /&gt;
* An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed&lt;br /&gt;
*An &amp;#039;&amp;#039;&amp;#039;Error&amp;#039;&amp;#039;&amp;#039; indicates that a named Error should be generated.&lt;br /&gt;
*3 types of error events:&lt;br /&gt;
**Start &amp;#039;&amp;#039;&amp;#039;Event Sub-Process&amp;#039;&amp;#039;&amp;#039; Interrupting&lt;br /&gt;
**Intermediate &amp;#039;&amp;#039;&amp;#039;Boundary&amp;#039;&amp;#039;&amp;#039; Interrupting&lt;br /&gt;
**End&lt;br /&gt;
* Process can&amp;#039;t wait for an error or rise an error in itermediate event (only in Boundary Intermediate)&lt;br /&gt;
* Process can&amp;#039;t be instantiated using error event (only in Event Sub-Process)&lt;br /&gt;
===Error Events Example 1⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:BasicExceptionHandling.png]]&lt;br /&gt;
[[File:Ex02_BasicExceptionHandlingMerge.png]]&lt;br /&gt;
===Error Events Example 2⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:Ex03_ExceptionHandling.png]]&lt;br /&gt;
===Error Events Example 3⌘===&lt;br /&gt;
[[File:Ex04_ExceptionHandling.png]]&lt;br /&gt;
===Error Event Exercises⌘===&lt;br /&gt;
&lt;br /&gt;
==Escalation Events⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:EscalationEvents.png]]&lt;br /&gt;
* An Escalation identifies a business situation that a Process might need to react to.&lt;br /&gt;
*In contrast to an Error, an Escalation by default is assumed to not abort the Activity to which the boundary Event is attached.&lt;br /&gt;
&lt;br /&gt;
===Escalation Example⌘===&lt;br /&gt;
[[File:Escalation.png]]&lt;br /&gt;
&lt;br /&gt;
===Escalation Example 2⌘===&lt;br /&gt;
[[File:Escalation2ndVersion.png]]&lt;br /&gt;
&lt;br /&gt;
===Escalation Exercises⌘===&lt;br /&gt;
&lt;br /&gt;
==Compensation⌘==&lt;br /&gt;
[[File:Compensation.png]]&lt;br /&gt;
* Compensation is &amp;#039;&amp;#039;&amp;#039;undoing steps&amp;#039;&amp;#039;&amp;#039; that were &amp;#039;&amp;#039;&amp;#039;already successfully completed&amp;#039;&amp;#039;&amp;#039;, because their results and possibly side effects are no longer desired and need to be reversed.&lt;br /&gt;
* If an Activity is still active, it cannot be compensated, but rather needs to be canceled.&lt;br /&gt;
* Compensation is not an error handling&lt;br /&gt;
===Compensation Example⌘===&lt;br /&gt;
[[File:CompensationExample.png]]&lt;br /&gt;
===Compensation Exercises⌘===&lt;br /&gt;
&lt;br /&gt;
==Transaction⌘==&lt;br /&gt;
[[File:Transaction.png]]&lt;br /&gt;
* Is a specialized type of Sub-Process that will have a special behavior that is controlled through a transaction protocol.&lt;br /&gt;
* 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.&lt;br /&gt;
* ACID model describes transactions:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Atomic&amp;#039;&amp;#039;&amp;#039; - transaction is &amp;#039;&amp;#039;&amp;#039;&amp;quot;all or nothing&amp;quot;&amp;#039;&amp;#039;&amp;#039;: if one part of the transaction fails, the entire transaction fails, and the system state is left unchanged. &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Consistent&amp;#039;&amp;#039;&amp;#039; - any transaction will bring the system from one valid state to another. &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Isolatated&amp;#039;&amp;#039;&amp;#039;  - concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e. one after the other.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Durable&amp;#039;&amp;#039;&amp;#039; - once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors.&lt;br /&gt;
===Transaction in BPMN⌘===&lt;br /&gt;
[[File:TransactionOutcomes.png]]&lt;br /&gt;
&lt;br /&gt;
Three basic outcomes of a Transaction:&lt;br /&gt;
* Succes&lt;br /&gt;
* Cancel &lt;br /&gt;
* Error&lt;br /&gt;
&lt;br /&gt;
===Cancel Events⌘===&lt;br /&gt;
[[File:TransactionCancel.png]]&lt;br /&gt;
* Cancel Events are only used in the context of modeling Transaction Sub-Processes&lt;br /&gt;
* Activities indicated by sequence flow from error event will be executed after transaction is rolled back&lt;br /&gt;
&lt;br /&gt;
===Transaction Exercises⌘===&lt;br /&gt;
&lt;br /&gt;
==Loops and multi-instance⌘==&lt;br /&gt;
=== Standard Loop ⌘===&lt;br /&gt;
[[File:LoopingActivity.png]]&lt;br /&gt;
*The Activity will loop as long as the boolean &amp;#039;&amp;#039;loopCondition&amp;#039;&amp;#039; is true&lt;br /&gt;
*The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration (&amp;#039;&amp;#039;testBefore&amp;#039;&amp;#039; = true lub &amp;#039;&amp;#039;testBefore&amp;#039;&amp;#039; = false)&lt;br /&gt;
*In addition, a numeric cap can be optionally specified - &amp;#039;&amp;#039;loopMaximum&amp;#039;&amp;#039;&lt;br /&gt;
*Loop activity instances are sequentially executed - one after another.&lt;br /&gt;
*Loop Activity is similar to DO WHILE loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-Instance Activity⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:Element_multiple_instances_parallel.png|100px]] [[File:Figure10-48-activity-multi-instance-marker-for-parallel-instances.png|100px]] Multi-Instance parallel &lt;br /&gt;
&lt;br /&gt;
[[File:Element_multiple_instances_sequential.png|100px]] [[File:Figure10-49-activity-multi-instance-marker-for-sequential-instances.png|100px]] Multi-Instance sequential &lt;br /&gt;
*The instances MAY execute in &amp;#039;&amp;#039;&amp;#039;parallel&amp;#039;&amp;#039;&amp;#039; or MAY be &amp;#039;&amp;#039;&amp;#039;sequential&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Multi-Instance Activities are used with collection of items&lt;br /&gt;
*Multi-Instance Activity is similar to FOR EACH loop&lt;br /&gt;
&lt;br /&gt;
===Multi-Instance Activity Example⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:MultiInstanceActivityExample.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Loop Exercises ⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LoopExercise1.png]]&lt;br /&gt;
&lt;br /&gt;
==Process, Collaboration, Choreography and Conversation in BPMN 2.0⌘==&lt;br /&gt;
=== Process - again⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 A Process describes a sequence or flow of Activities&lt;br /&gt;
 in an organization with the objective of carrying out work.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Process&amp;#039;&amp;#039;&amp;#039; is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flows that define finite execution semantics.&lt;br /&gt;
* BPMN uses the term Process specifically to mean a set of flow elements&lt;br /&gt;
* It uses the terms &amp;#039;&amp;#039;&amp;#039;Collaboration&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Choreography&amp;#039;&amp;#039;&amp;#039; when modeling the interaction between Processes&lt;br /&gt;
 &lt;br /&gt;
==== Types of BPMN Processes ⌘====&lt;br /&gt;
&lt;br /&gt;
[[File:FIgure7-1-example-of-a-private-business-process.png|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Figure7-2-example-of-a-public-process.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* There are three basic types of BPMN Processes:&lt;br /&gt;
*# Private Non-executable (internal) Business Processes&lt;br /&gt;
*# Private Executable (internal) Business Processes&lt;br /&gt;
*# Public Processes&lt;br /&gt;
&lt;br /&gt;
===Collaboration⌘===&lt;br /&gt;
[[File:Figure7-6-example-of-collaboration-diagram-with-black-box-pools.png|300px]]&lt;br /&gt;
* 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&lt;br /&gt;
* A Choreography is an extended type of Collaboration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Collaboration Example⌘====&lt;br /&gt;
[[File:Figure7-3-example-of-collaborative-process.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Choreography⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:CollaborationChoreography.png|200px]]&lt;br /&gt;
[[File:SimpleChoreography.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Choreography looks like Private Business Process&lt;br /&gt;
* Choreography formalizes the way business Participants coordinate their interactions. &lt;br /&gt;
* The focus is not on orchestrations of the work performed within these Participants, but rather on the exchange of information (Messages) between these Participants.&lt;br /&gt;
&lt;br /&gt;
====Choreography Example 1⌘====&lt;br /&gt;
&lt;br /&gt;
[[File:Choreography.png]]&lt;br /&gt;
&lt;br /&gt;
====Choreography Example 2 from spec⌘====&lt;br /&gt;
Business Process Model and Notation (BPMN), Version 2.0, pages 318-319&lt;br /&gt;
&lt;br /&gt;
[[File:ChoreographySpecExample1.png|200px]]&lt;br /&gt;
[[File:ChoreographySpecExample2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
===Conversations⌘===&lt;br /&gt;
[[File:SimpleConversation.png|400px]]&lt;br /&gt;
*The Conversation diagram is particular usage of a Collaboration diagram (simplified version of Collaboration)&lt;br /&gt;
*Pools usually are empty. &lt;br /&gt;
*A Conversation is a logical grouping of Message exchanges&lt;br /&gt;
====Conversation Example⌘====&lt;br /&gt;
[[File:Conversation.png]]&lt;br /&gt;
&lt;br /&gt;
=Annex=&lt;br /&gt;
Business Process Model and Notation, v2.0, page 261&lt;br /&gt;
&lt;br /&gt;
[[File:TypesOfEvents.png]]&lt;br /&gt;
&lt;br /&gt;
{{BPMN Links}}&lt;br /&gt;
{{BPMN Links PL}}&lt;/div&gt;</summary>
		<author><name>Filip Stachecki</name></author>
	</entry>
</feed>