Bramki decyzyjne
Bramki to punkty decyzyjne lub miejsca rozgałęzienia, w których proces może przyjąć różne ścieżki w zależności od warunków logicznych. Bramki nie wykonują działań biznesowych, ale kierują przepływem procesu.

Bramki w BPMN – kiedy i jak ich używać
Bramki (Gateways) służą do sterowania przepływem w procesie – decydują o tym, która ścieżka zostanie uruchomiona, ile ścieżek wystartuje oraz kiedy proces może być dalej kontynuowany.
Exclusive Gateway (XOR) – wybór jednej ścieżki

Kiedy użyć?
Gdy proces musi wybrać dokładnie jedną ścieżkę na podstawie warunku logicznego.
Co robi?
ocenia warunki na wyjściach,
przepuszcza tylko jedną ścieżką,
pozostałe ścieżki są odrzucane.
Dlaczego?
Pozwala modelować klasyczne decyzje biznesowe.
Przykład:
Jeśli faktura jest poprawna → Akceptacja
Jeśli faktura jest błędna → Poprawa faktury
Dobre praktyki:
zawsze zapewnij ścieżkę domyślną (default flow),
warunki muszą być wzajemnie rozłączne,
bramka XOR nie synchronizuje ścieżek – tylko wybiera.
Najczęstszy błąd:
używanie XOR tam, gdzie w rzeczywistości może zajść kilka ścieżek jednocześnie.
Inclusive Gateway (OR) – wybór jednej lub wielu ścieżek

Kiedy użyć?
Gdy proces może uruchomić jedną, kilka lub wszystkie ścieżki jednocześnie – w zależności od warunków.
Co robi?
ocenia warunki na wszystkich wyjściach,
uruchamia wszystkie, które są spełnione,
przy łączeniu – czeka tylko na te ścieżki, które zostały uruchomione.
Dlaczego?
Umożliwia elastyczne scenariusze, gdzie kroki są opcjonalne lub zależne od wielu czynników.
Przykład:
jeśli klient zaznaczył zgodę marketingową → wyślij mail
jeśli klient jest VIP → przygotuj raport
jeśli zamówienie > 100k → uruchom analizę ryzyka
Możliwe są wszystkie kombinacje.
Dobre praktyki:
jasno dokumentuj warunki,
używaj OR tylko wtedy, gdy naprawdę potrzebujesz częściowej synchronizacji.
Najczęstszy błąd:
używanie OR zamiast AND, co powoduje „wiszące” tokeny przy łączeniu.
Parallel Gateway (AND) – uruchomienie wszystkich ścieżek

Kiedy użyć?
Gdy proces musi uruchomić wszystkie dostępne ścieżki równolegle.
Co robi?
nie sprawdza żadnych warunków,
tworzy token na każdej ścieżce,
przy łączeniu czeka na wszystkie ścieżki.
Dlaczego?
Zapewnia równoległość i synchronizację.
Przykład:
równolegle: Pakowanie + Przygotowanie dokumentów + Powiadomienie klienta
Dobre praktyki:
zawsze zamykaj równoległość bramką AND (join),
upewnij się, że każda ścieżka realnie kończy się tokenem.
Najczęstszy błąd:
mieszanie AND-join z XOR/OR-split (klasyczny deadlock).
Event-Based Gateway – decyzja oparta o zdarzenie

Kiedy użyć?
Gdy wybór ścieżki zależy od tego, jakie zdarzenie nastąpi jako pierwsze.
Co robi?
nie ocenia warunków logicznych,
czeka na zdarzenia (message, timer, signal itd.),
uruchamia dokładnie jedną ścieżkę – tę, której zdarzenie wystąpi pierwsze.
Dlaczego?
Pozwala modelować reakcję procesu na otoczenie.
Przykład:
klient zapłaci → realizacja zamówienia
minął termin → anulowanie
Dobre praktyki:
za bramką powinny znajdować się wyłącznie zdarzenia,
używaj, gdy decyzja nie wynika z danych procesu, tylko z zewnątrz.
Najczęstszy błąd:
próba używania event-based gateway do sprawdzania warunków.
Complex Gateway – niestandardowa synchronizacja

Kiedy użyć?
Gdy proces wymaga nietypowej logiki synchronizacji, np.:
„2 z 3 muszą się zakończyć”
„jedna z A i B oraz zawsze C”
Co robi?
Pozwala zdefiniować złożoną regułę przepływu tokenów.
Dlaczego?
Obsługuje scenariusze, których nie da się poprawnie zamodelować AND/OR.
Przykład:
dalszy krok dopiero po zakończeniu dowolnych dwóch z trzech analiz.
Dobre praktyki:
używaj rzadko,
zawsze dokumentuj logikę w opisie procesu,
rozważ, czy nie da się tego zastąpić zdarzeniami lub subprocessami.
Najczęstszy błąd:
stosowanie complex gateway zamiast poprawnego przeprojektowania procesu.
Podsumowanie
Bramka | Wybór ścieżek | Warunki | Synchronizacja |
|---|---|---|---|
XOR | dokładnie jedna | tak | nie |
OR | jedna lub wiele | tak | częściowa |
AND | wszystkie | nie | pełna |
Event-based | jedna | nie (zdarzenia) | nie |
Complex | zależnie od reguły | niestandardowe | niestandardowa |
Zasada nadrzędna
Najpierw projektuj logikę biznesową, dopiero potem dobieraj bramkę.