Materiał edukacyjny

Notacja BPMN 2.0

Uczestnicy

Pool
Participant
Tor (Lane)
Lane

Pool

Kontener dla procesu. Uczestnik interakcji. Pule wymieniają dane wyłącznie przez przepływy komunikatów. Można je zwinąć, aby ukryć szczegóły.

Realizacja zamówieniaSprzedażMagazynWysyłkaZamówieniezłożonePotwierdźzamówienieSpakujzamówienieDostarczzamówienieZamówieniedostarczone
Otwórz w BP1 Modeler →
Jedna pula, jeden proces: zamówienie przechodzi ze Sprzedaży przez Magazyn do Wysyłki — to pula koordynuje pracę
KlientSklep internetowyPotrzebnyproduktZłóżzamówieniePaczka doręczonaRozpakujtowarZamówieniezakończoneZamówienieprzyjęteSkompletuji spakujWyślij paczkęZamówieniewysłaneZamówieniePaczka
Otwórz w BP1 Modeler →
Kolaboracja: klient i sklep to osobne pule — współdziałają wyłącznie przez komunikaty

Tor (Lane)

Pas wewnątrz puli pokazujący, kto wykonuje zadania (stanowisko, rola, dział lub system IT).

Obsługa klientaKonsultantInżynierNowezgłoszenieSklasyfikujzgłoszeniePytanie czy błąd?Odpowiedz napytanieNapraw błądZgłoszeniezamkniętePytanieBłąd
Otwórz w BP1 Modeler →
Tory dzielą jeden proces według ról: konsultant klasyfikuje zgłoszenie, a błąd trafia do toru „Inżynier”

Czynności (Activities)

Typy zadań

Abstrakcyjne
Task (None)
Ręczne
Manual
Użytkownika
User Task
Wysyłania
Send Task
Odbioru
Receive Task
Skryptowe
Script Task
Usługowe
Service Task
Reguła biznesowa
Business Rule

Zadanie abstrakcyjne (None Task)

Typ nie został określony. Stosowane we wczesnym modelowaniu, gdy sposób wykonania nie jest jeszcze ustalony lub gdy nie ma on znaczenia dla celu diagramu. W istocie to element zastępczy, później doprecyzowywany do konkretnego typu.

Zadanie użytkownika (User Task)

Wykonywane przez człowieka za pośrednictwem interfejsu oprogramowania: formularza CRM, ekranu w aplikacji webowej, pozycji w menedżerze zadań. Kluczowa różnica względem zadania ręcznego polega na tym, że osoba pracuje wewnątrz systemu, który śledzi status zadania.

Przykłady: zatwierdzenie wniosku w systemie, wypełnienie formularza, przejrzenie dokumentu w portalu samoobsługowym.

Zadanie ręczne (Manual Task)

Wykonywane przez człowieka bez udziału silnika BPM. System nie potrafi automatycznie wykryć, kiedy ta praca się zaczyna ani kończy.

Przykłady: fizyczne podpisanie dokumentu, rozmowa telefoniczna z klientem, spotkanie osobiste, dostarczenie przesyłki przez kuriera.

Zadanie usługowe (Service Task)

Wykonywane automatycznie przez program lub usługę. Bez udziału człowieka. Najczęstszy typ zadania w procesach wykonywalnych.

Przykłady: żądanie HTTP do API, zapis do bazy danych, wywołanie mikrousługi, uruchomienie obliczeń.

Zadanie wysyłania (Send Task)

Wysyła komunikat do konkretnego uczestnika zewnętrznego (innego procesu lub systemu) i kończy się natychmiast, bez czekania na odpowiedź. Wzorzec „wyślij i zapomnij”.

Przykłady: wysłanie e-maila do klienta, opublikowanie zdarzenia w kolejce komunikatów, wysłanie powiadomienia przez webhook.

Zadanie odbioru (Receive Task)

Czeka na przychodzący komunikat od uczestnika zewnętrznego. Proces zatrzymuje się na tym zadaniu, aż komunikat nadejdzie.

