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