MODELOWANIE PROCESÓW Z WYKORZYSTANIEM SIEC SEMANTYCZNYCH Rafał KLAUS, Bartosz BOSAK Streszczenie: Standard BPEL (BPEL4WS - Business Process Execution Language for Web Services) umożliwia opisywanie tzw. uruchamialnych procesów biznesowych. W takich procesach, elementarne aktywności mogą być powiązane z odpowiednimi odwołaniami do usług Web Service, a same procesy mogą być w natywny sposób przetwarzane przez odpowiednie środowiska uruchomieniowe. BPEL cieszy się coraz większą popularnością wśród przedsiębiorstw, powoli staje się technologią dojrzałą. Istnieje wiele programów pozwalających na łatwe, graficzne opisywanie procesów właśnie w tym standardzie. Z drugiej strony istnieje potrzeba uproszczenia skomplikowanej procedury wyszukiwania i dołączania kolejnych Web Service do procesu BPEL. Obiecującym pomysłem w tym kontekście wydają się być sieci semantyczne. W artykule przedstawiono ideę systemu łączącego standard BPEL z automatycznym przetwarzaniem danych semantycznych zapisanych w języku OWL-S (Web Ontology Language for Web Services). Słowa kluczowe: BPMN, BPEL, OWL-S, Web Service, modelowanie, proces 1. Wprowadzenie Sieci semantyczne (semantyczny internet, Semantic Web) to wizja zapoczątkowana przez twórcę WWW Tim iego Berners-Lee. Według niej, internet ma stać się zrozumiały dla maszyn, tzw. agentów. Tym samym przestanie być postrzegany jako wielki zbiór nieusystematyzowanej i zrozumiałej tylko dla człowieka wiedzy. Stanie się globalnym mechanizmem, w którym strony internetowe, usługi i różne inne zasoby będą precyzyjnie opisane. Inteligentne maszyny, na podstawie semantycznej sieci metadanych, czyli danych o danych będą potrafiły automatycznie przetwarzać wiedzę i oferować funkcjonalność znacznie bogatszą niż dzisiejsze rozwiązania. Przy takiej architekturze prostsze stanie się wyszukiwanie i scalanie różnego rodzaju zasobów w celu osiągnięcia zamierzonego celu. Takie dążenie do automatyzacji wykonywania procesów biznesowych przyczyniło się do powstania idei architektury zorientowanej na usługi (ang. Service Oriented Architecture - SOA). Według tej koncepcji system informatyczny powinien opierać się na bezpośrednio niepowiązanych ze sobą usługach oferujących w ustandaryzowany sposób pewną, dość prostą funkcjonalność. Interakcja z taką usługą powinna być zdefiniowana na poziomie jej interfejsu, klient nie musi i nie powinien posiadać wiedzy o szczegółach implementacyjnych. Wykonywanie zaawansowanych operacji w systemie zgodnym z architekturą zorientowaną na usługi winno odbywać się na drodze zestawiania pojedynczych usług w większe bloki, co jest sytuacja analogiczna do tworzenia procesów biznesowych poprzez powiązanie ze sobą pewnych czynności. Innymi słowy, złożone operacje zachodzące
w systemie SOA można traktować jako proces biznesowy, natomiast pojedyncze usługi, jako elementarne czynności procesu biznesowego. Procesy biznesowe zgodne z SOA musza być oczywiście usystematyzowane na warstwie wyższej niż pojedyncze usługi. Umożliwia to opublikowany w 2002 roku język BPEL (Business Process Execution Language). Wizja Semantic Web zakłada, ze każdy zasób dostępny w internecie będzie opisany w sposób zrozumiały dla maszyn. Ten warunek spełnia język OWL (Web Ontology Language) pozwalający na tworzenie ontologii, czyli formalnych modeli zrozumiałej dla automatów wiedzy. Jedną z ważniejszych ontologii, jest rozwijana pod nadzorem konsorcjum W3C, ontologia opisująca pojęcia związane z Web Service, Web Ontology Language for Web Services (w skrócie: OWL-S). Przetwarzanie wiedzy zapisanej zgodnie z OWL-S pozwala na automatyczne odkrywanie komponentów Web Service: Inteligentny agent na podstawie informacji zapisanych w rejestrze usług opartym na języku OWL-S, może znaleźć Web Service adekwatny oczekiwaniom klienta. 2. Idea systemu Przedstawiana koncepcja systemu zrodziła się w czasie testowania oprogramowania umożliwiającego graficzne tworzenie procesów biznesowych zgodnych z warunkami standardów BPMN (Business Process Modeling Notation) oraz BPEL i właśnie z tego typu oprogramowaniem wiąże duże nadzieje na ewentualna implementacje. Punktem wyjścia dla proponowanego systemu mógłby być dowolny edytor umożliwiający tworzenie procesów (np. ActiveBPEL lub Intalio). Rys. 1. Tworzenie procesu biznesowego w technologii BPEL
Projektowanie uruchamialnych procesów biznesowych w dostępnych na rynku narzędziach jest bardzo intuicyjne, jednak jest związane z nieuniknioną koniecznością dołączania kolejnych komponentów Web Service. Obecna procedura dołączania jest dość złożona i polega m.in. na wyszukaniu odpowiedniej usługi w rejestrze UDDI (Universal Description Discovery and Integration) i umiejętnym dołączeniu jej do projektowanego procesu. Czynności te wymagają niewątpliwie dużej wiedzy informatycznej, a w ogólności osoba tworząca procesy biznesowe nie musi być informatykiem. W proponowanym rozwiązaniu, najbardziej uciążliwą część pracy przygotowywania modeli procesów, związanych z wyszukiwaniem i integracją usług, można udoskonalić poprzez wprowadzenie rozwiązań semantycznych. Wówczas modelowanie procesów biznesowych mogłoby zostać całkowicie odseparowane od logiki związanej z implementacją Web Service. Co za tym idzie, byłoby mniej pracochłonne i mogłoby być wykonywane przez osoby nie znające szczegółów informatycznych. Po wstępnym rozpoznaniu możliwości realizacji takiej koncepcji, można powiedzieć, że ma ona realne szanse powodzenia. Wydaje się także, że system spotkałby się z dużym zainteresowaniem klientów. 3. Procedura dołączania Web Service w obecnych na rynku edytorach Przed przystąpieniem do opisania szczegółów koncepcji, należy opisać obecnie stosowaną procedurę dołączania do modelowanego procesu nowego komponentu Web Sernice. Procedurę autorzy przedstawiają zgodnie z koncepcją oprogramowania IntalioBPMS, gdzie wszystkie przedstawione czynności musza być wykonane przy udziale człowieka: 1. Określenie wymagań odnośnie funkcjonalności potrzebnej do wykonania szczegółowego zadania. 2. Wyszukanie w rejestrze usług (np. w rejestrze UDDI) programu Web Service, który spełnia wyznaczone wymagania. 3. Pobranie dokumentu WSDL (Web Service Description Language) znalezionej usługi i dołączenie go do plików tworzonego projektu. 4. Wybranie odpowiedniej metody opisanej w dołączonym pliku WSDL (za pomocą myszki), umiejscowienie jej w odpowiednim miejscu na modelu i połączenie z sąsiednimi elementami procesu. 5. Dostosowanie parametrów wejściowych i wyjściowych dołączonej metody do sąsiadujących z nią elementów. Powyższa procedura, choć na pozór nie jest zbytnio złożona, zawiera dwie pracochłonne i dość skomplikowane w wykonaniu czynności, które w rzeczywistości, przy wykorzystaniu odpowiednich mechanizmów mogą zostać zautomatyzowane. Pierwszą z tych czynności jest wyszukanie usługi w rejestrze. Drugą, umiejętne jej dopasowanie do procesu w którym ma być wykorzystywana. Zgodnie z ideą przedstawianego pomysłu, proces dołączania usługi mógłby być uproszczony do następującej postaci: 1. Przeciągniecie symbolu oznaczającego dowolna czynność z palety kształtów na główny panel modelowania, połączenie z innymi elementami procesu. 2. Określenie wymagań odnośnie funkcjonalności potrzebnej do wykonania szczegółowego zadania. 3. Półautomatyczne (uwzględniające automatycznie generowane podpowiedzi)
uzupełnienie formularza wyszukiwania usługi zgodnie z wyznaczonymi wymaganiami. 4. Zlecenie wyszukania usługi. Wyraźnie widać, że taka procedura jest znacznie prostsza od poprzedniej. Co jest szczególnie ważne, w tym przypadku nie występują czynności bezpośrednio wiążące się z wykorzystaniem konkretnego Web Service. Operacje przeprowadzane są na poziomie abstrakcyjnym. Zadania wyszukania odpowiedniej usługi i zintegrowania jej z aktualnym modelem procesu wykonywane są automatycznie. Dzięki temu, modelowanie uruchamialnych procesów jest znacznie prostsze i może być wykonywane przez laika w dziedzinie informatyki. Rys.2. Poglądowy schemat architektury proponowanego systemu Zgodnie z założeniami, system powinien składać sie z dwóch głównych modułów: semantycznego rejestru (np. Semantic UDDI ) oraz wtyczki (plug-in u) do programu edytora BPEL (np. IntalioBPMS Designer). Pierwszy moduł byłby odpowiedzialny za wyszukiwanie usług opisanych w języku semantycznym (np. OWL-S) i umieszczonych w rejestrze (np. UDDI). Drugi natomiast, w ogólnym spojrzeniu, umożliwiałby zlecanie wyszukania potrzebnych usług z poziomu edytora. Można zdefiniować następujący, podział na elementy potrzebne do stworzenia proponowanego systemu: elementy istniejące: graficzny edytor procesów biznesowych umożliwiający dopisywanie do niego rozszerzeń (np. IntalioBPMS Designer), reasoner, np. Pellet, rejestr UDDI, np. JUDDI, biblioteki wspomagające proces przetwarzaniu opisów semantycznych (np. Jena, Raptor, OWL-S API ).
zapotrzebowanie: agent program wyszukujący usługi, wtyczka (plug-in) do edytora IntalioBPMS Designer. 4. Propozycja algorytmu dołączania usługi do procesu BPEL Opisane wcześniej procedury dołączania usług odnoszą się do czynności wykonywanych przez osobę modelującą proces, bez uwzględnienia operacji realizowanych automatycznie przez oprogramowanie. Poniżej zostanie przedstawiony algorytm dołączania usługi, w którym brane są pod uwagę również te działania, których wykonywanie jest ukryte dla projektanta. Założono, że wszystkie elementy składowe systemu (zarówno istniejące jak i nie istniejące) są dostępne i odpowiednio powiązane. Ważne dla zrozumienia algorytmu jest również założenie, że nowo wprowadzana do modelu usługa jest dostosowywana do usług już w nim będących. 1. Czynności początkowe wykonywane w module dołączonym do edytora procesów (np. IntalioBPMS Designer): (a) Przeciągnięcie symbolu oznaczającego dowolną czynność z palety kształtów na główny panel modelowania, połączenie z innymi elementami procesu. Utworzone połączenie powinno uwzględniać semantyczny opis parametrów wejściowych i wyjściowych dla danej usługi. (b) Określenie wymagań odnośnie funkcjonalności potrzebnej do wykonania szczegółowego zadania. (c) Półautomatyczne (uwzględniające automatyczne generowane podpowiedzi) uzupełnienie formularza wyszukiwania usługi zgodnie z wyznaczonymi wymaganiami. Formularz powinien umożliwiać wprowadzenie m.in. typów parametrów wejściowych i wyjściowych poszukiwanej usługi. (d) Wstępna walidacja zadania (m.in. sprawdzenie zgodności typów wprowadzonych do formularza parametrów wejściowych i wyjściowych poszukiwanej usługi z aktualnym stanem połączeń w modelu). (e) Zlecenie wyszukania usługi: przesłanie do inteligentnego agenta informacji pobranych z formularza. 2. Czynności wykonywane przez Semantic UDDI: (a) Na podstawie parametrów otrzymanych w zadaniu, wyszukanie odpowiedniego Web Service: 1. pobranie potrzebnych taksonomii (m.in. opisujących możliwe parametry usług); 2. pobieranie semantycznych opisów usług (np. OWL-S) z rejestru UDDI; 3. przeprowadzenie wnioskowania opartego o opisy semantyczne; (b) Odesłanie odpowiedzi zawierającej opis znalezionego Web Service (lub informacje o błędzie) do modułu rozszerzającego graficzny edytor procesów. Odpowiedz powinna zawierać elementy opisu semantycznego jak również plik WSDL znalezionej usługi. 3. Czynności końcowe wykonywane w module dołączonym do edytora procesów (a) Ewentualne odrzucenie otrzymanej odpowiedzi bądź jej akceptacja.
(b) Uzupełnienie opisu dołączanej usługi informacjami otrzymanymi w odpowiedzi od agenta. 1. dołączenie pliku WSDL opisującego znaleziony Web Service do projektu; 2. na podstawie informacji zawartych w otrzymanym opisie (np. OWL-S) wyspecyfikowanie odpowiedniej metody z pliku WSDL i związanie jej z wybranym na początku elementem; 3. na podstawie informacji zawartych w otrzymanym opisie, przygotowanie potencjalnie potrzebnych definicji transformacji XSLT oraz XPath. 5. Podsumowanie i analiza SWOT koncepcji Przedstawiony opis koncepcji jest pierwszym krokiem na drodze do stworzenia pełnowartościowego produktu. Obecny stan rozwoju technologii potrzebnych do jego zbudowania nie jest z pewnością w pełni wystarczający. Duża część standardów, które muszą zostać wykorzystane w systemie, nie jest jeszcze w pełni sprecyzowana. Potrzebne są wiec założenia, które mogą wiązać się z pewnymi niezgodnościami w przyszłości. Nie mniej jednak, pomysł wydaje się być na tyle obiecujący, że warto podjąć się ryzyka jego konstrukcji juz teraz. Potwierdzeniem takiego myślenia, jest przeprowadzona analiza SWOT. Miała ona na celu sprawdzenie czy realizacja koncepcji jest rzeczywiście wartościowa. Analiza SWOT koncepcji Mocne strony: proponowany produkt znacznie ułatwiłby obecnie używaną w graficznych edytorach BPEL procedurę modelowania procesów biznesowych; brak innych produktów, oferujących podobną funkcjonalność; możliwość wykorzystania wielu gotowych elementów, (np. edytora IntalioBPMS Designer) Słabe strony: dość duża ilość pracy potrzebna do stworzenia produktu; dość duże zapotrzebowanie kadrowe. Szanse: potencjalne wsparcie ze strony programistów i analityków firm oferujących edytory BPEL (np. Intalio); wprowadzenie produktu na rynek w odpowiednim, opłacalnym momencie; w przypadku użycia edytora IntalioBPMS Designer, możliwość zyskania obecnych klientów firmy Intalio. Zagrożenia: możliwość zajścia dużych zmian w obrębie standardów wykorzystywanych w produkcie; wprowadzenie produktu na rynek zbyt późno. 6. Zakończenie W ciągu ostatnich kilku lat opracowano szereg technologii pomocnych w modelowaniu i wykonywaniu procesów biznesowych. Powstały m.in. standardy BPMN oraz BPEL.
Obok tego wszystkiego, rozwinęła się bardzo ważna idea sieci semantycznych. W ramach niniejszego artykułu przedstawiono koncepcję systemu, który łącząc ze sobą standardy BPEL oraz OWL-S mógłby stać się bardzo pożądanym produktem. Literatura 1. Berners-Lee T., Hendler J., Lassila O.: The semantic Web. [on-line] http://www.sciam.com/article.cfm?articleid= 00048144-10D2-1C70-84A9809EC588EF21&catID=2, 2001 2. Giera P., Klaus R., Rzekanowski A.: Symulator modelu procesów, Komputerowo Zintegrowane Zarządzanie pod redakcją Ryszarda Knosali, Oficyna Wydawnicza Polskiego Towarzystwa Zarządzania Produkcją, Opole 2006, tom 1, str. 436-443, ISBN 83-87982-71-7 3. Klaus R.: Modelowanie organizacji dydaktyki na uczelniach wyższych, II polskoniemiecka konferencja naukowa Kształcenie informatyków a rynek pracy w lubuskobrandenburskim regionie przygranicznym Gorzów Wlkp. 2005 4. Klaus R., Bosak B.: Analiza wykorzystania sieci semantycznych przy integracji usług w wirtualnych przedsiębiorstwach, Raport Instytutu Informatyki Politechniki Poznańskiej, 2007 5. Sirin E., Parsia B.: The owl-s Java api. [on-line] iswc2004.semanticweb.org/posters/pid-cuiidzkf-1090286595.pdf 6. OASIS Web Services Business Process Execution Language (WSBPEL) TC. Ws-bpel 2.0 primer pdf. [on-line] http://www.oasis-open.org/committees/download.php/23974/wsbpel-v2.0-primer.pdf, 2007 dr inż. Rafał Klaus mgr inż. Bartosz BOSAK Instytut Informatyki Politechnika Poznańska 60-965 Poznań ul. Piotrowo 2 e-mail: rafal.klaus@cs.put.poznan.pl