Szczególnym wariantem jest inicjujące zadanie odbioru: jeśli takie zadanie jest pierwszym krokiem procesu, samo odebranie komunikatu tworzy nową instancję procesu (alternatywa dla zdarzenia początkowego typu komunikat).

Przykłady: oczekiwanie na odpowiedź kontrahenta, oczekiwanie na wywołanie zwrotne od dostawcy płatności, oczekiwanie na potwierdzenie dostawy.

Zadanie skryptowe (Script Task)

Uruchamia osadzony skrypt (kod) zdefiniowany bezpośrednio w modelu procesu. W przeciwieństwie do zadania usługowego kod nie wywołuje żadnego systemu zewnętrznego — działa wewnątrz silnika BPM.

Przykłady: konwersja formatu danych, obliczenie terminu, złożenie treści e-maila, sprawdzenie warunku.

Zadanie reguły biznesowej (Business Rule Task)

Wywołuje silnik decyzyjny (np. tabelę DMN). Dane wejściowe są przekazywane do zestawu reguł, a w odpowiedzi zwracana jest decyzja.

Przykłady: ustalenie rabatu według poziomu klienta, obliczenie składki ubezpieczeniowej, sprawdzenie wniosku pod kątem polityki, klasyfikacja zapytania.
ZadanieZadanieręczneZadanieużytkownikaZadanieodbioruZadaniewysyłaniaZadanieskryptoweZadanieusługoweZadanieregułybiznesowej
Otwórz w BP1 Modeler →
Typy zadań: kształt jest ten sam, tylko ikona w rogu mówi, jak wykonywana jest praca

Znaczniki zadań

Małe ikony pośrodku dolnej krawędzi prostokąta zadania. Wskazują zachowanie zadania — a nie jego typ.

Pętla
Loop
Wieloinst. ∥
Parallel MI
Wieloinst. ≡
Sequential MI
Kompensacja
Compensation
Ad-hoc ~
Ad-hoc
Podproces +
Subprocess
ZnacznikZnaczeniePrzykład
↻ PętlaZadanie powtarza się, dopóki warunek jest spełniony (jedna instancja, wiele iteracji)Popraw dokument → wyślij → jeśli odrzucony, powtórz
∥ Wieloinstancyjność równoległaN instancji uruchamia się jednocześnie — po jednej na każdy element kolekcjiWyślij powiadomienie do wszystkich zatwierdzających jednocześnie
≡ Wieloinstancyjność sekwencyjnaTe same N instancji, ale jedna po drugiejPrzeprowadź rozmowę z każdym kandydatem po kolei
⏪ KompensacjaZadanie wycofujące: uruchamia się tylko po wyzwoleniu kompensacji, aby cofnąć już zakończone działanie„Anuluj rezerwację” po tym, jak „Zarezerwuj hotel” już się zakończyło
~ Ad-hocZadania wewnątrz podprocesu wykonywane są w dowolnej kolejności, można je powtarzać lub pomijać; zdarzenia początkowe i końcowe nie są w nim dozwoloneSwobodny wybór kroków podczas konsultacji z klientem
+ PodprocesCzynność złożona z ukrytą wewnętrzną sekwencją; przepływy nie mogą przekraczać jej granicy„Obsługa zamówienia” ukrywa 10 wewnętrznych kroków
Projekt umowygotowyNegocjujwarunkiPodpiszumowęUmowa podpisanaAż obie strony się zgodzą
Otwórz w BP1 Modeler →
Pętla: jedno zadanie się powtarza — „Negocjuj warunki” wykonuje się ponownie, aż obie strony się zgodzą
Wnioseko zakupPoprośo ofertęWybierzdostawcęDostawcawybranyDla każdegodostawcy
Otwórz w BP1 Modeler →
Wieloinstancyjność równoległa (trzy kreski): „Poproś o ofertę” wykonuje się jednocześnie dla każdego dostawcy; proces idzie dalej, gdy nadejdą wszystkie oferty
Wnioseko podróżZarezerwujhotelZarezerwujlotLot kupiony?RezerwacjegotowePodróżanulowanaŻądaniecofnięciaAnulujrezerwacjęhoteluTakNie
Otwórz w BP1 Modeler →
Kompensacja: „Anuluj rezerwację hotelu” wykonuje się tylko wtedy, gdy podróż zostanie anulowana po zarezerwowaniu hotelu — łączy je graniczne zdarzenie kompensacji, a nie przepływ

