Project Description

Nowa generacja platformy Ferryt!

W minionym tygodniu spędziliśmy kilka godzin z ekspertami firmy DomData, którzy zaprezentowali nam najnowszą odsłonę platformy Ferryt. W poniższym tekście przestawiamy najciekawsze obserwacje.

Ale po kolei – DomData to poznańska firma, która jest producentem serii rozwiązań wspierających różne obszary działalności. Oferowane narzędzia są tworzone przez zespół ok. 250 pracowników firm z Grupy DomData. Ferryt to system klasy BPM. Umożliwia modelowanie oraz uruchamianie procesów. System cieszy się największym zainteresowaniem w branży finansowej (banki, towarzystwa ubezpieczeniowe, firmy leasingowe). Do grona klientów należą m.in. mBank, ING Bank Śląski, BNP Paribas Bank Polska, Bank Pocztowy, Bank Gospodarstwa Krajowego, Nest Bank. Ferryt jest natomiast narzędziem uniwersalnym – możne wspierać procesy w każdej branży i każdym obszarze działalności firmy.

Dlaczego nowa wersja ?

DomData szacuje, że system Ferryt wspiera u obecnych klientów firmy w Polsce około 2000 procesów, co daje kilka milionów rzeczywistych wykonań (instancji) procesów tygodniowo. Dotychczasowa wersja systemu gwarantuje wysokość wydajność, natomiast przyrosty liczby automatyzowanych procesów oraz uruchamianych instancji są na tyle duże i dynamiczne, że firma podjęła decyzję o zbudowaniu nowej wersji systemu, która będzie w pełni przygotowana na przewidywane wolumeny.

Nowa wersja systemu to również wejście na inny poziom pod względem wykorzystanych technologii. Ferryt w nowej odsłonie został zbudowany w oparciu o Microsoft .NetCore. Zastosowana została architektura SPA (Single Page Application), przy wykorzystaniu frameworku React. Zastosowane technologie poza bezpośrednim przełożeniem na wydajność i skalowalność rozwiązania sprawiły, że system jest dla użytkowników w pełni dostępny przez przeglądarkę internetową – zarówno dla uczestnika procesu realizującego określone kroki w warstwie wykonawczej i dla użytkownika projektującego proces, reguły i wykorzystywane formularze. Nowością jest również to, że system może być implementowany nie tylko z MS SQL, ale również z innymi bazami danych (np. Oracle).

W trakcie prac nad nową wersją systemu Ferryt duży nacisk został położony na ergonomię narzędzia i doświadczenia użytkownika. Sposób pracy z systemem i jego wygląd wynikają między innymi z przeprowadzonej analizy zachowań i przyzwyczajeń użytkowników.

Istota pracy z systemem

Ferryt to narzędzie doskonale wpisujące się w koncepcję „low-code” systemów BPM. Założeniem architektów i projektantów nowej wersji systemu było to, aby klient był w stanie automatyzować swoje procesy bez znajomości jakichkolwiek języków programowania. Reguły stosowane w przebiegu automatyzowanego procesu jest w stanie definiować w systemie odpowiednio przeszkolony użytkownik, który nie jest programistą. Dużym ułatwieniem w pracy z systemem jest przyświecająca twórcom zasada reużywalności konkretnych elementów tworzonych w systemie rozwiązań – np. stworzona reguła może być wykorzystywana w różnych krokach jednego procesu lub w różnych procesach. W trakcie projektowania rozwiązania wspierającego dany proces stosowane mogą być mechanizmy umożliwiające pracę grupową, co jest istotną cechą w kontekście coraz częściej występującego modelu pracy w rozproszonym środowisku.

Od diagramu procesu do rzeczywistej realizacji i monitorowania

Pierwszym krokiem w przygodzie z automatyzacją jest zamodelowanie procesu. W systemie Ferryt diagram procesu ma dwie warstwy – biznesową i implementacyjną. Nowa wersja systemu umożliwia tworzenie warstwy biznesowej diagramów zgodnie z BPMN 2.0. Jest to standard uznany na całym świecie, więc ułatwia takie samo zrozumienie procesu przez wszystkie osoby pracujące nad modelem. Praca z diagramami jest bardzo intuicyjna. Użytkownik ma do dyspozycji poszczególne obiekty wykorzystywane w notacji BPMN 2.0, które poprzez mechanizm drag and drop umieszcza na diagramie.

Kolejną nowością jest to, że warstwa implementacyjna diagramu jest również – analogicznie do diagramu biznesowego tworzonego w BPMN 2.0 – wizualizowana w formie diagramu. Diagram implementacyjny jest tworzony dla każdego kroku procesu oraz dla jego wejść i wyjść. Na diagramie implementacyjnym umieszczane są obiekty definiujące zachowanie się systemu w danym kroku.

Przykłady obiektów wykorzystywanych na diagramie implementacyjnym:

  • reguła uruchamiające w danym kroku na wejściu lub wyjściu,
  • ustawienia pól różnicujące widoczności poszczególnych pól na formularzu, w zależności od roli pełnionej przez użytkownika,
  • komunikacja z systemem zewnętrzne poprzez interfejs on-line,
  • reguła uzależniająca zakres wyświetlanych na formularzu pól od wartości wpisanej w konkretne pole formularza,
  • akcja polegająca na wysłaniu wiadomości po wystąpieniu określonego zdarzenia,
  • generowanie dokumentu PDF,
  • … i wiele, wiele innych.

