760 likes | 1.05k Views
Modelowanie procesów biznesowych. Przepływy pracy. Definicja.
E N D
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).
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.
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)
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
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
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).
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).
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
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> </CreateProcessInstance.Request> </WfMessageBody> </WfMessage>