Podproces (Subprocess)

Czynność złożona oznaczona znakiem „+”. Zawiera własną sekwencję kroków. Przepływy nie mogą przekraczać jej granicy. Zdarzenia pośrednie dołącza się do krawędzi.

ZamówienieprzyjęteOpłać zamówienieObciąż kartęWyślijparagonWyślijzamówienieZamówieniewysłane
Otwórz w BP1 Modeler →
Podproces obejmuje własne kroki: rozwinięty „Opłać zamówienie” pokazuje je z własnym początkiem i końcem; zwinięty „Wyślij zamówienie” ukrywa je za znacznikiem +

Call Activity

Gruba krawędź. Odwołuje się do globalnego podprocesu (np. „Zakupy”) wielokrotnie używanego w różnych procesach.

Różnica względem osadzonego podprocesu: w osadzonym podprocesie dane są dostępne bezpośrednio (współdzielony zakres z procesem nadrzędnym). Call Activity to odrębny proces — jego wejścia i wyjścia wymagają jawnego mapowania danych: co przekazujemy przy wywołaniu, a co odczytujemy po powrocie.
SprzedażLeasingZamówieniezłożoneSprawdźzdolnośćkredytowąPotwierdźzamówienieZamówieniepotwierdzoneWniosek o leasingSprawdźzdolnośćkredytowąPodpiszumowęUmowapodpisana
Otwórz w BP1 Modeler →
Call Activity (gruba krawędź): „Sprzedaż” i „Leasing” wywołują ten sam globalny proces „Sprawdź zdolność kredytową”

Podproces ad-hoc

Znacznik „~”. Czynności w środku mogą wykonywać się w dowolnej kolejności, powtarzać lub być pomijane. Zdarzenia początkowe/końcowe nie są w nim dozwolone.

Oferta przyjętaPrzygotuj pierwszy dzieńZamówlaptopaUtwórz kontaWydajidentyfikatorPrzydzielmentoraStanowiskogotowe
Otwórz w BP1 Modeler →
Podproces ad-hoc (~): zadania nie mają przepływów — wykonuje się je w dowolnej kolejności, powtarza lub pomija

Podproces zdarzeniowy (Event subprocess)

Przerywana krawędź wewnątrz procesu. Wyzwalany przez zdarzenie początkowe, gdy proces nadrzędny jest aktywny. Przerywający — anuluje proces nadrzędny. Nieprzerywający — działa równolegle.

Sklep internetowyZamówienieprzyjęteSpakujzamówienieWyślijzamówienieZamówieniewysłaneZmień adresAdres zmienionyZaktualizujadresAdreszaktualizowany
Otwórz w BP1 Modeler →
Podproces zdarzeniowy (kropkowana krawędź): nie ma przepływu wejściowego — uruchamia go komunikat „Adres zmieniony” w trakcie realizacji zamówienia; nieprzerywające zdarzenie początkowe (linia przerywana) nie zatrzymuje głównego przepływu

Bramki (Gateways)

Sterują rozgałęzianiem i scalaniem. Bramka sama nie wykonuje pracy — tylko kieruje przepływem; decyzję przygotowuje zadanie przed nią.

Wyłączna XOR
Albo/Albo
Równoległa AND
I/I
Włączająca OR
Jedna lub więcej
Zdarzeniowa
Event-based
Złożona
Complex
Pusta
None

Bramka wyłączna (XOR)

