Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g

Transkrypt

Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g
XVII Konferencja PLOUG
Kościelisko
Październik 2011
Automatyzacja procesów biznesowych
w środowisku Oracle BPM 11g:
zagadnienia wdrożeniowe
Maciej Zakrzewicz
Politechnika Poznańska
Streszczenie: Oracle BPM 11g jest jedną z najpopularniejszych korporacyjnych platform automatyzacji i obsługi procesów biznesowych,
opartą o koncepcję architektury zorientowanej na usługi (SOA). W skład platformy wchodzą m.in.: repozytorium BPM - baza danych
przechowująca definicje procesów biznesowych oraz stany bieżących i historycznych instancji procesów biznesowych, serwer BPM nieprzerwanie pracująca aplikacja serwerowa, która koordynuje wykonanie instancji procesów biznesowych, BPM Workspace - aplikacja
dostępna za pośrednictwem przeglądarki WWW, umożliwiająca kontakt użytkowników końcowych z instancjami procesów biznesowych
oraz realizację działań manualnych będących krokami składowymi procesów biznesowych, narzędzia Process Composer i JDeveloper służące analitykom i programistom do modelowania i implementacji nowych procesów biznesowych, narzędzie Enterprise Manager wspomagające pracę administratora systemu zarządzania procesami biznesowymi, umożliwiające obserwację stanu każdej bieżącej lub
historycznej instancji procesu biznesowego, a także diagnozowanie przyczyn ewentualnych awarii. W referacie przedstawiono architektury i funkcjonalność składników Oracle BPM 11g oraz omówiono wybrane doświadczenia z wdrażania systemów zarządzania procesami
biznesowymi opartych o Oracle BPM 11g.
Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe 131
1. Wprowadzenie
Pod pojęciem procesu biznesowego rozumie się ustrukturyzowany zestaw czynności, manualnych lub automatycznych, które służą dostarczeniu klientowi lub klientom konkretnego produktu
lub usługi. Krokami procesów biznesowych mogą być wywołania funkcji/procedur, wywołania
usług programowych, transakcje w bazach danych, wywołania podprocesów biznesowych, czynności manualne realizowane przez pracowników, itd. Procesy biznesowe są zwykle modelowane
i opisywane przy użyciu formalnych notacji graficznych, takich jak BPMN, EPC, UML, itp.
Wiele firm i instytucji dąży obecnie do automatyzacji zarządzania procesami biznesowymi,
sprawiającej, że wszystkie czynności wykonywane są we właściwej kolejności, we właściwym czasie i przez właściwe osoby. Dążenia te stały się motywacją dla rozwoju specjalizowanego rodzaju
oprogramowania, nazywanego systemem zarządzania procesami biznesowymi, traktowanego jako
spadkobiercę systemów przepływu dokumentów i systemów zarządzania przepływem pracy. System zarządzania procesami biznesowymi posługuje się dostarczonymi modelami formalnymi procesów w celu koordynacji i synchronizacji ich realizacji.
Ogólna architektura systemów zarządzania procesami biznesowymi zwykle naśladuje model referencyjny opracowany przez organizację Workflow Management Coalition (rys. 1). Zgodnie z tym
modelem, składnikami systemu zarządzania procesami biznesowymi są: (1) Process Definition Tools – narzędzia służące do formalnego modelowania procesów biznesowych z pomocą wybranej
notacji, (2) Workflow Enactment Service – platforma koordynacji i synchronizacji realizacji procesów biznesowych zgodnie z ich formalnymi modelami, (3) Invoked Applications – usługi/aplikacje
zewnętrzne, wywoływane przez Workflow Enactment Service w celu automatycznej realizacji pojedynczych kroków procesu biznesowego, (4) Client Applications – aplikacje zewnętrzne służące
do interakcji z użytkownikiem, odgrywającym rolę zarówno zleceniodawcy procesu biznesowego,
jak i realizatora pojedynczych kroków manualnych procesu biznesowego, (5) Administration &
Monitoring Tools – narzędzia administracyjne umożliwiające obserwację postępu realizacji procesów biznesowych. Opcjonalnie, komponent Workflow Enactment Service może wchodzić w interakcję z innymi, równorzędnymi, podrzędnymi lub nadrzędnymi, obcymi systemami zarządzania
procesami biznesowymi.
Rys. 1. Architektura referencyjna systemu zarządzania przepływami pracy [WFMC]
Innym istotnym nurtem technologicznym stanowiącym wyróżnik nowoczesnych korporacyjnych
systemów informatycznych jest architektura aplikacyjna zgodna z założeniami tzw. architektury
132
Maciej Zakrzewicz
zorientowanej na usługi. Zakłada ona modularność systemów, polegającą na implementacji logiki
biznesowej w formie zbioru odrębnych, autonomicznych, rozproszonych i reużywalnych usług,
które na żądanie użytkowników są uruchamiane w skoordynowany sposób. Popularne wzorce projektowe dla architektury zorientowanej na usługi dzielą usługi na dwie główne grupy: usługi podstawowe i usługi procesowe. Usługi podstawowe odpowiadają za implementację elementarnych
czynności biznesowych, jak np. przelew bankowy, obciążenie konta, aktualizacja stanu magazynowego, weryfikacja danych karty płatniczej. Są one zwykle implementowane z użyciem takich języków programowania jak Java, C#, PL/SQL. Z kolei działanie usług procesowych polega na koordynowaniu wywołań usług podstawowych tak, aby uzyskać przetwarzanie zgodne z założeniami realizowanego procesu biznesowego, np. obsługa zamówień klientów, obsługa wniosków kredytowych,
obsługa sprzedaży internetowej. Implementacja usług procesowych zwykle opiera się o specjalizowane języki programowania, wywodzące się z tych samych notacji formalnych, które wykorzystywane są do modelowania procesów biznesowych – np. BPMN, BPEL.
Niezwykle interesującym wyzwaniem technicznym jest próba połączenia założeń architektury
zorientowanej na usługi z koncepcjami systemów zarządzania procesami biznesowymi. Rozwiązaniem, które wychodzi naprzeciw takiemu wyzwaniu jest Oracle BPM 11g – wieloskładnikowa platforma operacyjno-narzędziowa umożliwiająca formalne modelowanie procesów biznesowych,
a następnie ich implementację i wykonywanie zgodnie z wymogami architektury zorientowanej na
usługi [OBPM] [OFM]. W skład platformy Oracle BPM 11g wchodzą m.in.: (1) repozytorium BPM
- baza danych przechowująca formalne definicje procesów biznesowych oraz stany bieżących
i historycznych instancji procesów biznesowych, (2) serwer BPM - nieprzerwanie pracująca aplikacja serwerowa, która koordynuje wykonanie instancji procesów biznesowych, (3) BPM Workspace aplikacja dostępna za pośrednictwem przeglądarki WWW, umożliwiająca kontakt użytkowników
końcowych z instancjami procesów biznesowych oraz realizację działań manualnych będących
krokami składowymi procesów biznesowych, (4) narzędzia Process Composer i JDeveloper - służące analitykom i programistom do modelowania i implementacji nowych procesów biznesowych,
(5) narzędzie Enterprise Manager - wspomagające pracę administratora systemu zarządzania procesami biznesowymi, umożliwiające obserwację stanu każdej bieżącej lub historycznej instancji procesu biznesowego, a także diagnozowanie przyczyn ewentualnych awarii. Warto zauważyć, że każdy ze składników Oracle BPM 11g może zostać łatwo odwzorowany na jeden z komponentów architektury referencyjnej Workflow Management Coalition: serwer BPM i repozytorium BPM to
Workflow Enactment Service, narzędzia Process Composer i JDeveloper to Process Definition Tools, BPM Workspace to Client Application, a Enterprise Manager to Administration & Monitoring
Tool.
2. Główne składniki Oracle BPM 11g
2.1. Serwer BPM i repozytorium BPM
Serwer BPM został zaimplementowany w formie aplikacji Java EE posadowionej na serwerze
aplikacji Oracle WebLogic Server. Jego głównym zadaniem jest wykonywanie kolejnych kroków
instancji procesów BPMN oraz utrwalanie stanów instancji, umożliwiające wznowienie pracy po
restarcie lub awarii serwera. Procesy BPMN zainstalowane na serwerze BPM są udostępniane aplikacjom zewnętrznym jako usługi Web Service, opisane dokumentami WSDL. W przypadku procesów BPMN opartych o mechanizmy interakcji z użytkownikami końcowymi, aplikacje zewnętrzne
korzystają też z interfejsu Oracle Workflow.
Definicje procesów BPMN oraz stany ich instancji są zapisywane w bazie danych – repozytorium BPM (kilkaset tabel). Repozytorium BPM może mieścić się w dedykowanej bazie danych
Oracle, bądź też w istniejącej bazie danych Oracle któregoś z systemów produkcyjnych.
Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe 133
2.2. BPM Workspace
BPM Workspace jest aplikacją Java EE, która służy użytkownikom końcowym do interakcji
z serwerem BPM i instancjami wykonywanych procesów BPMN (rys. 2). Interakcja ta obejmuje
zarówno inicjowanie nowych instancji procesów, jak i obsługę kroków manualnych wchodzących
w skład wykonywanych instancji. Prezentacja graficznego interfejsu użytkownika jest w obu przypadkach realizowana przez uprzednio przygotowane strony/regiony ADF Faces. Pozostałe funkcje
narzędzia BPM Workspace obejmują m.in. podgląd kroków manualnych wykonanych w przeszłości, podgląd struktury procesów BPMN, w ramach których wykonywane są kroki manualne, konfigurację preferencji użytkownika w zakresie automatycznego powiadamiania.
Inicjalizacja
h i t
Kroki manualne oczekujące
na wykonanie przez użytkow-
Interfejs użytkownika dla
kroku manualnego
Rys. 2. Struktura narzędzia BPM Workspace
2.3. Process Composer i JDeveloper
Process Composer i JDeveloper to narzędzia umożliwiające definiowanie modeli procesów biznesowych w notacji BPMN oraz ich instalowanie na platformie serwera BPM. Process Composer
jest adresowany przede wszystkim do analityków procesowych, których odpowiedzialność skupia
się głównie na opracowaniu modeli procesów biznesowych, ich dokumentacji i weryfikacji (rys. 3).
JDeveloper to z kolei narzędzie o orientacji programistycznej, przeznaczone dla deweloperów dokonujących implementacji usług procesowych i ich integracji z usługami podstawowymi i/lub
czynnościami manualnymi. Efektem pracy każdego z wymienionych narzędzi może być opublikowana na serwerze BPM i gotowa do użytku usługa procesowa.
134
Maciej Zakrzewicz
Rys. 3. Process Composer
2.4. Enterprise Manager
Fusion Middleware Enterprise Manager jest narzędziem administracyjnym umożliwiającym
m.in. konfigurację serwera BPM, instalowanie, monitorowanie i testowanie procesów biznesowych,
instalowanie aplikacji Java EE, konfigurację mechanizmów bezpieczeństwa (rys. 4). Wraz ze standardową konsolą administracyjną dostarczaną z serwerem Oracle WebLogic, Fusion Middleware
Enterprise Manager stanowi podstawowe narzędzie do administrowania platformą Oracle BPM 11g.
Rys. 4. Fusion Middleware Enterprise Manager
Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe 135
3. Automatyzacja procesów biznesowych na platformie Oracle
BPM
W tym rozdziale przedstawimy i skomentujemy wybrane problemy implementacyjne dotyczące
wdrożeń systemów zarządzania procesami biznesowymi na platformie Oracle BPM 11g.
3.1. Ingerencja w model wykonywanej instancji procesu BPMN
Z chwilą zainicjowania instancji procesu BPMN, dalsze wykonanie instancji odbywa się zgodnie
z modelem procesu dostępnym w chwili inicjacji. Ewentualne późniejsze zmiany modelu nie mają
wpływu na te instancje, których wykonywanie jest w toku. Podejście takie, naturalnie uzasadnione
kwestiami zachowania spójności przetwarzania, może stanowić istotne ograniczenie w przypadku
elastycznej realizacji procesów długotrwałych (np. kilkumiesięcznych). Podejmowane w takiej sytuacji rozwiązania mieszczą się w dwóch kategoriach:
• model procesu przewiduje ewentualne modyfikacje sposobu przetwarzania, zawierając
liczne rozgałęzienia warunkowe umożliwiające zmianę ścieżki wykonania poprzez manipulowanie zewnętrznymi obiektami (parametryzacja modelu)
• model procesu cechuje się modułowością – właściwe przetwarzanie jest rozbite na łańcuch podprocesów, które są wykonywane w odpowiedniej kolejności; możliwa jest zmiana definicji podprocesu zanim zostanie on wywołany (dekompozycja modelu)
3.2. Reużywalność zadań manualnych
Czynności manualne będące krokami procesów biznesowych są implementowane w formie modułów ADF Task Flow. ADF to obszerny zestaw technologii implementacji biznesowych aplikacji
Java EE opartych o systemy baz danych. Moduły ADF Task Flow to fragmenty aplikacyjne, które
nadają się do łatwego zagnieżdżania wewnątrz innych modułów lub aplikacji ADF/BPM. Funkcjonalność modułów ADF Task Flow obejmuje interakcję z użytkownikiem, interakcję z bazami danych, złożone przetwarzanie zdarzeń, walidację danych, komunikację ze środowiskiem zewnętrznym za pomocą parametrów wejścia-wyjścia, itp.
Z punktu widzenia efektywności implementacji/automatyzacji procesów biznesowych, należy
dążyć do jak największej reużywalności modułów ADF Task Flow. Środowisko Oracle BPM daje
możliwości wykorzystywania tego samego modułu ADF Task Flow dla implementacji różnych
czynności manualnych będących krokami procesów biznesowych. Dużym wyzwaniem projektowym jest opracowanie takiego zestawu (portfolio) modułów ADF Task Flow, które będą mogły być
integrowane z różnorodnymi modelami procesów BPMN definiowanych w przedsiębiorstwie lub
instytucji.
3.3. Stan przetwarzania = stan instancji procesu BPMN?
Realizowane procesy biznesowe BPMN charakteryzują się zwykle zestawem zmiennych, które
służą do tymczasowej reprezentacji stanu przetwarzania i do przekazywania rezultatów działania
kroków wcześniejszych do wejścia kroków późniejszych. Zmienne te mogą stanowić tzw. obiekty
procesowe, zarządzane przez serwer BPM, lub zmienne lokalne wykorzystywane wewnątrz zewnętrznych usług Web Services i modułów ADF Task Flow, nieczytelne dla serwera BPM. Decyzja
o sposobie implementacji zmiennych stanu przetwarzania jest istotna z punktu widzenia czytelności
modelu BPMN, reużywalności usług/modułów składowych i mechanizmów monitorowania przebiegu realizacji instancji procesu BPMN.
Przykład powyższego dylematu projektowego przedstawiono na rys. 5. Oba diagramy reprezentują fragment procesu biznesowego, w ramach którego dane wprowadzone przez użytkownika są
zapisywane w bazie danych. Pierwszy model zakłada, że w wyniku realizacji czynności manualnej
"Pobierz stawki od użytkownika" dane wprowadzane przez użytkownika do formularza modułu
ADF Task Flow są zapisywane w obiektach procesowych, które są przekazywane do wejścia usługi
136
Maciej Zakrzewicz
„Zapisz stawki w bazie danych”. Usługa ta dokonuje zapisu wartości pobranych z obiektów procesowych do stosownej tabeli bazy danych.
Drugi z przedstawionych modeli obejmuje tylko jeden krok – czynność manualną "Pobierz
stawki od użytkownika i zapisz w bazie danych". Zakładamy, że skojarzony z tą czynnością moduł
ADF Task Flow pobiera dane od użytkownika, a następnie samodzielnie zapisuje je w tabeli bazy
danych. Niewątpliwie w tym przypadku model procesu BPMN cechuje się lepszą czytelnością,
jednakże jej konsekwencją jest redukcja stopnia reużywalności modułu ADF Task Flow, np.
w przypadku gdyby w ramach innego procesu wprowadzone przez użytkownika dane miały przed
zapisem do bazy danych podlegać transformacji lub gdyby zapis miał się odbyć do pliku, a nie do
bazy danych.
Rys. 5. Implementacja stanu przetwarzania
3.4. Harmonogramowanie procesów
Istnieje wiele zastosowań systemów zarządzania procesami biznesowymi, w których inicjacja
instancji procesów BPMN następuje nie w wyniku aktywności użytkownika, a w rezultacie wystąpienia zdarzenia czasowego, np. nastąpienia końca dnia roboczego. Realizacja tego typu wymagań
polega na zastosowaniu jednego z poniższych alternatywnych rozwiązań:
• zastosowanie w modelu procesu elementu zdarzenia typu Timer, z którym skojarzony może zostać albo punkt czasowy inicjacji instancji (może być określony w formie wyrażenia), albo interwał czasowy dla periodycznego inicjowania instancji (również może być
określony w formie wyrażenia)
• implementacja zewnętrznego mechanizmu harmonogramowania, który według dowolnie
zdefiniowanego wzorca (np. różne godziny wyzwolenia w różnych dniach tygodnia) dokonuje inicjalizacji instancji procesów BPM wykorzystując interfejs Web Service udostępniany przez serwer BPM
Decyzja projektowa o wyborze jednego z powyższych rozwiązań podyktowana może być przede
wszystkim regularnością lub nieregularnością harmonogramu wywoływania instancji procesów.
W przypadku harmonogramów nieregularnych, zastosowanie elementu zdarzenia typu Timer wymaga drobnoziarnistego generowania sygnałów wyzwalających, a następnie ich filtrowania za pomocą konstrukcji warunkowych, co w konsekwencji przekłada się na pogorszenie czytelności modelu. Natomiast implementacja zewnętrznych mechanizmów harmonogramowania może przyczynić
się do obniżenia "czystości" architektury systemowej oraz spowodować skomplikowanie procedur
testowania środowiska.
3.5. Dynamiczny przydział czynności manualnych
Czynności manualne stanowiące kroki procesów BPMN są definiowane w obrębie tzw. pasów
pływackich, skojarzonych z konkretnym użytkownikiem, grupą użytkowników lub rolą. Istnieje
Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe 137
jednak szereg sytuacji, w których przydział wykonawcy do czynności manualnej powinien odbywać
się w sposób dynamiczny. Definicja czynności manualnej pozwala na wykorzystanie wyrażenia (np.
zapisanego w języku XPath), które wskaże wykonawcę czynności w chwili, gdy czynność ta będzie
inicjowana.
Ponadto, dostępne mechanizmy czasu ważności i eskalacji czynności manualnych umożliwiają
dynamiczną zmianę wykonawcy w przypadku, gdy pierwotnie przydzielony wykonawca nie ukończy powierzonej czynności w zadanym przedziale czasowym.
3.6. Eksternalizacja reguł decyzyjnych
Realizacja sterowania przepływem pracy w modelu procesu biznesowego nierzadko wymaga
formułowania złożonych warunków logicznych dla elementów typu bramka. Zanurzenie tych warunków logicznych wewnątrz definicji procesu BPMN stanowi istotne ograniczenie dla ich późniejszych modyfikacji i adaptacji. W szczególności, po reformułowaniu warunków logicznych zapisanych wewnątrz definicji procesu, konieczna jest reinstalacja modelu procesu na serwerze BPM,
a tym samym następuje zakłócenie obsługi użytkowników i ich instancji procesów BPMN.
Bardzo pożądanym wzorcem projektowym jest eksternalizacja reguł decyzyjnych, polegająca na
przeniesieniu logiki warunkowej poza granice modelu procesu BPMN, do usługi zewnętrznej.
Wówczas zmiana zapisów logiki zewnętrznej nie powoduje konieczności reinstalacji modelu procesu na serwerze BPM. Interesującym rozwiązaniem technicznym umożliwiającym eksternalizację
reguł decyzyjnych jest Oracle Rules – logika warunkowa jest zapisywana w plikach repozytoriów
mieszczących reguły decyzyjne lub tablice decyzyjne. Oracle BPM oferuje ścisłą integrację z Oracle Rules.
4. Podsumowanie
W artykule dokonano przeglądu architektury i funkcjonalności platformy Oracle BPM 11g,
omówiono zadania poszczególnych składników platformy oraz przedstawiono wybrane problemy
wdrożeniowe. Artykuł stanowi zapis referatu wygłoszonego podczas XVII Konferencji Użytkowników i Deweloperów Oracle.
Referencje
[WFMC]
"Workflow Reference Model Diagram", http://www.wfmc.org/reference-model.html
[OBPM]
"Oracle Business Process Management Suite 11g Handbook", Major Das, Manas Deb, Mark
Wilkins, Oracle Press, 2011
[OFM]
"Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process
Management 11g"

Podobne dokumenty