Podprocesy
Czym jest podproces
Podproces workflow (ang. subprocess) to wydzielony fragment większego procesu biznesowego, który realizuje określony, powtarzalny zestaw działań. Stosuje się go w celu uporządkowania i modularnego zaprojektowania przepływów pracy – dzięki temu złożone procesy można podzielić na mniejsze, łatwiejsze do zarządzania części.
Podprocesy ułatwiają ponowne wykorzystanie tych samych procedur w różnych miejscach systemu, zwiększają przejrzystość diagramów BPMN oraz umożliwiają niezależne testowanie i modyfikowanie poszczególnych etapów procesu. W efekcie organizacja zyskuje większą elastyczność, spójność oraz łatwość utrzymania swoich procesów biznesowych.
Praca z podprocesami
Utworzenie podprocesu
Podproces tworzymy i zapisujemy w taki sam sposób, jak proces.
Dodanie podprocesu do procesu
Edytując proces, do którego chcemy dodać utworzony wcześniej podproces, w procesie głównym dodajemy element typu Task.
Następnie zmieniamy jego typ na Call Activity (menu kontekstowe Change element zostanie wyświetlone po zaznaczeniu bloku i kliknięciu na ikonie klucza).

W kolejnym kroku dla zaznaczonego bloku Call Activity w prawym panelu rozwijamy sekcję Called element. Najpierw ustalamy typ elementu (właściwość Type) na BPMN, a po rozwinięciu kolejnych pól wpisujemy w polu Called element stworzony wcześniej proces - umieszczając go jako podproces w edytowanym procesie.

Podprocesy a zależności
Ponieważ podproces jest częścią innego procesu, podczas zapisu definicji procesu w oknie zapisu wersji otrzymamy informację o artefaktach zależnych.

Z powodu takiej zależności niemożliwe jest usunięcie definicji podprocesu z repozytorium.

Przy pobraniu artefaktu procesu będącego procesem głównym (opcja Pobierz w menu kontekstowym danego procesu), zostanie także pobrany podproces tego procesu.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<exportArtifactWithDependencies>
<dependencies>
<dependency>
<additionalData></additionalData>
<content>PD94bXZlbnQ{...}XRpb25zPgo=</content>
<folderPath>/developers/mwachowska/</folderPath>
<majorVersion>1</majorVersion>
<minorVersion>6</minorVersion>
<name>podproces.bpmn</name>
<type>bpmn</type>
</dependency>
</dependencies>
<exportArtifact>
<additionalData></additionalData>
<content>PD94bW{...}lvbnM+Cg==</content>
<folderPath>/developers/mwachowska/</folderPath>
<majorVersion>1</majorVersion>
<minorVersion>3</minorVersion>
<name>proces_glowny.bpmn</name>
<type>bpmn</type>
</exportArtifact>
</exportArtifactWithDependencies>Podczas importu do aplikacji procesu mającego podprocesy, zostaną one także automatycznie dodane do tej aplikacji
Wersjonowanie i użycie podprocesów
W polu Binding możemy określić wersję podprocesu.
Domyślnie ustawione jest latest, czyli zawsze najnowsza wersja.
Możemy jednak wskazać konkretną wersję (version) lub powiązać wersję podprocesu z wdrożeniem procesu głównego (deployment).
Ten sam podproces może być wykorzystywany w wielu procesach głównych, dlatego jego aktualizacja może wpływać na wszystkie powiązane procesy. Po testach i przed wdrożeniem produkcyjnym rekomendowane jest powiązanie z konkretną stabilną wersją.
Otwarte instancje korzystają zawsze z tej wersji podprocesu, która istniała podczas uruchomienia procesu głównego. Nowe instancje, jeśli Binding = latest, będą używać już nowej wersji podprocesu.
Last updated
Was this helpful?
