Professional Documents
Culture Documents
– BPMN cz. II
Plan wykładu
• Łączenie przepływów
• Powtarzanie czynności
• Zdarzenia pośrednie
• Podprocesy
2
Literatura*
4
Koncepcja żetonu – tokena
6
Bramki łączące (2)
7
Łączenie przepływów
alternatywnych (1)
• Klasyczne połączenie
przebiegów alternatywnych
przy pomocy bramki XOR
(zalecane)
• Połączenie przebiegów
alternatywnych przy pomocy
bramki równoległej
spowoduje zatrzymanie
procesu
8
Łączenie przepływów
alternatywnych (2)
• Połączenie przebiegów
alternatywnych jest
możliwe przy pomocy
bramki OR (niezalecane )
• Połączenie przebiegów
alternatywnych jest
również możliwe przy
pomocy bramki złożonej
po odpowiednim
sformułowaniu warunku
(niezalecane )
9
Łączenie przepływów
równoległych – bramka
równoległa
Oczekiwanie aż
Rozwidlenie na obydwa zadania
dwa równoległe zostaną ukończone
przepływy
10
Łączenie przepływów
równoległych – bramka OR
Rozwidlenie na Oczekiwanie aż wszystkie rozpoczęte
dwa równoległe zadania zostaną ukończone (w tym
przepływy przypadku bramka OR zachowa się
identycznie jak bramka równoległa)
11
Łączenie przepływów
równoległych – bramka XOR
Rozwidlenie na Po zakończeniu każdego z
dwa równoległe zadań wyszukiwania
przepływy natychmiast uruchomione
zostanie zadanie weryfikacji
12
Łączenie przepływów
równoległych – bramka
Złożona Bramka będzie oczekiwać na zakończenie
jednego z zadań wyszukiwania. Po
Rozwidlenie na zakończeniu jednego z tych zadań
dwa równoległe natychmiast uruchomione zostanie
przepływy zadanie weryfikacji.
13
• Łączenie przepływów
• Powtarzanie czynności
• Zdarzenia pośrednie
• Podprocesy
14
Powtarzanie czynności (1)
16
Czynności wielo-instancyjne
17
Szeregowe czynności wielo-
instancyjne
• Szeregowa czynność wielo-instancyjna polega na sekwencyjnym
uruchamianiu kolejnych instancji czynności
18
Równoległe czynności
wielo-instancyjne
• Równoległa czynność wielo-instancyjna polega na
uruchamianiu jednocześnie wszystkich instancji czynności
19
Pozostałe elementy wielo-
instancyjne
20
Przykład (1)
21
Przykład (2)
Dopóki nie zostaną Niezależnie dla każdego
zebrane zamówienia ze kierowcy zaopatrzeniowego
wszystkich hurtowni oddzielnie
22
• Łączenie przepływów
• Powtarzanie czynności
• Zdarzenia pośrednie
• Podprocesy
23
Zdarzenia w BPMN 2.0
24
Zdarzenia pośrednie
25
Wzorzec kamienia milowego
Kiedy koncepcja książki jest
gotowa, wysyłany jest sygnał
Dwa podprocesy
rozpoczynają działanie
(równolegle)
• Usuniecie podprocesów nie zawsze jest jednak możliwe, bo podprocesy mogą być
używane w innych miejscach lub też do podprocesów mogą być przypięte pewne
zdarzenia
28
Zdarzenia pośrednie
krawędziowe (2)
• Zdarzenia krawędziowe muszą mieć
określony typ, tj. nie można użyć
zdarzenia nieokreślonego
29
Zdarzenia krawędziowe
przerywające
• Jeśli do zakończenia czynności nie nadejdzie zdarzenie,
wówczas proces kontynuuje działanie po ścieżce normalnej
30
Zdarzenie krawędziowe
nieprzerywające
• Jeśli do zakończenia czynności nie nadejdzie zdarzenie, wówczas
proces kontynuuje działanie po ścieżce normalnej
31
Zdarzenia krawędziowe
przerywające – przykład
Jeśli w trakcie przetwarzania
zamówienia nie zostanie odebrany
komunikat anulowania zamówienia,
wówczas proces przejdzie do
dostawy zamówienia
32
Zdarzenie krawędziowe
nieprzerywające – przykład
Jeśli w trakcie przetwarzania
zamówienia nie zostanie odebrany
komunikat aktualizacji zamówienia,
wówczas proces przejdzie do
dostawy zamówienia
Jeśli zdarzenia te są
obsługiwane identycznie,
wówczas można wykorzystać
tzw. wielozdarzenia
34
Nasłuchiwanie vs.
oczekiwanie
• Czynność zaczyna być wykonywana,
jednocześnie prowadzony jest nasłuch
na określone zdarzenie
• Proces przejdzie dalej po zakończeniu
czynności (jedną lub obydwiema
ścieżkami)
Rodzaje błędów:
Techniczne (np. automat nie może odczytać karty, usługa
sieciowa niedostępna)
Biznesowe (np. brak środków na koncie, odrzucenie podania)
36
Zachowanie procesu po
zgłoszeniu błędu
37
Obsługa błędów
38
Mechanizm throw-catch dla
błędów
Proces znajdzie się na ścieżce
Zdarzenie końcowe normalnej tylko wtedy, gdy w
błąd służy do trakcie wykonywania podprocesu
zgłoszenia błędu nie zostanie zgłoszony żaden błąd
40
Obsługa eskalacji
41
Mechanizm throw-catch dla
eskalacji
Zdarzenie końcowe Proces znajdzie się na ścieżce
eskalacji służy do normalnej zawsze po skończeniu
zgłoszenia potrzeby wykonywania podprocesu
eskalacji „Przyjęcie zamówienia”
Eskalacja Błąd
• Eskalacja służy do wykonania pewnych • Błędy służą do poinformowania, że
dodatkowych działań, najczęściej bez proces nie zachowuje się zgodnie z
naruszania bieżącej ścieżki procesu oczekiwaniami
43
• Łączenie przepływów
• Powtarzanie czynności
• Zdarzenia pośrednie
• Podprocesy
44
Rodzaje czynności
• Zadanie
Czynność atomowa
• Podproces
Czynności nie atomowe
• Czynność wywołania
Reprezentuje wywołanie innej
czynności
45
Podprocesy
46
Podproces osadzony
47
Podprocesy zwinięte i
rozwinięte
48
Podprocesy Ad-Hoc
49
Rozpoczynanie i kończenie
podprocesu Ad-Hoc
O sposobie rozpoczęcia procesu decydują wykonawcy
poszczególnych zadań
50
Przykład podprocesu Ad-
Hoc
51
Szczególne przypadki
podprocesu
Ad-hoc
52
Podprocesy zdarzeniowe
56
Podproces zdarzeniowy vs.
Zdarzenia krawędziowe
Podproces zdarzeniowy Zdarzenia krawędziowe
58
Czynność wywołania
59
Transakcje w systemach IT
60
Transakcje w procesach
biznesowych
• W procesach biznesowych zwykle trudno spełnić
wymagania ACID (problemem jest izolacja transakcji)
61
Podproces transakcji
Jeśli jedna ze stron wycofa się z umowy lub pojawi się nieoczekiwany
błąd, wówczas transakcja jest anulowana i wszystkie strony
podejmują działania zmierzające do cofnięcia / kompensacji
wszystkich ukończonych czynności
Podproces
transakcji
Odbiera Czynność
zgłoszenie o wykonywana podczas
błędzie obsługi kompensacji
Odbiera Odbiera
zgłoszenie o zgłoszenie
błędzie anulowania
63
Anulowanie transakcji –
zgłoszenie
• Anulowanie transakcji ma na celu przerwanie
czynności wykonywanych w ramach podprocesu
transakcyjnego i doprowadzenie do stanu sprzed
wykonania tych czynności (kompensacja)
64
Anulowanie transakcji –
obsługa
• Anulowanie transakcji odbywa się według
schematu try-catch
68
KONIEC
69