Najczęściej stosowana bramka. Przy rozgałęzieniu aktywuje dokładnie jedną ścieżkę wyjściową — tę, której warunek jest spełniony jako pierwszy. Jeśli żaden warunek nie jest spełniony, proces kończy się błędem (dlatego dobrą praktyką jest zawsze definiowanie gałęzi „domyślnej”). Przy scalaniu natychmiast przepuszcza każdy napływający token, nie czekając na pozostałe.

Analogia: rozwidlenie drogi, na którym jedziesz tylko w jednym kierunku.

Przykłady: „Czy zamówienie jest opłacone? → Tak / Nie”, „Czy kwota > 10 000? → Tak / Nie”.
Wskazówka: sformułuj pytanie przed bramką, a warianty odpowiedzi umieść na wychodzących strzałkach.
ZamówienieopłaconeWybierzdostawęSposób dostawy?PrzekażkurierowiPrzygotuj doodbioruWyślij pocztąZamówieniewydaneKurierOdbiórPoczta
Otwórz w BP1 Modeler →
Bramka XOR: wybierana jest dokładnie jedna gałąź; scalająca bramka XOR przepuszcza zamówienie dalej bez czekania

Bramka równoległa (AND)

Przy rozgałęzieniu aktywuje jednocześnie wszystkie ścieżki wyjściowe, bezwarunkowo — bez sprawdzania. Przy scalaniu czeka na tokeny na wszystkich ścieżkach wejściowych i dopiero gdy wszystkie dotrą, przekazuje dalej pojedynczy token.

Analogia: kierownik rozdziela zadania pięciu pracownikom i czeka, aż wszyscy skończą.

Przykłady: równoległa wysyłka towaru i wystawienie faktury; różne działy przeglądające dokumenty w tym samym czasie.
Antywzorzec: nie scalaj bramką AND gałęzi, które zostały rozdzielone przez XOR lub gdy zawsze wybierana jest tylko jedna z nich. AND będzie w nieskończoność czekać na tokeny na wszystkich wejściach — proces się zakleszczy. Po XOR scalaj bramką XOR (lub pustym rombem).
ZamówienieopłaconeWyślij towarWystawfakturęZamówieniezakończone
Otwórz w BP1 Modeler →
Bramka AND: wysyłka i fakturowanie startują jednocześnie; scalająca bramka AND czeka na oba

Bramka włączająca (OR)

Hybryda XOR i AND. Przy rozgałęzieniu aktywuje jedną lub więcej ścieżek w zależności od warunków — każdy warunek jest oceniany niezależnie. Przy scalaniu czeka tylko na tokeny ze ścieżek faktycznie aktywowanych (a nie na wszystkie, jak AND).

Analogia: bufet — bierzesz jedno danie, dwa albo wszystkie, ale nigdy zero.

Przykłady: klient wybrał dostawę i/lub odbiór osobisty i/lub pakowanie na prezent — wykonaj wybrane opcje i poczekaj, aż wszystkie się zakończą.
Uwaga: bramki OR są trudniejsze w analizie. Na rozgałęzionych diagramach reguły synchronizacji bywają nieoczywiste. Nie każdy silnik obsługuje je poprawnie.
ZamówienieopłaconeJakie towary?Wyślij paczkęWyślij link dopobraniaZamówieniezrealizowaneFizyczneCyfrowe
Otwórz w BP1 Modeler →
Bramka OR: towary fizyczne, cyfrowe lub jedne i drugie — wykonuje się jedna lub obie gałęzie, a scalająca bramka OR czeka tylko na te wybrane

Bramka zdarzeniowa (Event-based)

Zasadniczo różni się od pozostałych: kieruje przepływem nie na podstawie danych, lecz według tego, które zdarzenie nadejdzie pierwsze. Za bramką umieszcza się pośrednie zdarzenia oczekujące (zegar, komunikat, warunkowe, sygnał). Gdy tylko jedno się wyzwoli, pozostałe są anulowane.

