Workflow
Transkrypt
Workflow
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 Interface 5 Workflow API and Interchange formats Interface 4 Other Workflow Enactment Service(s) Workflow Enactment Service Administration & Monitoring Tools Workflow Engine(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