Reguły w systemie Ferryt mogą być tworzone na trzy sposoby:

  • w edytorze podstawowym,
  • w edytorze zaawansowanym,
  • w edytorze uproszczonym.

Praca w edytorze podstawowym przypomina nieco tworzenie formuł w Excel’u. Edytor uproszczony umożliwia pisanie formuł z wykorzystaniem w ograniczonym zakresie skryptu C# (tworzenie warunków, definiowanie akcji w przypadku niespełnienia warunków oraz definiowanie akcji w przypadku spełnienia warunków). Natomiast edytor zaawansowany daje nieograniczone możliwości tworzenia kodu C#.
Podkreślić należy, że edytory są kontekstowe (wartości podpowiadają się po rozpoczęciu wprowadzania znaków), a poszczególne elementy formuł są logicznie pogrupowane (łącznie z grupą najczęściej używanych elementów). Zgodnie ze stosowaną w systemie zasadą reużywalności stworzona reguła może być ponownie użyta w identycznej postaci na potrzeby innego procesu lub może być wykorzystana jako punkt wyjścia w tworzeniu kolejnej reguły.

W kontekście doświadczeń użytkownika będącego wykonawcą automatyzowanego procesu kluczowym elementem jest wygląd i ergonomia ekranów i formularzy, które są dla niego widoczne podczas pracy. Z tego powodu w nowej wersji systemu Ferryt bardzo duży nacisk został położony na szerokie możliwości i elastyczność tworzenia tych elementów aplikacji. Edytor ekranów i formularzy umożliwia pracę projektanta w trybie WYSIWYG (What You See Is What You Get). Poszczególne elementy ekranu / formularza są na nim umieszczane poprzez mechanizm drag and drop. Biblioteka elementów do wykorzystania jest bardzo zasobna. Dodatkowo system umożliwia umieszczanie na projektowanych ekranach i wnioskach elementów stworzonych przez klienta, a wspierana architektura stron TPA zapewnia spójność wyglądu z obowiązującymi w identyfikacji wizualnej klienta stylami.

Podczas projektowania można płynnie przechodzić do trybu runtime, aby na bieżąco weryfikować wygląd ekranu / formularza. Oczywiście edytor umożliwia projektowanie odrębnych widoków dla trybu pełnoekranowego, dla tabletów i dla smartfonów.

Po zaprojektowaniu przebiegu procesu, zachowania się systemu w poszczególnych krokach, stworzeniu ekranów i formularzy następuje kompilacja i proces jest gotowy do przetestowania i uruchomienia.

Po kompilacji i uruchomieniu, z perspektywy użytkownika realizującego proces jest on widoczny jako konkretne zadania do wykonania. W tym miejscu projektanci również zadbali o ergonomię pracy, dlatego na ekranie początkowym, poza listą zadań do wykonania dostępne są spersonalizowane widgety oraz skróty ułatwiające uruchomienie najpotrzebniejszych funkcji.

Ciekawą funkcjonalnością jest możliwość komunikacji między użytkownikami. Komentarze wykorzystywane mogą być do wymiany informacji dotyczących konkretnego przebiegu procesu oraz do rozwiązywania problemów napotykanych przez mniej doświadczonych użytkowników. Możliwą opcją wykorzystania komentarzy jest zgłaszanie przy ich użyciu pomysłów na usprawniania w procesie.

Ferryt daje szeroką gamę możliwości monitorowania realizowanych procesów. Właściciele procesów lub osoby zarządzające poszczególnymi zespołami mają do dyspozycji dashboardy zawierające informacje o bieżących wartościach zdefiniowanych dla procesów mierników. Użytkownicy z odpowiednimi uprawnieniami mogą prześledzić konkretną instancję (przebieg) procesu – zweryfikować czasy realizacji poszczególnych kroków, czy sprawdzić bieżący status przebiegu procesu.

Bardzo ciekawą opcją weryfikacji kondycji procesów będzie tzw. heat mapa, która w tej chwili jest dostępna w wersji testowej systemu. Jest to wizualizacja obciążenia procesu zobrazowana diagramem z nałożoną warstwą kolorów, które obrazują kroki procesu, przez które przepływa najwięcej instancji oraz czasy realizacji. Jest to doskonałe narzędzie do identyfikacji wąskich gardeł procesu.

Nowa wersja Ferryt to także nowe możliwości w diagnostyce i analizie incydentów związanych z procesami. Analityk zarządzający procesami ma do dyspozycji nowe moduły i funkcjonalności (tracker i debbuger), które pozwalają mu  w szybki sposób znajdować te miejsca w procesie, które nie są wykonane optymalnie i wymagają korekty.

Ogólne wrażenia

Bez wątpienia projektanci nowej wersji systemu Ferryt wsłuchali się w potrzeby użytkowników w kontekście ergonomii systemu. Układ poszczególnych widoków, dostępność potrzebnych funkcjonalności i sposób ich wywoływania sprawiają, że praca z systemem jest intuicyjna. Architektura rozwiązania oraz zastosowane standardy i technologie sprawiają, że system jest otwarty, elastyczny i łatwy w dostosowaniu do potrzeb klienta.

Poza podstawowymi efektywnościowymi korzyściami płynącymi z automatyzacji i standaryzacji procesów klienci mogą spodziewać się o wiele większej transparentności procesów.

Więcej o nowej generacji platformy Ferryt przeczytasz TUTAJ.