Porównanie zalet rozwiązań workflow – Jak zapewnić działanie biznesu w zmieniających się warunkach?
Ostatnie wydarzenia, a w szczególności zamrożenie gospodarki oraz wprowadzenie szeregu regulacji diametralnie zmieniających sposób i warunki działania polskich firm, bardzo wyraźnie pokazują, jak istotna jest zdolność przedsiębiorstw do szybkiego dostosowania swoich procesów biznesowych do nowych warunków. Niewątpliwie największą szansę na sukces posiadają dziś firmy, które potrafiły szybko przełączyć się na działalność w kanałach cyfrowych oraz znacząco zautomatyzować swoje procesy, unikając w ten sposób spowolnienia, przestojów czy też całkowitego zawieszenia funkcjonowania.
Przeprowadzenie takiej zmiany w warunkach presji czasu jest wyzwaniem, którego powodzenie zależy od wielu czynników. Szczególnie istotną rolę w trakcie takiej transformacji pełnią systemy IT przedsiębiorstwa, wykorzystywane w procesach biznesowych firmy. Systemy te powinny bowiem wspierać wymaganą transformację, a nie być czynnikiem utrudniającym lub wręcz blokującym zmiany.
Bazując na swoim doświadczeniu, wyniesionym z projektów dotyczących cyfrowej transformacji przedsiębiorstw, chciałbym w tym artykule pokrótce omówić zalety i wady różnych podejść do problemu oraz przedstawić rozwiązania IT, które pozwalają przeprowadzać zmiany szybko, płynnie i stosunkowo niewielkim kosztem. W szczególności omówię tu trzy popularne platformy open-source, które warto rozważyć digitalizując swoje biznesy i rozpoczynając przygodę z podejściem BPM (Business Process Management), tj.: jBPM, Activiti i Camunda.
Dziedzinowe systemy IT
Duża część przedsiębiorstw posiada już obecnie własne systemy dziedzinowe IT (systemy klasy CRM, ERP, DMS) zawierające wbudowane elementy sterowania przepływem zadań (workflow). Rozwiązania tego typu mają jednak istotne ograniczenia. Jednym z nich jest fakt, że nawet najlepsze mechanizmy workflow wbudowane w dany system działają tylko w obrębie danego systemu.
Dodatkowo, moduły workflow wbudowane w takie systemy stanowią jedynie dodatkową funkcjonalność, dopisaną do innych, kluczowych dla działania danego sytemu. Z racji tego ustępują one sprawnością narzędziom, które zostały celowo stworzone z myślą o zarządzaniu przez workflow.
Rozbudowa tych systemów o nowe wymagane funkcjonalności jest zwykle kosztowna i wymaga dużego zaangażowania ze strony IT. Czasem może się okazać wręcz niemożliwa z powodu “zamknięcia” licencji na dany system.
Natomiast ewentualna całkowita wymiana takiego systemu klasy ERP, CRM, DMS na podobny, ale posiadający lepiej rozwinięty modułem workflow byłaby bardzo dużą i drogą inwestycją, obarczoną także wysokim ryzykiem związanym z koniecznością migracji danych.
Inną opcją rozważaną przy potrzebie dodania mechanizmu workflow do istniejących systemów jest wytworzenie go samodzielnie jako osobnego rozwiązania tzw. “szytego na miarę”. Wiąże się to jednak z dużym nakładem finansowym i czasowym na samo wytworzenie takiego oprogramowania, a następnie koniecznością testów i utrzymywania zespołu wspierającego.
Alternatywą dla wcześniej opisanych jest zastosowanie dedykowanych, odrębnych platform klasy BPMS do implementacji i realizacji procesów biznesowych oraz reguł biznesowych w oparciu o jasne i zrozumiałe notacje zapisu procesów biznesowych (BPMN, DMN), które jednocześnie pozwalają na współpracę z istniejącymi w firmie systemami ERP lub CRM.
Z niewyjaśnionych powodów to ostatnie rozwiązanie bywa uważane za drogie, trudne we wdrożeniu oraz kosztowne w utrzymaniu. Opinia ta jest zdecydowanie krzywdząca, jeśli weźmiemy pod uwagę, że na rynku istnieje szereg dojrzałych, w pełni funkcjonalnych platform, w dodatku udostępnianych na licencji open-source, wspieranych przez dużą społeczność developerów.
Dzięki temu dają one możliwość daleko idącego dostosowania do potrzeb biznesu, a przy wdrożeniu czerpania z doświadczeń licznych użytkowników. Należą do nich m.in. jBPM, Activiti oraz Camunda.
Krótkie porównanie open-source’owych platform BPMS
jBPM
jBPM jest jedną z najstarszych platform tego typu na rynku. Powstała w 2006 roku, a jej kod obecnie liczy około 4mln linii. Twórcy platformy deklarują zgodność z BPMN 2.0 oraz CMMN. Pierwotnie jBPM był zintegrowany z silnikiem reguł biznesowych Drools. Obecnie jBPM oferuje także wsparcie dla reguł zgodnych ze specyfikacją DMN.
Modelowanie oraz uruchamianie procesów odbywa się w jednej, wspólnej aplikacji webowej. Od strony integracyjnej ciekawostką jest to, że jBPM posiada własne rozwiązanie umożliwiające wywoływanie usług REST lub WS bezpośrednio z kroków (task) procesu. Zasadniczo jednak jBPM jest uważany przez programistów za relatywnie mniej przyjazną platformę niż np. Camunda.
jBPM jest wspierany przez spółkę Red Hat, która oferuje tę platformę także w wersji Enterprise subscription. Zgodnie z filozofią Red Hat, wersja Enterprise różni się od wersji open-source lepszą stabilnością oraz dodatkowym wsparciem technicznym (bugfixing, SLA) oraz merytorycznym. Jednak zasadniczo obie wersje bazują na tym samym kodzie.
Activiti
Ta platforma BPMS miała chyba najbardziej burzliwą historię. Została powołana do życia w 2010 r. przez inżynierów Alfresco Inc., którzy wcześniej pracowali w Red Hat nad jBPM. Activiti oferuje jedno środowisko webowe zarówno do edycji jak i uruchamiania procesów biznesowych zamodelowanych w BPMN. Integracje z innymi systemami wymagają oprogramowania klas javowych, realizujących wywołania odpowiednich usług.
Nad rozwojem Activiti czuwa firma Alfresco. Od 2017 r. oferuje ona komercyjną wersję Activiti pod nazwą Alfresco Process Services. W stosunku do wersji open-source oferowała ona m.in. pełniejsze wsparcie dla BPMN. W najnowszej wersji Activiti (Activiti Core 7.x) oferowanej jako Activiti Cloud dokonano redukcji elementów BPMN obsługiwanych przez silnik procesowy, tłumacząc to koniecznością zapewnienia poprawnej obsługi w rozproszonej i skalowalnej architekturze.
Camunda
Platforma Camunda jest najnowszą z tej trójki. Powstała w 2012 r. jako odłam (fork) Activiti, a intencją jej twórców było stworzenie platformy wolnej od niedoskonałości Activiti. Jest stosunkowo lekka (ok. 2,2mln linii kodu), a niezależne testy wskazują na jej wysoką wydajność. Camunda jest mocno zorientowana na zgodność ze standardami.
Platforma ta gwarantuje zgodnośc z BPMN 2.0, DMN 1.1 oraz CMMN 1.1. Camunda posiada także rozbudowane i przejrzyste API (JAVA/REST), dzięki któremu jest platformą przyjazną programistom. Oprócz integrowania z innymi systemami API Camunda pozwala na pisanie plugin’ów i różnego rodzaju nakładek.
Camunda posiada bardzo silne wsparcie swojego fundatora – Camunda Services GmbH. W ramach wsparcia tej platformy organizowane są konferencje i szkolenia. Camunda Services GmbH oferuje także wersję Enterprise platformy Camunda, która od wersji open-source różni się dodatkowymi modułami oraz wsparciem technicznych (SLA) i merytorycznym.
Platforma Camunda jest obecnie prawdopodobnie najchętniej wybieraną platformą BPMS w projektach realizowanych dla dużych przedsiębiorstw. Dowiedz się więcej o Camundzie.
Podsumowanie
Spośród wspomnianych na początku artykułu rozwiązań umożliwiających sprawne dostosowanie procesów biznesowych do szybko zmieniających się wymagań, zdecydowanie najszybsze we wdrożeniu są gotowe platformy BPMS. Zostały one stworzone do zarządzania, optymalizacji i automatyzacji procesów biznesowych, gwarantują więc największą elastyczność wprowadzania zmian.
W obecnym czasie są one intensywnie usprawnianie na podstawie doświadczeń różnorodnych firm, dzięki czemu w efekcie oferują znacznie bardziej rozbudowane funkcjonalności w tym zakresie, niż systemy pełniące głównie funkcje ERP lub CRM. Gdy dodać do tego możliwość wykorzystania opisanych w artykule platform BPMS w wersji open-source, to również wygrywają one porównanie pod względem kosztu wdrożenia i późniejszego utrzymania.
Wybór rozwiązania IT to wielowątkowa i złożona decyzja – warto się do niej solidnie przygotować, by potem nie ponosić długotrwałych kosztów. Dowiedz się, jak do tego podejść czytając artykuł 10 błędów popełnianych przy wyborze systemu informatycznego.
Autor: Tadeusz Domagalski, Senior Analyst w Altkom Software & Consulting