Transcript workflow
Modelowanie procesów biznesowych Przepływy pracy 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 Proces biznesowy (Bussines Process) • Jedna lub wiele powiązanych procedur lub czynności, które wspólnie służą realizacji celu biznesowego, zwykle wykonywanych w ramach struktury organizacyjnej określającej role uczestników procesu i powiązania pomiędzy rolami • Proces może być zawarty w obrębie pojedynczej jednostki organizacyjnej lub może obejmować wiele różnych organizacji, jak w przypadku relacji klient-dostawca • Proces biznesowy może składać się z czynności zautomatyzowanych i/lub czynności wykonywanych ręcznie, które leżą poza zakresem zastosowania systemu zarządzania przepływem pracy Definicja procesu (Process Definition) • Taka forma prezentacji procesu biznesowego, która umożliwia zautomatyzowane przetwarzanie, takie jak modelowanie czy wykonywanie procesu przez system zarządzania przepływem pracy • Składa się z sieci czynności i powiązań między nimi, kryteriów rozpoczęcia oraz zakończenia procesu i informacji na temat poszczególnych czynności, takich jak wykonawcy czynności czy powiązane z czynnościami aplikacje i dane • Może zawierać odwołania do podprocesów zdefiniowanych oddzielnie ale będących jej częścią • Może zawierać oba rodzaje czynności: ręczne i zautomatyzowane. • Może odwoływać się do odrębnej organizacji lub modelu zasobów, w celu pośredniego zdefiniowania użytkowników procesu, odwołując się na przykład do cech takich jak stanowisko Instancja procesu (Process Instances) • Reprezentacja jednego pojedynczego uruchomienia procesu lub czynności należącej do procesu wraz z przekazaniem powiązanych z nią danych • Każda instancja jest obrazem oddzielnego wątku wykonywania procesu lub czynności, który może być sterowany niezależnie • Dla każdej instancji przypisany jest wewnętrzny stan i widziany z zewnątrz identyfikator, dzięki któremu można na przykład odczytywać dane umożliwiające obserwacje przebiegu procesu Czynność (Activity) • Opis części pracy, którą można przedstawić jako logiczny krok w trakcie procesu • Czynność może być wykonywana ręcznie (manual activity), nie jest wtedy zautomatyzowana, lub automatycznie (automated activity) • Tam gdzie wymagane są zasoby ludzkie, czynność przydzielana jest uczestnikowi przepływu pracy • Uczestnik przepływu pracy to zasób wykonujący część pracy odpowiadający czynności Instancja czynności (Activity Instances) • Zawiera „element pracy” (żądanie przydzielone uczestnikowi przepływu pracy) i/lub wywoływane aplikacje (narzędzia informatyczne umożliwiające wykonanie czynności) System workflow (Workflow management system) (przepływ pracy) • System umożliwiający za pomocą oprogramowania tworzenie definicji procesów oraz zarządzanie wykonywaniem instrukcji 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 Organizacje standaryzacyjne • WfMC (Workflow Management Coalition) • OASIS (Organization for the Advancement of Structured Infomation Standards) • BPMI (Business Process Management Initiative) • OMG (Object Management Group) • W3C (World Wide Web Consortium) • OAGI (Open Applications Group) 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ływają wzajemnie na siebie na kilka określonych sposobów • Różne produkty mogą wykazywać inne poziomy umiejętności w ramach każdego z komponentów Workflow Reference Model • Konieczne jest osiągnięcie współoperatywności produktów workflow, interfejsów i wymiennych formatów danych z każdym z komponentów z osobna • Odrębne scenariusze współpracy mogą być utworzone poprzez odwołanie do poszczególnych interfejsów, identyfikację różnych poziomów zgodności funkcjonalności – odpowiednio do zakresu produktów Interfejs otaczający środki realizacji procesów pracy (Workflow Enactment Service) • Interfejs programowania aplikacji (Application Programming Interface – API) i wymienne formaty (Interchange formats) • WAPI można rozpatrywać jako ujednolicony interfejs obsługi, którego zadaniem jest wspierać zarządzanie funkcjami systemu przepływu pracy w pięciu funkcjonalnych obszarach • Środek realizacji procesów pracy (Workflow Enactment Service) może składać się z jednego lub kilku mechanizmów procesów pracy (Workflow Engine(s)) Mechanizm workflow (Workflow Engine(s)) • Interpretacja procesu definicji • Kontrola przebiegu procesu: tworzenie, aktywacja, zawieszenie, zakończenie, itp. • Nnawigacja 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 • Dopisywanie i wypisywanie określonych uczestników procesu • Zapewnienie użytkownikowi identyfikacji elementów systemu przepływu pracy • Interfejs wywoływania zewnętrznych aplikacji i łącze do istotnych danych procesu Środki realizacji procesów pracy (Workflow Enactment Service) • swego rodzaju maszyna „przejść stanów”, gdzie indywidualny proces lub czynność przypadków zmienia stan w odpowiedzi na zewnętrzne zdarzenia (ukończenie czynności) lub decyzje kontroli, podjęte przez mechanizm workflow (nawigacja do kolejnego kroku czynności w procesie). Schemat przejść stanów dla procesu Podstawowe rodzaje stanów • • • • Zainicjowany (Initiated) – stadium procesu, który został utworzony i zawiera powiązane ze stanem procesu dane, ale dalej nie może wypełnić warunków, które muszą zostać spełnione aby proces został uruchomiony Wykonywany (Running) – stadium procesu, który ma rozpoczęte wykonywanie i jest gotowy do uruchomienia którejś z czynności Aktywny (Active) – stadium procesu, w którym jedna lub więcej czynności jest uruchomiona Zawieszony (Suspended) – proces jest w stanie spoczynku, a czynności nie są uruchamiane dopóki proces nie wróci do stanu „wykonywany” (poprzez wznowienie polecenia) Podstawowe rodzaje stanów • • Kompletny (Completed) - proces spełnił warunki dla zakończenia (wszelkie testy wewnętrzne dla zakończenia procesu jak kontrola danych czy statystyk zostaną wykonane i instancja procesu zostanie zniszczona). Zakończony (Terminated) – realizacja procesu jest wstrzymana przed jego prawidłowym zakończeniem, z powodu nieprawidłowego przebiegu jego operacji wewnętrznych takich jak: błąd rejestracji lub rejestracja odzyskania danych. Po ich wykonaniu instancja procesu zostaje zniszczona. Schemat przejść stanów dla czynności Podstawowe rodzaje przejść stanów dla czynności • • • • Nieaktywna (Inactive) – czynność wewnątrz procesu, która została utworzona ale nie jest jeszcze aktywna (ponieważ warunki wejścia nie zostały jeszcze spełnione) i nie ma elementu działania dla przetwarzania Aktywna (Active) – element działania został utworzony i przydzielony dla czynności w celu jej przetwarzania Zawieszona (Suspended) – czynność znajduje się w spoczynku, a element działania nie zostanie przydzielony dopóki czynność nie powróci do stanu nieaktywności Kompletna (Completed) – wykonanie czynności zakończyło się (wszystkie warunki zakończenia czynności zostaną oszacowane) Workflow Definition Interchange (Interface 1) Standardowy interfejs pomiędzy definicją procesu, narzędziami do modelowania a mechanizmem workflow • Sprzężenie pomiędzy modelowaniem a zdefiniowaniem narzędzi oraz czasem uruchamiania oprogramowania do zarządzania przepływami pracy jest wyrażone definicją procesu importu/eksportu interfejsu • Naturą interfejsu jest wymienny format oraz wywołania API, które mogą wspierać wymianę informacji zawartych w definicji procesu pomiędzy fizycznymi i elektronicznymi środkami przekazu Podstawowy proces definicji meta – modelu 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 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 Workflow Client Application Interface Interfejs aplikacji klienta • Interfejs pomiędzy aplikacją klienta workflow a silnikiem workflow musi być wystarczająco elastyczny pod względem użycia go w: – – – – identyfikatorach procesu i czynności nazwach i adresach zasobów danych referencyjnych i danych strukturalnych Aaternatywnych mechanizmach komunikowania • Aby warunek elastyczności mógł być spełniony interfejs ten musi zawierać standardowy zespół API, który łączy ze sobą aplikacje przepływu pracy, silnik workflow i listę prac, bez względu na naturę wdrażanego aktualnie obiektu Komendy (polecenia) API dostępne dla aplikacji klienta • Założenie sesji (Session Establishment). – • Operacje definicji przepływu pracy (Workflow Definition Operations). – • połączenie / rozłączenie sesji pomiędzy uczestniczącymi systemami funkcje wyszukiwania / zapytania (przy optymalnych kryteriach selekcji) o nazwy i atrybuty w definicji procesu Funkcje kontroli procesu (Process Control Functions). – – – – tworzenie / uruchomienie / zakończenie indywidualnej instancji procesu zawieszenie / wznowienie indywidualnej instancji procesu wymuszenie zmiany stanu wewnątrz instancji procesu lub czynności przydzielanie lub kwestionowanie atrybutu (cechy) instancji procesu lub czynności (np. priorytet) Komendy (polecenia) API dostępne dla aplikacji klienta • Funkcje statusu procesu (Process Status Functions). – – • otwieranie / zamykanie zapytań instancji procesu lub czynności, ustawianie kryterium filtrowania pobieranie szczegółów instancji procesu lub czynności wg określonych kryteriów filtrowania Funkcje obsługiwania listy zadań/obiektów (Worklist/Workitem Handling Functions). – – – – otwieranie / zamykanie zapytań listy zadań, ustawianie kryterium filtrowania pobieranie pozycji z listy zadań zawiadomienie o wyborze / przydzieleniu / ukończeniu pozycji listy zadań przypisanie lub zapytanie o cechę pozycji pracy Komendy (polecenia) API dostępne dla aplikacji klienta • Funkcje nadzorcze procesu (Process Supervisory Functions) – – – – • Funkcje obsługiwania danych (Data Handling Functions) – • zmienianie statusu operacyjnego definicji procesu przepływu pracy zmienianie stanu całej instancji procesu lub czynności wyznaczanie atrybutów dla całej instancji procesu lub czynności zakończenie całej instancji procesu wyszukiwanie / odzyskiwanie istotnych danych dot. procesów pracy i aplikacji Funkcje administracyjne (Administration Functions). Invoked Applications Interface Funkcje interfejsu wywoływania aplikacji • Założenie sesji (Session Establishment). – • • Funkcje zarządzania czynnością (Activity Management Functions) (silnik workflow -> aplikacja) – – • rozpoczęcie czynności (silnik workflow dla aplikacji); zawieszenie / wznowienie / przerwanie czynności (aplikacja -> silnik workflow) – – – • połączenie / rozłączenie sesji aplikacji lub agenta aplikacji; zawiadomienie o zakończeniu czynności; zdarzenie sygnału (np. synchronizacja); zapytanie atrybutów czynności; Funkcje obsługiwania danych (Data Handling Functions). WAPI Interoperability Functions Interfejs współoperatywności procesów pracy • Kiedy oba środki realizacji procesów pracy potrafią zinterpretować wspólną definicję procesu, umożliwia to obu środowiskom dzielenie pojedynczego widoku obiektów definicji procesu i ich atrybutów • Pojedynczy mechanizm workflow ma wtedy możliwość przekazania wykonania czynności lub podprocesu do niekompatybilnych, innych silników workflow • Kiedy dzielony widok procesu definicji jest niewykonalny, możliwe jest alternatywne rozwiązania eksportowania szczegółów definicji procesu Interfejs współoperatywności procesów pracy • W momencie uruchamiania, wywołania WAPI są używane do przekazywania kontroli pomiędzy środkami realizacji przepływu pracy • Żądanie widoku obiektów i ich atrybutów jest również możliwe dzięki definicji procesu wymiany API • Po uzyskaniu istotnych danych, silnik workflow jest w stanie wykonać przypisaną w nich czynność lub podproces w środowisku współpracy z środkiem realizacji procesu. Interfejs współoperatywności procesów pracy • Kiedy wymiana definicji procesu jest niewykonalna, pomost dostępu jest ograniczony • W takiej sytuacji nazwy obiektów i ich atrybutów są odwzorowywane pomiędzy dwoma środowiskami poprzez pomost współpracy aplikacji (Gateway Application) • Wywołania WAPI mogą być używane do konstruowania funkcji pomostu, poprzez odwzorowanie odmiennego obiektu i widoków danych pomiędzy dwoma środowiskami i kiedy to konieczne wspieranie protokołu odmiennego środowiska wewnątrz każdej usługi workflow Operacja Gateway przy użyciu WAPI Administration & monitoring Interface Interfejs administrowania i monitorowania systemu • Pozwala jednej aplikacji zarządzać pracą z różnymi mechanizmami workflow • Interfejs umożliwia wielu usługom systemu przepływu pracy dzielenie obszaru wspólnych funkcji administrowania i monitorowania systemu • Interfejs daje możliwość kompletnego widoku statusu przepływu pracy przez organizację • Pozwala na prezentowanie wyczerpującego zestawu funkcji do administrowania, w których skład wchodzą funkcje kontroli, bezpieczeństwa i autoryzacji • Interfejs zawiera polecenia wewnątrz zestawu WAPI do manipulowania zaprojektowanymi funkcjami 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