Analogia: wysyłasz kandydatowi ofertę i czekasz: jeśli odpowie, idziesz dalej; jeśli przez tydzień milczy, przechodzisz do kolejnego kandydata.

Przykłady: oczekiwanie na płatność z zegarem (brak zapłaty w 3 dni → anuluj zamówienie); oczekiwanie na odpowiedź klienta lub upływ terminu.
ZamówieniezłożoneWyślijfakturęPłatnośćotrzymanaWyślijzamówienieZamówieniewysłane3 dniAnulujzamówienieZamówienieanulowane
Otwórz w BP1 Modeler →
Bramka zdarzeniowa: wygrywa to, co nastąpi pierwsze — płatność oznacza wysyłkę zamówienia, a 3 dni bez niej — jego anulowanie

Bramka złożona (Complex)

Stosowana, gdy logiki rozgałęzień nie da się wyrazić standardowymi bramkami. Warunek scalania określa wyrażenie (np. „kontynuuj, gdy zakończą się 3 z 5 gałęzi” lub „gdy nadejdzie pierwsza odpowiedź i minie 10 minut”).

W praktyce: rzadko używana i nie każdy silnik BPM ją obsługuje. Jeśli wystarczy kombinacja XOR / AND / OR, wybierz raczej ją.

Pusta (domyślnie wyłączna)

Romb bez znacznika. Semantycznie równoważny bramce wyłącznej (XOR) — standard BPMN pozwala pominąć krzyżyk. Część metodyków uważa to za złą praktykę, bo pogarsza czytelność: nie wiadomo, czy autor zapomniał o znaczniku, czy świadomie wybrał XOR.

Zdarzenia (Events)

Kluczowe pojęcia

Zdarzenie to coś, co się dzieje (fakt), w odróżnieniu od zadania (aktywnego działania). Rysowane jako okręgi.

Początkowe
Cienki okrąg
Pośrednie
Podwójny okrąg
Końcowe
Gruby okrąg

Przechwytujące (niewypełniony znacznik) — oczekiwanie. Rzucające (wypełniony) — wyrzucanie. Zdarzenia graniczne: przerywające (linia ciągła) i nieprzerywające (przerywana).

Tabela zbiorcza zdarzeń

„—” = nieokreślone przez standard.

TypPoczątkowePośrednieKońcowe
NormalnePodproc. zdarz.Nieprzerw.Przechwyt.GraniczneGran. nieprzerw.Rzucające
Brak (None)—————
✉ Komunikat
⏱ Zegar——
⚡ Błąd—————
▲ Sygnał
📋 Warunkowe——
↗ Eskalacja——
⬤ Zakończenie———————
⏪ Kompensacja————
✖ Anulowanie——————
➡ Łącze——————
⬠ Wielokrotne
➕ Równoległe wielokr.——

Komunikat (Message)

Wymiana z konkretnym odbiorcą: e-mail, rozmowa, HTTP, push. Dostępne w każdej pozycji.

Sklep internetowyFirma kurierskaZamówienieopłaconeSpakujpaczkęOdbiór zleconyZlecenie przyjęteDoręczpaczkęPaczka doręczonaZlecenie odbioru
Otwórz w BP1 Modeler →
Komunikat: końcowe zdarzenie komunikatu sklepu wysyła zlecenie odbioru, a początkowe zdarzenie komunikatu firmy kurierskiej rozpoczyna nowy proces

Zegar (Timer)

Data/godzina, interwał, odliczanie (termin). Tylko przechwytujące.

Co poniedziałek,9:00PrzygotujraporttygodniowyZatwierdźraportRaportzatwierdzony1 dzieńPrzypomnijo raporciePrzypomnieniewysłane2 dniEskaluj dokierownikaRaporteskalowany
Otwórz w BP1 Modeler →
Zegar: start według harmonogramu, nieprzerywające przypomnienie po 1 dniu i przerywający termin po 2 dniach

Błąd (Error)

