Systemy przepływu pracy (workflow)
Definicja Workflow (w języku polskim określany jako przepływ pracy) jest to zautomatyzowany w całości lub części proces biznesowy, w trakcie którego dokumenty, informacje lub zadania są przekazywane pomiędzy uczestnikami procesu w celu umożliwienia wykonania czynności w sposób zgodny ze zdefiniowanymi regułami 2
System workflow (Workflow management system) (przepływ pracy) System umożliwiający za pomocą oprogramowania tworzenie definicji procesów oraz zarządzanie wykonywaniem procesów, uruchomionych na jednym lub wielu silnikach przepływu pracy Potrafi interpretować definicje procesów, komunikować się z uczestnikami przepływu pracy oraz, tam gdzie jest to wymagane, wywoływać inne aplikacje 3
Cechy współczesnych systemów przepływu pracy Duża złożoność systemu System rozproszony oparty o usługi sieciowe (ang. Web Services) Duże nakłady na wdrożenie i utrzymanie systemu Konieczność współpracy informatyków, analityków i specjalistów dziedzinowych 4
Najważniejsze standardy Organizacja WfMC Słownik pojęć Model referencyjny Workflow XPDL (XML Process Definition Language) język zapisu i wymiany definicji procesów biznesowych Organizacja OMG BPMN (Business Process Model Notation) graficzna notacja służąca do opisywania procesu biznesowego Organizacja OASIS BPEL (Business Process Execution Language) język wykonywalny procesów biznesowych zorientowanych na usługi sieciowe (ang. Web Services) 5
Słownik pojęć 6
Workflow Reference Model Opisuje standardy funkcjonowania systemów przepływu pracy oraz obrazuje jak standardy dopasowują się do siebie Wszystkie systemy przepływu pracy zawierają pewną liczbę standardowych komponentów, które oddziaływują na siebie na kilka różnych sposobów Model referencyjny opracowany przez WfMC jest próbą generalizacji, wyszukania i uzgodnienia wspólnych cech systemów przepływu pracy. 7
8
Model referencyjny systemu przepływu pracy (Workflow) Process Definition T ools Interface 1 Administration & Monitoring Tools Interface 5 Workflow API and Interchange formats Workflow Enactment Service Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 2 Interface 3 Workflow Client Applications Invoked Applications 9
Model referencyjny systemu przepływu pracy (Workflow) 10
Mechanizm workflow (Workflow Engine(s)) Interpretacja procesu definicji Kontrola przebiegu procesu: tworzenie, aktywacja, zawieszenie, zakończenie, itp. Nawigacja pomiędzy czynnościami procesu, która może zawierać w sobie działanie sekwencyjne bądź równoległe, krytyczny termin realizacji, interpretację istotnych danych dotyczących procesu Statyczne i dynamiczne przypisywanie zadań do uczestników procesu Wywoływanie zewnętrznych aplikacji 11
Schemat przejść stanów dla procesu 12
Podstawowe rodzaje stanów Zainicjowany (Initiated) instancja procesu została utworzona i zawiera powiązane z procesem dane; nie są jednak spełnione warunki uruchomienia procesu Wykonywany (Running) instancja procesu została uruchomiona proces jest gotowy do uruchomienia którejś z czynności Aktywny (Active) jedna lub więcej czynności jest uruchomiona; zadania zostały przydzielone do wykonawców; wykonawcy mogą lub już wykonują swoje zadania Zawieszony (Suspended) wykonywanie procesu zostało wstrzymane; czynności nie są uruchamiane dopóki proces nie wróci do stanu wykonywany poprzez polecenie wznowienia 13
Podstawowe rodzaje stanów Zakończony sukcesem (Completed) - proces spełnił warunki dla zakończenia; po wykonaniu końcowych operacji zapisu danych do dziennika oraz różnych statystyk instancja procesu zostanie zniszczona Zakończony przerwaniem (Terminated) wykonywanie procesu zostało przerwane; po wykonaniu końcowych operacji zapisu danych do dziennika oraz różnych statystyk instancja procesu zostanie zniszczona 14
Schemat przejść stanów dla czynności 15
Podstawowe rodzaje przejść stanów dla czynności Nieaktywna (Inactive) instancja czynność została utworzona, ale nie jest aktywowana, ponieważ nie zostały spełnione warunki wejściowe Aktywna (Active) instancja czynności została aktywowana (uruchomiona); zadania zostały przydzielone; wykonawcy mogą lub już wykonują swoje zadania Zawieszona (Suspended) wykonywanie czynności zostało wstrzymane; czynność będzie przebywać w tym stanie dopóki nie zostanie jawnie wznowiona; Zakończona z sukcesem (Completed) wykonanie czynności zakończyło się sukcesem; wszystkie warunki zakończenia czynności zostały spełnione 16
Workflow Definition Interchange (Interface 1) 17
Workflow Definition Interchange (Interface 1) Definicja meta-modelu zdolnego wyrazić obiekty, atrybuty i związki występujące w definicji procesu Specyfikacja interfejsu pomiędzy silnikiem przepływu pracy a narzędziami służącymi do definiowania procesów i przechowywania definicji procesów 18
Meta-model procesu 19
Definicja obiektów i ich atrybutów Definicja typu workflow (Workflow Type Definition) Nazwa procesu Numer wersji Warunki uruchomienia i zakończenia procesu Ochrona, kontrola danych źródłowych Czynność (Activity) Nazwa czynności Typ czynności Warunki uruchomienia i zakończenia czynności Inne ograniczenia Przejście warunkowe (Transition Conditions) Warunki przepływu i wykonania 20
Definicja obiektów i ich atrybutów Powiązane dane (Workflow relevant data) Nazwa danych i ścieżka dostępu Typy danych Rola (Role) Nazwa oraz istota organizacyjna Wywoływana aplikacja (Invoked Application) Podstawowa nazwa i typ Parametry wykonania Lokalizacja i ścieżka dostępu 21
Interfejs do narzędzi definiowania i składowania procesów Nawiązywanie połączenia (sesji) pomiędzy komponentami Pobieranie listy dostępnych definicji procesu Pobieranie konkretnej definicji procesu w celu uruchomienia lub edycji Tworzenie, pobieranie, usuwanie i edycja obiektów wchodzących w skład definicji procesu Tworzenie, pobieranie, usuwanie i edycja atrybutów obiektów wchodzących w skład definicji procesu 22
Workflow Client Application Interface (Interface 2) 23
Interfejs aplikacji klienta Funkcje statusu procesu (Process Status Functions). pobieranie i wyszukiwanie instancji procesu lub czynności wg określonych kryteriów filtrowania (lub bez) Funkcje obsługiwania listy zadań/obiektów (Worklist/Workitem Handling Functions). Pobieranie i wyszukiwanie przypisanych zadań wg określonych kryteriów filtrowania (lub bez) pobieranie powiadomień o otrzymaniu zadania 24
Interfejs aplikacji klienta Funkcje nadzorcze procesu (Process Supervisory Functions) zmiana stanu całej instancji procesu lub czynności (zatrzymanie, wznowienie) zakończenie wybranej instancji procesu Funkcje obsługiwania danych (Data Handling Functions) wyszukiwanie / odzyskiwanie istotnych danych dot. procesów pracy i aplikacji 25
Invoked Applications Interface (Interface 3) 26
Funkcje interfejsu wywoływania aplikacji Założenie sesji (Session Establishment). połączenie / rozłączenie sesji aplikacji lub agenta aplikacji Funkcje zarządzania czynnością (Activity Management Functions) silnik workflow -> aplikacja rozpoczęcie czynności zawieszenie / wznowienie / przerwanie czynności aplikacja -> silnik workflow zawiadomienie o zakończeniu czynności Funkcje obsługiwania danych (Data Handling Functions) Przekazanie i odbiór danych z zewnętrznej aplikacji 27
Workflow Interoperability (Interface 4) 28
Interfejs interoperatywności Interoperatywność to zdolność współpracy dwóch lub więcej silników workflow podczas wykonywania procesu Wyróżnia się kilka poziomów interoperatywności Kiedy dwa systemy workflow potrafią zinterpretować wspólną definicję procesu, umożliwia to obu środowiskom dzielenie definicji procesu (system workflow ma wtedy możliwość przekazania wykonania czynności lub podprocesu do innych silników workflow) Kiedy dwa systemy workflow nie posługują się wspólną definicją procesu, możliwe są alternatywne rozwiązania eksportowania szczegółów definicji procesu 29
Scenariusze interoperatywności Chained Service Nested Subprocess Peer-to-Peer Parallel Synchronized 30
Chained Service Procesy A na pewnym etapie wykonuje czynność A5, która polega na uruchomieniu procesu B Proces B wykonuje się w oddzielnym środowisku niezależnie od procesu A 31
Nested Subprocess Proces A na pewnym etapie wykonuje czynność A3, która wiąże się z uruchomieniem procesu B i oczekiwaniem na jego zakończenie Proces B wykonuje się w oddzielnym środowisku, a po jego zakończeniu sterowanie przekazywane jest do ponownie do czynności A3 32
Peer-to-Peer Dwa całkowicie niezależne systemy przepływu pracy A i B stanowią współdzieloną domenę, która pozwala na uruchomienie i nadzór nad procesem składającym się z zadań wykonywanych przez system A oraz zadań wykonywanych przez system B 33
Parallel Synchronized Procesy A i B wykonują się niezależnie od siebie w oddzielnych środowiskach. W obydwu procesach istnieją jednak czynności (A3 i B4), które są synchronizowane. 34
Elementy interfejsu interoperatywności Ustanowienie sesji Operacje wymiany definicji procesu Sterowanie procesem Funkcje zarządzania czynnościami Funkcje zarządzania danymi 35
Administration & monitoring Interface (Interface 5) 36
Interfejs administrowania i monitorowania systemu Zarządzanie użytkownikami tworzenie / usuwanie / zawieszenie / zmiana uprawnień użytkowników lub grup roboczych Zarządzanie rolami definiowanie / usuwanie / zmiany roli Zarządzanie dziennikiem zdarzeń Przeglądanie, usuwanie, drukowanie dziennika zdarzeń, logów, itp. Nadzór nad wykonywaniem procesu Zmiana stanu procesu, czynności Uaktywnianie i blokowanie procesów lub jego wersji Przerywanie procesu Przypisanie danych do procesu czynności Funkcje statusu procesów Pobieranie, wyszukiwanie instancji procesów wg określonych kryteriów 37
Procesy pracy Narzędzia do budowania systemów przepływu pracy - języki specyfikacji
Warstwy standardów Modelowanie procesów standardy definiujące sposób, w jaki poszczególne pojęcia związane z procesami biznesowymi powinny być reprezentowane na diagramach Choreografia definiuje sposób, w jaki niezależne organizacje uczestniczące w procesie biznesowym komunikują się ze sobą w trakcie wspólnego dążenia do osiągnięcia celu biznesowego Orkiestracja definiuje czynności i działania realizowane w trakcie procesu przez organizację Administracja przepływem pracy wywoływanie i monitorowanie stopnia wykonania
Warstwy standardów Rozszerzenia głównie umożliwiające definiowanie transakcji w ramach procesów Modele referencyjne gotowe definicje procesów biznesowych możliwe do wykorzystania w trakcie integracji procesów biznesowych różnych partnerów Opis usług opis funkcji realizowanych przez usługi sieciowe oraz sposobu dostępu do tych funkcji Komunikacja wymiana komunikatów, za pomocą języka XML, sposób konstrukcji komunikatów oraz zarządzania komunikacją
Język ebxml Business Process Specification Schema (BPSS) Electronic Business using extensible Markup Language jest to oparty o XML standard, którego celem jest ujednolicanie, zwiększanie bezpieczeństwa i spójności systemów typu electronic business Architektura tego standardu to unikalny zestaw pojęć, po części teoretycznych, a po części związanych z implementacją
ebxml Podstawowym założeniem ebxml jest umożliwienie współpracy za pośrednictwem Internetu wszystkim podmiotom gospodarczym, niezależnie od wielkości i położenia geograficznego Standard bazuje na zdefiniowanych rejestrach, profilach i procesach biznesowych oraz wzorach wymienianych dokumentów, definiując protokoły i mechanizmy umożliwiające nawiązywanie i prowadzenie współpracy biznesowej
Specyfikacje ebxml ebxml Technical Architecture Specification - specyfikacja architektury technicznej ebxml Business Process Specification Schema (ebxml BPSS) - specyfikacja schematu procesu biznesowego Registry Information Model - model informacyjny rejestru ebxml Registry Services Specification(ebXML RSS) - specyfikacja usług rejestru Collaboration-Protocol Profile (ebxml CPP) and Agreement (ebxml CPA) Specification - specyfikacja profilu i umowy współpracy
ebxml EbXML został zapoczątkowany jako inicjatywa organizacji standaryzacyjnych OASIS i UN/CEFACT Schemat specyfikacji procesu biznesowego za pomocą ebxml dostarcza semantyki, elementy i własności potrzebne do określenia współpracy biznesowej ebxml oferuje wysoki poziom zgodności z różnymi standardami, wliczając w to RosettaNet PIPs, interfejsy OAGIS, SOAP, ASAP, UMM, BPEL, Wf-XML i inne. Te kwestie zgodności potwierdzają silna rekomendację do użytku ze standardami ebxml
Wf - XML <?xml version="1.0"?> <WfMessage Version= 1.0 > <WfMessageHeader> <Request ResponseRequired= Yes /> <Key>http://www.XYZcompany.com/wfprocess/foo</Key> </WfMessageHeader> <WfMessageBody> <CreateProcessInstance.Request StartImmediately= true > <ObserverKey>http://www.ABCcompany.com/wfprocessor</ObserverKey> <ContextData> <Vehicle> <VehicleType>Car</VehicleType> <Specification> <Manufacturer>Mercedes</Manufacturer> <Model>450SL</Model> </Specification> </Vehicle> <Customer>John Doe</Customer> </ContextData>
Lotus Workflow firmy IBM Architektura Lotus Workflow ustanawia relacje występujące między trzema wymiarami efektywnych procesów przepływu pracy: regułami biznesowymi, które składają się na cały przebieg procesu, strukturą organizacyjną przedsiębiorstwa, osobami lub grupami osób, które są związane z poszczególnymi etapami procesu biznesowego, informacją, która jest wymieniana pomiędzy etapami procesu biznesowego.
Lotus Workflow Architect Graficzne narzędzie, umożliwiające projektantom systemów szybkie projektowanie procesów przepływu pracy, bez konieczności programowania Wszystkie etapy projektowanych procesów widoczne są w jednym oknie narzędzia, co pozwala projektantom łatwo modyfikować lub zmieniać ich wyznaczniki Z poziomu Lotus Workflow Architect bardzo prosto aktywuje się zaprojektowany lub zmodyfikowany proces
Engine Na system Lotus Workflow składa się kilka baz dokumentów Notes, które wykonują i przechowują logikę procesu, organizację informacji, obiekty z informacjami o poszczególnych etapach procesu, przykłady zarządzania procesami, ślady audytu oraz dane zarchiwizowane Pozwala to projektantom zachowywać i powtórnie stosować logikę procesu, komponenty oraz dostosowywanie obiektów pomocniczych Notes i Domino wraz z narzędziami programującymi, z Domino Designer włącznie
Viewer Pozwala użytkownikom śledzić stan aktualnie wykonywanego zadania w procesie przepływu pracy
Lotus Workflow - bazy danych Process Definition - przechowuje kolejne etapy procesu, ich sekwencje oraz reguły warunkowe przebiegu procesu, Organization Directory pozwala, między innymi definiować, grupować w tzw. departamenty lub grupy użytkowników procesu, Design Repository przechowuje informacje na temat projektu procesu workflow, Application Database centralne miejsce pracy z zadaniami w procesie. Użytkownicy, którzy biorą udział w procesie korzystają jedynie z tej bazy dokumentów. W niej znajdują się wszystkie dokumenty związane z zadaniami w procesie, wszelkie informacje na temat ich stanu
Lotus Workflow - zalety Dostarcza elastycznej platformy dla automatyzowania, poprawiania i zarządzania skomplikowanymi procesami biznesowymi Poszerza rodzinne wydajności przepływu procesów pracy oprogramowania Lotus Domino i jest łatwy w użyciu; Czyni łatwiejszym dokumentowanie i udoskonalanie procesów biznesowych, które zmieniają się w zależności od potrzeb organizacji Ręczne procesy mogą być wykonane szybciej i konsekwentnie, z mniejszą ilością błędów, ponieważ poszczególne kroki są jasno zdefiniowane i udokumentowane
Lotus Workflow - zalety Umożliwia użytkownikowi użycie sieci internetowej do obsługi procesów biznesowych, co zaoszczędza czas oraz poprawia wydajność pracownika Pozwala przechowywać i zarządzać dokumentami z oprogramowania Lotus Domino, które pozwala szybko i skutecznie doręczać je w określone miejsce Pozwala uczestnikom zobaczyć ich zadania robocze jako część schematu blokowego danego przepływu tak, że mogą oni sprawnie i szybko sprawdzić status i kontekst obecnie wykonywanego zadania Dostarcza umiejętności załączania plików podczas łączenia się aplikacji Lotus Workflow z przeglądarką internetową
IBM Lotus Notes Łączy w sobie funkcje klasy korporacyjnej do przesyłania wiadomości, obsługi kalendarzy i planowania z platformą dla aplikacji do pracy grupowej Pozwala integrować najcenniejsze zasoby informacji oraz obsługę poczty elektronicznej, kalendarzy i planowania, dziennika, list zadań, stron WWW i baz danych w ramach sprawdzonego, niezawodnego środowiska przesyłania wiadomości.
Aplikacje kompozytowe
Tworzenie, edycja i współużytkowanie dokumentów w edytorze tekstu
Tworzenie i prowadzenie prezentacji
Tworzenie arkuszy kalkulacyjnych i analizowanie danych liczbowych
Poczta elektroniczna
Kalendarz
Zarządzanie kalendarzem
Lotus Domino Designer Środowisko do tworzenia aplikacji biznesowych Wspiera obsługę stron WWW, projektowanie, daje możliwość dostępu do relacyjnych baz danych, tworzenia skryptów dla klienta lub po stronie serwera Domino Designer oferuje takie usługi jak: edytor HTML'a w technologii WYSIWYG, page designer, narzędzia do tworzenia wyglądu i projektowania nawigacji dla serwisu WWW Aplikacje można "oprogramować" w wykonywalne skrypty tworzone w języku Java lub wewnętrznym języku Lotusa tzw. Lotus Script
Panel programisty
Koniec 65