ARCHITEKTURA I FUNKCJE APLIKACJI WORKFLOW ZGODNIE ZE STANDARDAMI KOALICJI WFMC (WORKFLOW MANAGEMENT COALITION) Streszczenie Monika Sitarska Akademia Ekonomiczna im. O. Langego we Wrocławiu Katedra InŜynierii Systemów Informatycznych Zarządzania msitarska@bsd..ae.wroc.pl Podstawowym tematem omawianym w niniejszym referacie jest architektura i funkcjonalność systemów typu Workflow. Standardy zaprezentowane w tekście odpowiadają wyznacznikom zaproponowanym przez koalicję WfMC. Omówione zostały równieŝ podsystemy takie jak System Zarządzania Procesami Workflow, modelery definiujące procesy oraz elementy składowe typu działanie i instancja procesu. Słowa kluczowe: System Zarządzania Procesami Workflow (Workflow Management System), Modelery definiujące procesy (Process Definition Tool), działanie, istancja Wstęp Wymiana róŝnorodnych informacji pomiędzy pracownikami firmy oraz współpraca z jednostkami zewnętrznymi to kluczowe elementy działania typowego przedsiębiorstwa. Problemem, na jaki napotykają popularne systemy zarządzania pracą jest to, Ŝe reguły, według których odbywa się wspomniana wymiana informacji ulegają ciągłym zmianom. Działanie Workflow oparte jest na rozszerzalnej architekturze sterowanej procesami. System umoŝliwia przekazywanie dowolnych typów informacji, zarówno pomiędzy pracownikami przedsiębiorstwa, jak i na zewnątrz. W przeciwieństwie do innych systemów organizacji pracy, które ograniczają się do przesyłania informacji pomiędzy uŝytkownikami i wymuszania pewnych czynności zatwierdzających, Workflow umoŝliwia modelowanie złoŝonych procesów, jakie zachodzą w biznesie. Przy pomocy tego narzędzia moŝna definiować procesy, które wykonują się w pętli, rozgałęziają się na działania przebiegające równolegle, spotykają się, dekomponują się na procesy podrzędne, rozdzielają w zaleŝności od rezultatów określonego działania i wygasają.
128 Teoretyczne podstawy tworzenia SWO i strategie budowy e-biznesu W zakresie integracji systemów, Worflow pozwala definiować zdarzenia, których wystąpienie decyduje o uruchomieniu pewnych czynności, czy przesłaniu komunikatów pomiędzy określonymi aplikacjami. Komunikacja będąca skutkiem tych działań moŝe zostać nawiązana pomiędzy aplikacjami pracującymi w przedsiębiorstwie. Integracji mogą podlegać równieŝ pracownicy firmy, bądź grupy pracowników (na przykład działy przedsiębiorstwa), a takŝe osoby współpracujące (dostawcy, odbiorcy, potencjalni klienci). Oni równieŝ są automatycznie powiadamiani o wystąpieniu określonych zdarzeń zdefiniowanych w systemie. Grupy uczestników procesów Workflow zaprezentowane są na rysunku poni- Ŝej: Rys. 1. Uczestnicy procesów Workflow Źródło: opracowanie własne na podstawie (www.wfmc.org) 1. Architektura rozwiązania Ogólny model architektury rozwiązania według standardu koalicji WfMC zaprezentowany jest na schemacie poniŝej. Punktem wyjścia jest określenie procesu biznesowego, który ma być obsługiwany przez aplikację. Następnie w narzędziach przeznaczonych do modelowania następuje definiowanie procesu w rozbiciu na poszczególne działania zgodnie ze standardem rozumianym przez system zarządzania procesami Workflow. Po zdefiniowaniu procesu system ten odpowiedzialny jest za prawidłowy przebieg procesu oraz za zarządzanie instancjami procesu i monitowanie o etapach jego przebiegu.
Architektura i funkcje aplikacji workflow zgodnie ze standardam... 129 Rys. 2. Architektura systemu Workflow Źródło: opracowanie własne na podstawie (www.wfmc.org) Szczegółowo poszczególne elementy architektury zostały omówione poniŝej: 1. System Zarządzania Procesami Workflow (Workflow Management System) Jest to system, który definiuje, tworzy i zarządza realizacją procesu workflow przez wykorzystanie do tego odpowiedniego oprogramowania (Workflow Engine), które potrafi zinterpretować definicję procesu zamodelowaną w modelerze a następnie zainicjować działanie procesu workflow, który moŝe równieŝ obejmować komunikację z innymi aplikacjami zewnętrznymi. Automatyzacja procesu biznesowego jest determinowana przez definiowanie procesu, które identyfikuje działania, zasady i procedury oraz powiązane dane. System zarządzania procesami Workflow składa się z trzech komponentów: Komponenty software, które zapewniają wsparcie róŝnych funkcji realizowanych przez system (ciemnoszare wypełnienie), RóŜnego typu dane systemowe i metadane (definicje danych), które są wykorzystywane przez róŝne komponenty oprogramowania, Aplikacje zewnętrzne i dane tych aplikacji (wypełnienie szare), które nie są częścią systemu WF, ale realizują jakieś fragmenty procesu. Na rysunku poniŝej zaprezentowany został schemat architektury systemu zarządzania procesami workflow:
130 Teoretyczne podstawy tworzenia SWO i strategie budowy e-biznesu Modelery procesów generuje transfer modeli Definicja procesu odwolanie Metadane ról organizacyjnych WF Engine zachowuje Dane kontrolne WF odwoływanie się do Aplikacje zewnetrzne administracja i kontrola Lista zadañ uŝywa Dane przechowywane przez WF dane aplikacji zewnetrznych interakcja przez Administrator Zarzadzanie zadaniami w ramach procesu odwoływanie sie do Aplikacje zewnetrzne Interfejs uzytkownika Rys. 3. Architektura Systemu Zarządzania Procesami Workflow Źródło: Opracowanie własne na podstawie (www.wfmc.org) 2. Modelery definiujące procesy (Process Definition Tool) Komponenty softwarowe Systemowe dane kontrolne Zewnêtrzne dane i produkty Narzędzia do definiowania procesów są wykorzystywane to prezentacji zagadnienia biznesowego w ujęciu procesowym. Mogą one bazować na formalnych językach modelowania procesów (formal process definition language), na modelach obiektów i relacji między nimi lub na prostych skryptach pisanych w konkretnym języku programowania. Konieczne jest zapewnienie wymienialności i dostępności formatów miedzy poszczególnymi uŝytkownikami. Definicja procesu składa się z pojedynczych działań (kroków) oraz relacji między nimi, definicji wyzwalaczy (trigger) procesu oraz czynników kończących proces, jak równieŝ z informacji na temat danych i aplikacji zewnętrznych biorących udział w procesie. Narzędzia te mogą być albo nierozerwalnymi częściami aplikacji WF lub mogą być aplikacjami zewnętrznymi wykorzystywanymi do modelowania i optymalizacji procesów biznesowych. W tym przypadku konieczne jest stworzenie odpowiedniego interfejsu definiującego format wymiany danych między narzędziem a aplikacją WF.
Architektura i funkcje aplikacji workflow zgodnie ze standardam... 131 Jeśli do modelowania procesów jest wykorzystywane zewnętrzne narzędzie, definicja procesu musi być transformowana do postaci zrozumiałej dla obu produktów, moŝna równieŝ utworzyć repozytorium, w którym będą składowane definicje w formie czytelnej dla obu programów. Końcowy efektem modelowania procesu i jego poszczególnych kroków jest definicja procesu, która moŝe być interpretowana w czasie rzeczywistym przez Workflow Engine. W modelu referencyjnym koalicji WfMC proces wymiany danych obsługiwany jest przez odpowiednio zdefiniowany do tego interfejs. Definiowanie procesu zawiera wszystkie konieczne informacje o procesie, które są konieczne do jego realizacji w aplikacji Workflow. W skład tych informacji wchodzą: Warunki rozpoczęcia procesu, (wyzwalacze), Warunki zakończenia procesu, Działania (activities) wchodzące w skład procesu pojedyncze zdarzenia, oraz zasady regulujące przepływy (przejścia) miedzy nimi, Zadania dla uczestników procesu, które mają zostać wykonane, Powiązania z aplikacjami zewnętrznymi, Definicje metadanych wykorzystywanych przez aplikację WF, które mogą być wykorzystywane w czasie realizacji procesu. Definicja procesu WF Nazwa: Nr wersji: Warunki startu (trigger): Warunki sto:p Dane dodatkowe: (zabazpieczająca, audytowe, kontrolne) zawiera składa się z Działanie (Activity) Dane przechowywane w systemie WF Nazwa: Typ: Stan na WE: Stan na WY: Uwagi: uŝywa Zewnętrzne aplikacje Nazwa danych: Typ danych: Role systemowe Nazwa: Typ jednostki organizacyjnej: moŝe zawierać moŝe zawierać Stan przejściowy Nazwa: Typ: Parametry wykoniania: ŚcieŜka dostepu: uŝywa Warunki wykonania: Warunki przepływu: moŝe wykorzystywać Rys. 4. Elementy definicji procesu Źródło: opracowanie własne na podstawie (www.omg.org)
132 Teoretyczne podstawy tworzenia SWO i strategie budowy e-biznesu 3. Działanie (activity) Działanie stanowi jednostkę pracy, która stanowi logiczny krok w procesie. Działanie moŝe być wykonywane ręcznie przez uŝytkownika (bez wsparcia systemu) lub automatyzowane przez system workflow. Takie działanie absorbuje zasoby ludzkie, systemowe wspierające wykonanie procesu alokowane na pojedynczym kroku procesu. Działanie moŝe być funkcją, powiadomieniem, zdarzeniem biznesowym lub podprocesem. 4. Instancja (procesu lub działnia) Jest to reprezentacja pojedynczej realizacji procesu, działania w ramach procesu zawierająca powiązane z nią dane. KaŜda instancja reprezentuje wydzieloną ścieŝkę wykonania procesu, która moŝe być niezaleŝnie kontrolowana, moŝe posiadać swój stan i reprezentację zewnętrzną. 2. Funkcje realizowane przez aplikacje workflow Z najwaŝniejszych funkcji aplikacji Workflow w ramach standardu koalicji WfMC naleŝy wymienić następujące: Odwzorowanie struktury organizacyjnej firmy - w ramach tej funkcjonalności moŝliwe jest: tworzenie komórek organizacyjnych, zaleŝności między nimi, dowiązywanie pracowników do komórek, określanie ich kompetencji oraz przypisywanie stanowisk. Rozdzielanie pracy, równoległe wykonywanie zadań - często określona praca jest dzielona na zadania, a te są wykonywane w ramach kolejnych etapów procesu pracy. Aby skrócić czas wykonywania procesu, moŝna część zadań wykonywać równolegle, przez kilka osób. Dodatkowo, w kaŝdym momencie wykonywania procesu jest moŝliwe sprawdzenie, w jakim stanie są poszczególne zadania i co zostało wykonane w ramach tych zadań. Łączenie pracy, synchronizacja wykonanych zadań - analogicznie do rozdzielania zadań potrzebne jest teŝ ich łączenie. Przy łączeniu wykonanych zadań trzeba uwzględnią, Ŝe część wykonanych prac moŝe zostać wykonana szybciej, a część z opóźnieniem - po terminie. Dodatkowo, trzeba teŝ pamiętać o odpowiednim złączeniu informacji pochodzących z róŝnych zadań. UŜytkownik wykonujący łączenie tych zadań jest informowany na bieŝąco o pojawianiu się kolejnych, wykonanych zadań. W zaleŝności od rodzaju złączenia moŝliwe jest wykonanie działań po pojawieniu się wszystkich zadań lub tylko pierwszego. Warunkowe wykonywanie etapów prac - niekiedy istnieje potrzeba, aby dany etap prac był wykonywany w zaleŝności od pewnego warunku w taki lub inny sposób. Przykładem takiej sytuacji jest akceptacja wniosku kredy-
Architektura i funkcje aplikacji workflow zgodnie ze standardam... 133 towego, który w zaleŝności od kwoty jest rozpatrywany przez młodszego lub starszego urzędnika. Warunki te mogą zaleŝeć od danych sterujących procesu oraz przetwarzanych informacji. Przypisywanie osób lub specjalizowanych aplikacji do wykonywania zadań - oprócz określenia, co i kiedy zostanie wykonane waŝne jest, aby określić, kto to ma wykonać. Zadania mogą być wykonywane przez konkretne osoby, komórki organizacyjne, dynamiczne tworzone grupy osób oraz specjalizowane aplikacje. Dodatkowo w ramach przydzielenia osób do wykonania danego etapu moŝna określić, czy etap ten będzie wykonany przez jedną osobę z grupy osób, które mogą ją wykonać, czy przez wszystkie osoby. Jest to szczególnie waŝne przy rozpatrywaniu obciąŝenia pracowników. Określanie czasu wykonywania etapu prac oraz całego procesu - w przypadku rygorystycznych ograniczeń czasowych na wykonywanie danej pracy istnieje potrzeba ścisłej kontroli czasu wykonania poszczególnych etapów pracy. WiąŜe się to takŝe z moŝliwościami natychmiastowej reakcji w przypadku, gdy określone zadanie jest opóźnione. Dodatkowo waŝne jest, aby mieć moŝliwość analizy juŝ wykonanych procesów, szczególnie w celu zwiększenia efektywności pracy. Dowiązywanie informacji do przebiegu procesu - przesyłanie grupy danych pomiędzy wykonywanymi zadaniami. Przykładem grupy danych są elektroniczne dokumenty (skanowane lub dołączane), pisma, sprawy i teczki. Wywoływanie aplikacji zewnętrznych - aby umoŝliwić wykonywanie w ramach procesu pracy nowych zadań, które w trakcie wdraŝania nie były rozpoznane. Przy rozpatrywaniu klasycznego przypadku naleŝałoby uzgodnić interfejsy pomiędzy juŝ istniejącym systemem, a aplikacją weryfikującą. Uzgodnienie interfejsu, o ile jest moŝliwe wiąŝe się najczęściej z modyfikacją juŝ istniejących systemów, a to z kolei oznacza dodatkowe koszty (por. www.rodan.pl). Na rynku dostępnych jest wiele rozwiązań z tej dziedziny, które w mniejszym lub większym stopniu odpowiadają standardom zaproponowanym przez koalicje WfMC. Istotne zmiany w projektowaniu tego typu aplikacji wprowadziła takŝe organizacja OMG (Object Management Group) opierając dotychczasowe rozwiązania w realiach obiektowych. Jednak niezaleŝnie od rozwiązań technologicznych aplikacje te w istotny sposób wpływają na usprawnienie po pierwsze w zakresie definiowania procesów biznesowych organizacji. Po drugie jednak takŝe w istotny sposób poprawiają komunikację i wymianę niezbędnych informacji zarówno wewnątrz firmy jak i na zewnątrz.
134 Teoretyczne podstawy tworzenia SWO i strategie budowy e-biznesu Literatura [WoMaOMG] Workflow Management Facility, Specification, V1.2 [WfMC-TC-1023] Workflow Management Coalition, Workflow Standard Interoperability, Wf-XML Binding, Document Number WFMC-TC-1023, Document Status Final Draft [WFMC-TC-1011] Workflow Management Coalition, Terminology & Glossary, Document Number WFMC-TC-1011, Document Status - Issue 3.0 ARCHITECTURE AND FUNCTIONALITY OF WORKFLOW APLICATION BASED ON WFMC S STANDARDS The main subject of the following paper is the architecture and functionality of the "Workflow" systems. Standards presented here are compatible with directivesproposed by the WfMC coalition. Moreover, subsystems like Workflow Management System, modellers defining processes, and components (processes' actions and instances), have been described. Key words: Workflow Management System, Process Definition Tool, activity