Proces jako logika biznesowa

Zamiast stosowanego dawniej modelu, w którym przepływ sterowania i reguły biznesowe są zaszyte w kodzie (np. w formie instrukcji warunkowych, pętli czy wywołań usług), wykorzystanie procesu BPMN umożliwia przeniesienie tej odpowiedzialności na poziom zdefiniowanego jako graficzny diagram procesu.

Taki proces jest centralnym „koordynatorem” przetwarzania sprawy w systemie, który steruje tym jakie kroki należy wykonać, w jakiej kolejności, oraz jakie decyzje podejmować na podstawie danych wejściowych i wyników pośrednich. Dzięki temu można zamodelować sposób realizacji danej sprawy w przejrzysty i łatwy w utrzymaniu sposób.

Takie podejście niesie ze sobą szereg korzyści:

  • Przejrzystość i zrozumiałość - logika procesu jest zapisana w bardziej przystępnej graficznej notacji, ułatwiając zrozumienie jego przepływu i współpracę nad jego kształtem i rozwojem.

  • Zwiększona elastyczność - modyfikacje logiki biznesowej mogą być wprowadzane szybciej, bez konieczności zmiany kodu i ponownego wdrożenia aplikacji.

  • Lepsze monitorowanie i audytowalność - każdy proces uruchamiany w Camundzie jest rejestrowany w historii. Można analizować zdarzenia i incydenty, co znacznie ułatwia debugowanie i analizę działania systemu.

W skład definicji procesów biznesowych wchodzą elementy umożliwiające odwzorowanie logiki biznesowej w postaci procesu, takie jak

  • User Task (Zadanie użytkownika) - Zadania użytkownika służą do włączania ludzi w przebieg procesu. Mogą być przypisywane do konkretnych osób, ról lub grup użytkowników. Umożliwiają realizację takich działań jak zatwierdzenia, uzupełnienia danych, decyzje ręczne czy weryfikacja informacji.

  • Service Task (Zadanie serwisowe) - Service Task umożliwia wykonanie automatycznego działania przez system, bez udziału człowieka. Może to być wywołanie zewnętrznego API, skryptu, usługi REST, SOAP lub innego komponentu technicznego.

  • Gateway (Bramki decyzyjne) - bramki służą do sterowania przepływem procesu w zależności od spełnienia warunków logicznych. Umożliwiają modelowanie reguł biznesowych, które określają, jaka ścieżka zostanie wybrana na podstawie danych procesu.

  • Script Task (Zadanie skryptowe) - umożliwia wykonanie prostych operacji na danych procesu (np. transformacje, wyliczenia) przy użyciu języka skryptowego (np. JavaScript, Groovy). Zalecane tylko dla prostych operacji – logika biznesowa powinna być możliwie wyniesiona do zewnętrznych komponentów.

Last updated

Was this helpful?