Uniwersytet Ekonomiczny w Poznaniu Wydział Informatyki i Gospodarki Elektronicznej Streszczenie pracy: Web service Description and Retrieval designed for Service Oriented Enterprises (Opis i wyszukiwanie usług sieciowych na potrzeby podmiotów wykorzystujących architekturę usługową) Konstanty Haniewicz pod kierunkiem prof. dr hab. Witolda Abramowicza Poznań 2013
Istota tej pracy jest przygotowanie i przedstawienie metody opisu i pozyskiwania usług sieciowych tak, aby była ona satysfakcjonująca dla szerokiego grona potencjalnych odbiorców będących częścią organizacji wykorzystującej paradygmat architektury usługowej. Praca doktorska odzwierciedla przekonanie o preferencji użytkowników w stosunku do rozwiązań prezentujących akceptowalne sugestie odnośnie do poszukiwanych artefaktów w krótkim czasie i obarczone niskimi kosztami raczej niż takich, które gwarantują absolutną pewność wykorzystując jednak do tego ogromne zasoby sprzętowe oraz wymagając poważnych nakładów czasu na przygotowanie wystarczającego dla rozwiązania środowiska. W związku z powyższym, najważniejszym wyzwaniem dla organizacji chcących pomyślnie wdrożyć paradygmat architektury usługowej jest możliwość podejmowania słusznych wyborów szczególnie wobec ciągle zmieniających się parametrów decyzji. Ma to szczególne znaczenie, gdy wybory te są związane z utrzymaniem i optymalizacja najważniejszych procesów biznesowych w danej organizacji. Tak więc, przygotowanie modelu, który podołałby zadaniu prezentacji akceptowalnych wyników w pewnym, dość krótkim, czasie jest najważniejszym elementem weryfikacji tezy postawionej w prezentowanej pracy. Sam model jest rozszerzony poprzez szereg mechanizmów mających na celu realizacje konkretnych szczegółowych zadań. Pierwszym krokiem w drodze do weryfikacji postawionej tezy było wyłonienie kluczowych wymagań wyrażanych przez użytkowników. Wymagania te zostały zebrane w ramach analizy dostępnej wiedzy dziedzinowej oraz nieformalnych wywiadów pozyskanych od specjalistów chcących wziąć udział w badaniach. Oto lista kluczowych wymagań: Efektywność - w przypadku możliwości zastosowania powszechnych miar precyzji i zwrotu są one stosowane. Jeżeli natura rozwiązania na to nie pozwala, preferowaną miarą jest możliwość zaspokojenie potrzeby wyrażonej przez użytkownika w ramach zaprojektowanych przez omawiane rozwiązanie.
Koszt mierzony wysiłkiem, jaki musi zostać poniesiony, aby uzyskać opis spełniający wymagania odpowiedniej technologii. Koszt odnosi się zarówno do czasu, który jest poświęcony na przyswojenie niezbędnych do opisu jak i wyszukiwania elementów systemu jak i do czasu koniecznego do prezentacji wyników zapytania w danym rozwiązaniu. Taka decyzja promuje rozwiązania łatwe do przyswojenia przez użytkowników (podczas nauki i korzystania) oraz takie, które pozwalają na szybki zwrot pasujących wyników. Skalowalność informująca, w jakim stopniu przyrost danych, na podstawie, których rozwiązania przygotowują wyniki wpływa na czas prezentacji tychże. Rozwiązania, które radzą sobie z milionami opisów są preferowane w kontekście tego wymagania. Zakres wymaganie uwzględniające wszystkie ważne rozszerzenia opisu usług ponad podstawowe dane zawarte w dokumencie w standardzie WSDL. Możliwość wprowadzenia innej niż najpowszechniejsza perspektywa programisty na usługę, parametry pozafunkcjonalne, mierniki jakości czy wpływ na poziom spełniania wymagań nałożonych na konkretny proces wykorzystujący konkretna usługę to przykłady premiowanych w tym wymaganiu właściwości. Cel wymaganie odnoszące się do jasnego sposobu, w którym zawarta jest informacja o funkcjonalności danej usługi. Użytkownicy mogą ją rozumieć, jako możliwość udzielenia odpowiedzi na pytanie: do czego służy dana usługa. Wyłonienie powyższych wymagań pozwoliło na krytyczną analizę dostępnych rozwiązań w zakresie opisu i wyszukiwania usług sieciowych. Jej efektem było stwierdzenie o braku rozwiązania, które jest w stanie zaspokoić każde z wymagań w satysfakcjonującym stopniu. Krytyczna analiza przyczyniła się do sformułowania modelu i wspierających go mechanizmu poprzez wzmocnienie pozytywnych rozwiązań oraz eliminację dostrzeżonych niedoborów i wad. Ponadto, ta faza badań wymogła dogłębną analizę wydajności i skalowalności dostępnych rozwiązań. Analiza ta została wykorzystana w późniejszych etapach, jako tło konieczne przy wysnuwaniu wniosków na podstawie przeprowadzonych eksperymentów. Biorąc pod uwagę wnioski z analizy dostępnych rozwiązań w kontekście zdefiniowanych wymagań, za idealny stan rzeczy przyjąć można sytuację, w której dokumenty w standardzie WSDL są przygotowane w tym samym czasie, co ich opis na potrzeby dokumentacji. Co
więcej, takie dokumentowanie powinno zawierać fazę rozszerzenia opisu o pewien zasób, słów i fraz kluczowych z pewnego kontrolowanego słownika. Sam słownik może przyjąć formę tezaurusa, sieci semantycznej bądź zwykłej listy popularnych w danym kontekście sformułowań i pojęć. Pomijając aspekt pozwalający na wnioskowanie, każda ze wspomnianych struktur charakteryzuje się wysoką wydajnością przy przeglądaniu oraz przejrzystością dla użytkownika. Taki opis musi odnieść się do każdej z operacji każdej z dokumentowanych usług sieciowych. Usługa sieciowa, jako taka jest tworem zbyt zróżnicowanym, aby operować opisem na jej poziomie. Z tego wynika nacisk na opis operacji będącej częścią składową każdej usługi sieciowej. Nacisk ten jest wynikiem analizy dostępnego korpusu usług sieciowych pozyskanego z ogólnie dostępnych zasobów Internetu. Obraz usług sieciowych zbudowany na tej podstawie danych z tej analizy przedstawia usługę sieciową, jako bardzo heterogeniczny, który rzadko może być spójnie podsumowany przy użyciu ograniczonych zasobów wyrazu. Niewykluczonym jest, że inne środowiska wymogły inne podejście do usługi sieciowej per se, jednakże operacja usługi sieciowej jest najmniejszym niepodzielnym elementem wspaniale nadającym się, jako główny cel opisu. Model zaproponowany w tej pracy wykorzystuje frazy strukturyzujący słowa i pojęcia zawarte w zdefiniowanym przez organizację słowniku. Każda z operacji opisywanej usługi sieciowej składa się z następujących fraz: fraza alpha definicja najważniejszej czynności realizowanej przez dana operację fraza beta- definiująca podmiot danej czynności fraza gamma będąca dopełnieniem doprecyzowującym szczegółowy kontekst wykonywania czynności przez jej podmiot fraza nfp będąca zbiorem zdefiniowanych dla operacji mierników parametrów pozafunkcjonalnych w kontekście danej organizacji Taka forma modelu wynika z powszechnego braku definicji celu poszczególnych operacji usług sieciowych. Cel jest rozumiany, jako możliwość określenia konkretnej funkcjonalności w konkretnym kontekście.
Ponadto, aby model mógł zostać sprawnie zaadaptowany przez organizację wprowadzono szereg mechanizmów: Lokalnie określone słowniki, które służą do określenia nazewnictwa obowiązującego w konkretnej części organizacji Podział organizacji na autonomiczne jednostki posiadające całkowitą kontrolę nad definicja i zarządzaniem lokalnie określonych słowników na potrzeby opisu poszczególnych operacji usług sieciowych Mapowanie zapytań wykorzystujące możliwość podziału całkowitej przestrzeni wyszukiwania operacji spełniających zadane przez użytkownika parametry na podzbioru spełniające je w odniesieniu do konkretnych fraz opisanych w proponowanym modelu. Mapowanie zapytań poza zdefiniowanym przez model schematem w celu odnalezienia potencjalnie relewantnych operacji. Mapowanie to, może zostać uznane za szczególny przypadek algorytmów typu Query Expansion. Celem tego mechanizmu jest dostarczenie rozsądnych sugestii wykorzystując szeroką ofertę zasobów tak w organizacji jak poza nią. Poza omówionymi pokrótce mechanizmami, praca ta rozważa szereg pomocniczych zagadnienień istotnych z punktu widzenia weryfikacji tezy badawczej. Najważniejsze z nich to automatyczne pozyskiwanie najistotniejszych słów i zwrotów z zasobów organizacji, kojarzenie usług sieciowych z poszczególnych autonomicznych jednostek z najważniejszymi celami biznesowymi organizacji, agregację opisów operacji na poziomie usług sieciowych, rola danych dostarczanych przez użytkowników w trakcie wyszukiwania i opisywania operacji usług sieciowych oraz wiarygodność poszczególnych zasobów wykorzystywanych w realizacji zamierzeń opisanego modelu. Zaproponowany model musiał zostać sprawdzony pod kontem przystawania do zdefiniowanych wymagań. Ta weryfikacja była elementem koniecznym na drodze do weryfikacji postawionej tezy badawczej. W związku z bardzo szerokim zakresem wymagań, koniecznym był szereg eksperymentów biorących pod uwagę tak cechy mierzalne jak szybkość działania mechanizmów, ich skalowalność oraz takich, które pozwalały na uchwycenie opinii użytkowników.
Rezultaty tych eksperymentów pozwoliły na pomyślną weryfikacje tezy badawczej zawartej w tej pracy. Prezentowany model jest efektywną alternatywą pod względem kosztów w stosunku do rozwiązań wykorzystujących technologie semantyczne. W dodatku, dzięki prostocie formułowania opisu i korzystania z niego, jest także alternatywą dla rozwiązań wykorzystujących tradycyjne mechanizmy wyszukiwania informacji. Oferuje on także możliwość jasnej i precyzyjnej definicji funkcjonalność konkretnej operacji usługi sieciowej przy niewielkich nakładach wyrażonych w czasie. Nie bez znaczenia jest także pełne wsparcie dla zdefiniowanych kluczowych wymagań. Tak więc, opisany nowatorski model jest cenna propozycją dla organizacji wykorzystujący paradygmat architektury usługowej, które to stoją przed zadaniem okiełznania ich wewnętrznych usług a nie są gotowe na czasochłonne inwestycje w nieefektywne w kontekście kosztów i czasu działania technologie semantyczne. Model oraz pomocnicze względem niego mechanizmy są bardzo dobrym przyczynkiem do pełnego wdrożenia spójnego i elastycznego rozwiązania w organizacji, która chciałaby wykorzystać paradygmat architektury usługowej w pełni oraz dać swoim członkom lepsze narzędzia podnosząc jakość ich pracy przy minimalnych nakładach. Takie wdrożenie pozwoliłoby na pełny ogląd możliwych zastosowań oraz dostarczyłoby wspaniały zasób nowych danych potrzebnych do dalszego rozwoju prezentowanego modelu.