PL - BPMN 2.0

From Training Material
Revision as of 19:03, 25 November 2014 by Cesar Chew (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Parallel Event-Based Gateway⌘

ParallelEventBasedGateway.png

  • Równoległa bramka sterowana zdarzeniami
  • Muszą wystąpić wszystkie zdarzenia, żeby proces mógł się rozpocząć

ParallelEventBasedGatewayExample.png

Complex Gateway⌘

ComplexGateway.png

  • Bramka złożona służy do modelowania rozdzielania lub złączenia przepływów nieobsługiwanych przez inne bramki
  • Jej obecność na diagramie może świadczyć o niskiej jakości modelowania :)

ComplexGatewayExample.png

Link Events⌘

LinkEvents.png

  • Link jest graficznym uproszczeniem przekazującym przepływ z jednego punktu diagramu na inny
  • Może być stosowany tylko do przepływów sekwencyjnych
  • Nie może przenosić do innego basenu lub z procesu do podprocesu

LinkEventsExample.png

Error Events⌘

ErrorEvents.png

  • Błąd jest generowany, gdy wystąpi krytyczny problem w czasie wykonywania aktywności lub gdy wykonanie operacji nie powiodło się.
  • Zdarzenie Error przechwytuje lub wyrzuca błąd
  • Występuję tylko w postaci:
    • Start Event Sub-Process Interrupting
    • Intermediate Boundary Interrupting
    • End
  • Nie można oczekiwać lub wyrzucać błędu w zdarzeniu Intermediate (chyba, że to zdarzenie Boundary)
  • Nie można rozpoczynać procesu od błędu (chyba, że to 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 Zadania ⌘

  • Zadanie 1. Logowanie
  • Zadanie 2. Kredyt

Escalation Events⌘

EscalationEvents.png

  • Eskalacja oznacza "wyjątek, którego obsługa nie musi przerywać czynności"
  • Domyślnie nie przerywa czynności, do której krawędzi jest podpięta

Escalation Example⌘

Escalation.png

Escalation Example 2⌘

Escalation2ndVersion.png

Escalation Zadania⌘

  • Zadanie 1. Produkt

Compensation⌘

Compensation.png

  • Kompensacja to mechanizm mający na celu niwelowanie skutków już wykonanych czynności
  • Pośrednie krawędziowe zdarzenie kompensacji nie posiada wyjściowych przepływów sekwencyjnych
  • Zdarzenie kompensacji może zostać uruchomione po zakończeniu czynności
  • Kompensacja to nie obsługa wyjątku

Compensation Example⌘

CompensationExample.png

Compensation Zadanie⌘

  • Zadanie 1. Szkolenie
  • Zadanie 2. Szkolenie (wersja 2)

Transaction⌘

Transaction.png

  • Transakcja to grupa czynności, które mogą zostać wykonane w całości lub wcale.
  • Nie może mieć miejsca sytuacja, że niektóre czynności zakończyły się sukcesem, a inne nie.
  • Transakcje są często opisywane modelem ACID:
    • Atomic (Atomowe) - transakcja albo wykona się w całości, albo w ogóle
    • Consistent (Spójne) - po wykonaniu transakcji system będzie spójny - nie zostaną naruszone żadne zasady integralności
    • Isolatated (Izolowane) - jeżeli dwie transakcje wykonują się współbieżnie, to zazwyczaj nie widzą zmian przez siebie wprowadzanych
    • Durable (Trwałe) - system potrafi uruchomić się i udostępnić spójne, nienaruszone i aktualne dane zapisane w ramach zatwierdzonych transakcji.

Transaction in BPMN⌘

TransactionOutcomes.png

BPMN dopuszcza 3 możliwe wyniki transakcji:

  • sukces
  • anulowanie
  • błąd

Cancel Events⌘

TransactionCancel.png

  • Zdarzenie anulowania występuje tylko w powiązaniu z transakcją
  • Czynności wskazane przez przepływ wychodzący ze zdarzenia anulowania będą wykonane po anulowaniu transakcji

Transaction Zadania⌘

  • Zadanie 1. Ziemniaki
  • Zadanie 2. Przelot
  • Zadanie 3. Drzwi

Pętle i wiele instancji⌘

Standard Loop ⌘

LoopingActivity.png

  • Czynność będzie wykonywana tak długo, jak warunek loopCondition ma wartość true
  • Warunek jest obliczany dla każdego przejścia pętli - na początku lub na końcu iteracji (testBefore = true lub testBefore = false)
  • Można również określić maksymalną liczbę powtórzeń loopMaximum
  • Kolejne iteracje są zawsze sekwencyjne - nie można rozpocząć kolejnej iteracji przed zakończeniem poprzedniej.
  • Standard Loop Activity przypomina pętlę DO WHILE

Wiele instancji (Multi-Instance Activity) ⌘

Element multiple instances parallel.png Figure10-48-activity-multi-instance-marker-for-parallel-instances.png Multi-Instance parallel (równoległe)

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

  • Instancje czynności mogą być wykonywane równolegle lub sekwencyjnie
  • Te czynności mają sens przy pracy z kolekcjami danych
  • Multi-Instance Activity przypomina w działaniu pętlę FOR EACH

Multi-Instance Activity Example⌘

MultiInstanceActivityExample.png

Loop - zadania ⌘

  • Zadanie 1

LoopExercise1.png

  • Zadanie 2* - Rekrutacja

Proces, współpraca, choreografia i konwersacja w BPMN 2.0⌘

Proces - przypomnienie ⌘

A Process describes a sequence or flow of Activities
in an organization with the objective of carrying out work.


Proces opisuje sekwencję lub przepływ czynności w organizacji,
których celem jest wykonanie pewnej pracy
  • BPMN używa terminu proces w odniesieniu do elementów przepływu (czynności, zdarzeń, bramek i przepływów sekwencyjnych)
  • Pojęcia współpraca (collaboration) oraz choreografia (choreography) służą do opisu interakcji pomiędzy procesami

Typy procesów w BPMN ⌘

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

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

Trzy podstawowe typy procesów w BPMN:

  1. Private Non-executable (internal) Business Process
  2. Private Executable (internal) Business Process
  3. Public Process

Współpraca (Collaboration)⌘

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

  • Diagram współpracy to kolekcja Uczestników (Participants) reprezentowanych jako Baseny (Pools) oraz ich wzajemnych interakcji (Message Flows).
  • Diagram może zawierać procesy w obrębie basenów i/lub choreografie pomiędzy.
  • Choreografia jest rozbudowanym typem współpracy


Collaboration Example⌘

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

Choreografia (Choreography)⌘

CollaborationChoreography.png SimpleChoreography.png

  • Choreografia przypomina wyglądem prywatny proces biznesowy
  • Czynności choreografii reprezentują zbiory wymian komunikatów pomiędzy uczestnikami
  • Główny nacisk nie jest kładziony na kolejność czynności tylko na interakcję między uczestnikami
  • Nie wskazuje się kontrolera całej interakcji

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

Konwersacje (Conversations)⌘

SimpleConversation.png

  • Diagram konwersacji jest szczególnym przypadkiem diagramu współpracy
  • Baseny zwykle nie posiadają zawartości
  • Konwersacja jest zestawem logicznie powiązanych wymian komunikatów

Conversation Example⌘

Conversation.png

Literatura

  • Specyfikacja BPMN 2.0
  • BPMN 2.0 by Example
  • Szymon Drejewicz, Zrozumieć BPMN. Modelowanie procesów biznesowych, Helion
  • Mr. Tom Debevoise, Rick Geneva and Dr. Richard Welke, The Microguide to Process Modeling in BPMN 2.0: How to Build Great Process, Rule, and Event Models
  • Bruce Silver, BPMN Method and Style, 2nd Edition, with BPMN Implementer's Guide: A structured approach for business process modeling and implementation using BPMN 2.0

Dodatek

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

TypesOfEvents.png