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
Wszystkie systemy zarządzania procesami pracy mogą być scharakteryzowane jako zapewniające wsparcie w trzech funkcjonalnych obszarach: 1) funkcje „build-time”, definiowanie i modelowanie procesu przepływu pracy i jego składowych czynności; 2) funkcje kontroli „run-time”, zarządzanie procesem przepływu pracy w środowisku operacyjnym i sekwencjonowanie rozmaitych czynności w celu wykonania jako części każdego procesu; 3) interakcje „run-time” z użytkownikami i narzędziami aplikacji IT w celu przetwarzania kolejnych kroków wykonania czynności;
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). połączenie / rozłączenie sesji pomiędzy uczestniczącymi systemami Operacje definicji przepływu pracy (Workflow Definition Operations). 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) 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 Funkcje obsługiwania danych (Data Handling Functions) 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). połączenie / rozłączenie sesji aplikacji lub agenta aplikacji; 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) 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
Narzędzia do budowania systemów przepływu pracy - języki specyfikacji 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> </CreateProcessInstance.Request> </WfMessageBody> </WfMessage>
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