Poważna awaria. Przechwytujące — tylko na granicy. Rzucające — tylko na końcu.

ZamówieniezłożoneObciąż kartęWyślijzamówienieZamówieniewysłanePłatnośćodrzuconaAnulujzamówienieZamówienieanulowane
Otwórz w BP1 Modeler →
Błąd: jeśli obciążenie karty się nie powiedzie, graniczne zdarzenie błędu przerywa zadanie, a zamówienie trafia do anulowania

Warunkowe (Conditional)

Oczekiwanie na warunek zewnętrzny („stan magazynu spada poniżej minimum”). Tylko przechwytujące.

ZamówienieprzyjętePotwierdźzamówienieTowardostępnyWyślijzamówienieZamówieniewysłane
Otwórz w BP1 Modeler →
Warunkowe: po potwierdzeniu proces czeka, aż towar będzie na stanie, a potem wysyła zamówienie

Sygnał (Signal)

Rozgłaszanie (w odróżnieniu od adresowanego komunikatu). Reaguje każdy subskrybent.

CentralaSklepWadapotwierdzonaPrzygotujwycofanieProdukt wycofanyProdukt wycofanyZdejmijz półekPółki opróżnione
Otwórz w BP1 Modeler →
Sygnał: centrala rozgłasza „Produkt wycofany”; każdy nasłuchujący go sklep uruchamia własny proces — przepływ komunikatów nie jest potrzebny

Zakończenie (Terminate)

Natychmiast zatrzymuje całą instancję procesu. Tylko końcowe.

ZgłoszenieotwarteZnajdźprzyczynę(45 min)PrzyczynaznalezionaNaprawdoraźnie(30 min)Próbawykonana
Otwórz w BP1 Modeler →
Bez Zakończenia: każda gałąź równoległa dochodzi do własnego końca; instancja kończy się dopiero po dłuższej z nich, po 45 minutach

Co, jeśli kontynuowanie zadania 2 po zakończeniu zadania 3 nie ma już sensu? Wtedy stosuje się poniższy wzorzec:

ZgłoszenieotwarteZnajdźprzyczynę(45 min)PrzyczynaznalezionaNaprawdoraźnie(30 min)PróbawykonanaRozwiązane?ZgłoszenierozwiązaneNieTak
Otwórz w BP1 Modeler →
Z Zakończeniem: jeśli doraźna naprawa rozwiąże zgłoszenie, końcowe zdarzenie Zakończenia od razu zatrzymuje całą instancję, łącznie z wciąż trwającym „Znajdź przyczynę”
ZamówienieopłaconeSpakujzamówienieWysyłkaWysyłkaWyślijzamówienieZamówieniewysłane
Otwórz w BP1 Modeler →
Łącze: rzucające łącze „Wysyłka” kończy jeden rząd, a przechwytujące kontynuuje w następnym — zamiast długiej, krzyżującej się strzałki

Kompensacja (Compensation)

Odwraca wcześniej zakończone działanie. Zadanie kompensujące jest połączone asocjacją.

ZamówieniezłożoneObciąż kartęNa stanie?ZamówieniepotwierdzoneZamówienieanulowaneObciążeniecofnięteZwróćpłatnośćTakNie
Otwórz w BP1 Modeler →
Kompensacja: końcowe zdarzenie kompensacji wyzwala zdarzenie graniczne zakończonego zadania „Obciąż kartę”, a jego procedura kompensacji zwraca płatność

Eskalacja (Escalation)

Wysyłana z podprocesu do procesu nadrzędnego — nie jest błędem. Może być nieprzerywająca.

ZamówieniespakowaneDostarcz zamówienieJedź doklientaPaczka przekazana2 godzinyOpóźnieniedostawyZamówieniedostarczoneOpóźnieniedostawyPowiadomklientaKlient powiadomiony
Otwórz w BP1 Modeler →
Eskalacja: podproces dostawy rzuca „Opóźnienie dostawy”; nieprzerywające zdarzenie graniczne przechwytuje ją i powiadamia klienta, a dostawa trwa dalej

