Wyślij zapytanie Dołącz do Sii

Kilka tygodni temu miałem przyjemność pracować z platformą BPM (ang. Business Process Management), pochodzącą ze stajni Red Hat’a tj.: jBPM6. Z racji tego, że już wcześniej pracowałem z mniej znanym, konkurencyjnym rozwiązaniem, tj.: Camunda7, postanowiłem zbliżyć te technologie do siebie, ponieważ jestem zdania, że Camunda może sporo „namieszać” na rynku systemów BPM typu „Open Source”?

Porównanie jest moją subiektywną opinią wynikającą z pracy z powyższymi technologiami.

Przegląd jBPM6

Pracę z jBPM-em zacząłem od uruchomienia obrazu Docker-a. Takie podejście daje duże ułatwienie osobom usiłującym szybko poznać platformę bez wnikania w kwestię bazy danych i serwera aplikacyjnego. Po uruchomieniu środowiska mamy możliwość zalogowania się do aplikacji „Workbench”. Aplikacja ta stanowi element pracy zarówno osób technicznych, jak również użytkowników biznesowych. Nie wiem do końca czy takie połączenie było dobrym pomysłem, ponieważ osobom nietechnicznym, interfejs użytkownika może wydawać się mało intuicyjny i trudny do poruszania. Platforma kompleksowo zawiera funkcjonalności związane z modelowaniem, administrowaniem i zarządzaniem procesami.

Aplikacja umożliwia nam utworzenie projektu Git lub SVN (niestety nie udało mi się ;]). Za pomocą edytora BPMN możemy zamodelować proces, dodatkowo jesteśmy w stanie utworzyć model danych lub zaimportować go z istniejących klas Java. Edytor BPMN posiada wsparcie dla podstawowych komponentów HTML oraz umożliwia wygenerowanie domyślnych formularzy dla zadań typu „User Task”. Niestety brak jest możliwości podpięcia zewnętrznych formularzy np. JSF.

Dobrym rozwiązaniem jest możliwość definiowania, dynamicznego menu w „Workbench”. W tym celu możemy użyć JavaScript, a nawet AngularJS. Dużym minusem jest brak wsparcia dla „Responsive Web Design”.

Użytkownik biznesowy ma możliwość podglądu zadań oraz wykonywania akcji typu: claim, accept. Z dodatkowych opcji to: widok podglądu logu zmian, priorytetyzacja lub delegowanie zadań.

Użytkownik administracyjny może zobaczyć podgląd stanu procesu.

Do ciekawych funkcjonalności należy zaliczyć narzędzie do przeprowadzania symulacji procesów, zgodne ze standardem BPSim. Nie jest on może tak rozbudowany jak np. w IBM BPM, natomiast daje podstawowe możliwości przeprowadzenia symulacji procesu.

Warto wspomnieć również o podstawowym narzędziu BAM (ang. Business Activity Monitoring). Dodatkowo istnieje możliwość łatwej integracji z innym produktem Red Hat-a tj. Dashbuilder, który daje już bardziej zaawansowane opcje związane ze statystykami, monitoringiem, itp.

W trakcie pracy natrafiłem na sporo problemów z aplikacją, niektóre rozwiązując za pomocą zmiany przeglądarki (Chrome -> IE11). Z mojego punktu widzenia aplikacja sprawia wrażenie mocno niedopracowanej.

Przegląd Camunda7

Podobnie jak dla jBPM dostawca opisał platformę obrazem Docker, dzięki czemu miałem możliwość szybkiego postawienia środowiska.

Camunda dostarcza nam trzy oddzielne aplikacje web-owe, tj.: Camunda Tasklist, Camunda Cockpit oraz Camunda Admin. Do tego dochodzi jeszcze odrębne narzędzie służące do modelowania, tj.: Camunda Modeler, dostępne jako aplikacja typu standalone lub web.

Aplikacje są intuicyjne, wyglądają dobrze i nie sprawiają problemów technicznych. Wyjątek stanowi modeler, który sprawia wrażenie niedopracowanego, zawierającego błędy, np. podczas edycji pól typu properties. Dużym plusem jest wsparcie dla „Responsive Web Design”.

Camunda Tasklist jest przeznaczona dla użytkowników biznesowych. Podobnie jak w jBPM, udostępnia opcje związane z przeglądem zadań oraz startem procesów. Fajną opcją jest możliwość tworzenia filtrów, za pomocą których użytkownik dokonuje personalizacji aplikacji. Camunda Tasklist wspiera cztery rodzaje formularzy dla zadań, tj.: embedded – wbudowane w aplikację TaskList formularze oparte o HTML, generated – wygenerowane z XML na podstawie metadanych BPMN 2.0, external – skierowane do formularzy innej aplikacji np. napisanej w JSF oraz generic –  wygenerowane na podstawie zmiennych procesowych.

Camunda Cockpit skierowana jest do użytkowników technicznych. Istnieje możliwość podglądu definicji, instancji oraz stanu procesów. Dodatkowo użytkownik ma możliwość podglądu logu w przypadku błędu i ewentualnego ponowienia akcji. Za pomocą plugin extension jesteśmy w stanie rozbudować tab menu, np. dokładając zakładkę z linkiem do innej aplikacji lub z raportami.

Camunda Admin udostępnia funkcjonalności administratorom platformy, związane z zarządzaniem użytkownikami, grupami oraz autoryzacją do poszczególnych aplikacji. Dodatkowo istnieje możliwość zarządzania definicjami, instancjami procesów oraz zadań w kontekście dostępu.

Platforma Camunda BPM na chwilę obecną nie dostarcza narzędzia typu BAM. Oczywiście istnieje możliwość integracji np. z Elasticsearch/Kibana, ale jest to dodatkowy narzut na technologię i development.

Porównanie

 jBPMCamunda
Narzędzie do modelowania (Web, Eclipse)taktak
Wsparcie BPMN 2.0taktak
Wsparcie CMMN 1.1nietak
Wsparcie DMN 1.1nietak
Integracja z Spring Frameworktaktak
Integracja z Java EE, CDItaktak
Wsparcia dla OSGitaktak
Obraz dla Dockertaktak
Symulacje procesówtaknie
BAMtaknie
Integracja z Java APItaktak
Integracja z Rest APItaktak

Podsumowanie

Zaprezentowane powyższe dwie platformy różnią się w znacznym stopniu swoją wizją rozwoju.

Zgodnie z wizją „Zero-Code”, Red Hat stworzył kompleksową, zintegrowaną platformę, która ma być dostępna dla użytkownika nietechnicznego. Dzięki temu w jednym środowisku może być wykonany pełny cykl związany z analizą, modelowaniem, zarządzaniem, wdrażaniem i monitorowaniem procesów biznesowych. Niesie to ze sobą pewne konsekwencje, jak np. uzależnienie się do sprzedawcy (Red Hat) oraz słaba elastyczność na dostosowanie rozwiązania do wymagań korporacyjnych.

Z drugiej strony Camunda kierując się wizją „Developer-Friendliness”, utworzyła profesjonalną, wydajną platformę, której zadaniem jest, jak najlepsza integracja ze środowiskiem klienta. Co prawda wymaga od zespołu deweloperskiego zintegrowania jej z innymi komponentami, w celu wypełnienia luk funkcjonalnych, takich jak np. symulacje oraz BAM, ale tym samym potwierdza elastyczność rozwiązania i niezależność od dostawcy.

5/5 ( głosy: 2)
Ocena:
5/5 ( głosy: 2)
Autor
Avatar
inżynier Kwiecień

Senior Java Developer

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?