Anulowanie (Cancel)

Tylko w kontekście transakcji. Końcowe — wycofanie. Graniczne — przechwytywanie.

Dane, artefakty, przepływy

Obiekt danych
Data Object
Magazyn danych
Data Store
Wejście danych
Data Input
Wyjście danych
Data Output
Adnotacja
Text Annotation
Grupa
Group
Przepływ
Sequence Flow
Przepływ komun.
Message Flow
Warunkowy
Conditional Flow
Domyślny
Default Flow
Transakcja
Transaction

Obiekt danych (Data Object)

„Kartka papieru” z zagiętym rogiem. Reprezentuje informację, która jest tworzona, konsumowana lub przekazywana między zadaniami w ramach instancji procesu. Istnieje tylko dopóki instancja żyje.

Przykłady: zgłoszenie klienta, projekt umowy, raport składany po drodze.

Magazyn danych (Data Store)

Walec. Trwały magazyn, który przeżywa instancję procesu: baza danych, rejestr, repozytorium plików. Zadania z niego odczytują i do niego zapisują.

Przykłady: CRM, ERP, baza zamówień, archiwum dokumentów.

Wejście danych (Data Input) / Wyjście danych (Data Output)

Parametry procesu lub podprocesu na jego granicy. Wejście — to, co dostarczane z zewnątrz; wyjście — to, co zwracane. Strzałka z pustym/wypełnionym trójkątem.

Przykłady: podproces „Zakupy” przyjmuje na wejściu listę pozycji, a na wyjściu zwraca fakturę.

Adnotacja tekstowa (Text Annotation)

Komentarz dołączany do dowolnego elementu przerywaną linią. Nie wpływa na wykonanie — służy jedynie objaśnieniu dla czytelnika diagramu.

Grupa (Group)

Zaokrąglony prostokąt z przerywaną linią. Wizualne grupowanie elementów (np. „wszystkie zadania logistyczne”). Nie ma semantyki wykonania; przepływy mogą swobodnie przekraczać jej granicę.

Przepływ sekwencji (Sequence Flow)

Ciągła strzałka z wypełnionym grotem. Definiuje kolejność wykonania wewnątrz jednej puli. Nie może przekraczać granic puli.

Przepływ warunkowy (z małym rombem u źródła) — uruchamia się tylko, gdy jego warunek jest prawdziwy. Stosowany na strzałkach wychodzących z zadania bez bramki.

Przepływ domyślny (z kreską u źródła) — ścieżka awaryjna bramki XOR/OR lub rozgałęzienia warunkowego, wybierana, gdy żaden inny warunek nie jest spełniony.

Przepływ komunikatów (Message Flow)

Przerywana strzałka z otwartym grotem. Łączy różne pule — komunikat wymieniany między niezależnymi uczestnikami. Nie stosowana wewnątrz jednej puli.

Przykłady: klient wysyła zamówienie do sklepu internetowego; bank wysyła potwierdzenie płatności.

Transakcja (Transaction)

Podproces z podwójną krawędzią. Semantyka ACID: albo każde wewnętrzne działanie zostaje pomyślnie zatwierdzone, albo cała transakcja jest wycofywana przez zdarzenie Anulowania (wraz z kompensacjami). Stosowana do zachowania spójności w operacjach rozproszonych.

Przykłady: rezerwacja pakietu „lot + hotel + samochód” — jeśli którykolwiek krok się nie powiedzie, cała rezerwacja zostaje anulowana.

Gotowi wdrożyć BPMN w praktyce?

Porozmawiaj z naszym zespołem — zmapujemy Twój proces i pokażemy BP1.ai wykonujący BPMN na Twoich danych.

Kontakt z działem sprzedaży
Wszystkie diagramy narysowano w BP1 Modeler, darmowym edytorze BPMN 2.0 — każdy z nich można otworzyć i edytować. Opracowane przez BP1.AI.