• Nie Znaleziono Wyników

Wykorzystanie technologii agentów w usługach sieciowych

N/A
N/A
Protected

Academic year: 2021

Share "Wykorzystanie technologii agentów w usługach sieciowych"

Copied!
13
0
0

Pełen tekst

(1)Zeszyty Naukowe nr 814. 2010. Uniwersytetu Ekonomicznego w Krakowie. Grażyna Paliwoda-Pękosz Katedra Informatyki. Wykorzystanie technologii agentów w usługach sieciowych*1 Streszczenie. W artykule zaprezentowano architekturę usług sieciowych, ze szczególnym uwzględnieniem roli agentów programowych. Zwrócono uwagę na konieczność semantycznego opisu usług sieciowych, który jest konieczny do realizacji przez agenty ich funkcji. Zaprezentowano przegląd technologii wykorzystywanych w usługach sieciowych oraz semantycznych usługach sieciowych. Słowa kluczowe: usługi sieciowe, semantyczne usługi sieciowe, agenty.. 1. Wprowadzenie Rozwój Internetu był przyczyną powstania nowej architektury systemów komputerowych zorientowanych nie na obiekty (object oriented architecture), lecz na usługi (service oriented architecture). Taką architekturę systemów pozwala modelować technologia agentów [Luck i in. 2005]. Technologia ta została zastosowana do modelowania usług sieciowych (web service – WS). W artykule zaprezentowano wprowadzenie do teorii agentów oraz usług sieciowych. Przedstawiono także semantyczne podejście do zagadnień związanych z usługami sieciowymi, ze szczególnym zwróceniem uwagi na rolę technologii agentów. 2. Wprowadzenie do teorii agentów Systemy opierające się na technologii agentów pojawiły się w połowie lat 90. i stały się ważnym obszarem badań, zorientowanym na usługową funkcję opro*. Opracowanie powstało w ramach projektu badawczego „Metody sztucznej inteligencji i analizy danych w ekonomii i zarządzaniu” zrealizowanego pod kierunkiem J. Wołoszyna, 69/KI/1/2006/S..

(2) 88. Grażyna Paliwoda-Pękosz. gramowania. Uzupełniły lub może nawet zastąpiły (różne są opinie naukowców) podejście obiektowe do tworzenia oprogramowania podejściem usługowym. W literaturze przedmiotu znaleźć można różne definicje agenta i systemów agentowych. W Agent Technology Roadmap opracowanym przez AgentLink III [Information Society Technologies Coordination Action for Agent-based Computing; Luck i in. 2005] agenta definiuje się jako program komputerowy zdolny do elastycznego i autonomicznego działania w dynamicznym, nieprzewidywalnym środowisku, zazwyczaj obejmującym innych agentów, tzw. multiagentowym (multi-agent domains). W specyfikacji architektury WWW wyróżnia się natomiast pojęcie web agenta i definiuje się go jako osobę lub oprogramowanie działające w przestrzeni informacyjnej (WWW) w imieniu osoby, jednostki lub procesu [Architecture of the World Wide Web... 2004]. Jest to zatem definicja szersza od poprzedniej. Odpowiednikiem agenta z poprzedniej definicji jest agent programowy (software agent), wyróżnia się natomiast dodatkowo pojęcie agenta użytkownika (user agent) jako oprogramowanie działające w imieniu użytkownika obejmujące serwery, serwery proxy, pająki, przeglądarki i odtwarzacze multimedialne. W specyfikacji W3C User Agent Accessibility Guidelines 1.0 [2000] agentem użytkownika jest każde oprogramowanie, które pozyskuje i dostarcza zawartość WWW użytkownikom. Ze względu na temat artykułu najbardziej odpowiednia jest definicja sformułowana przez World Wide Web Consortium w specyfikacji architektury WS: agent jest to program działający w imieniu osoby lub organizacji, którego właścicielem jest osoba lub organizacja; może on realizować usługi oraz żądać wykonania usług; w szczególności agenty realizują i żądają usług sieciowych [Web Services Architecture W3C... 2004]. Szereg innych definicji agentów można znaleźć na stronie Agtivity Advancing the Science of Agent Technology (http://agtivity.com/ def/multi_system.htm). Agent programowy może być autonomiczny lub być składnikiem systemu multiagentowego, który definiowany jest jako kolekcja agentów programowych, wzajemnie na siebie oddziałujących. Agenty mogą ze sobą współpracować lub współzawodniczyć w dostępie do zasobów i usług środowiska, ale muszą mieć wspólną infrastrukturę, aby mogły stanowić system. Wyróżnia się czasem pojęcie otwartego systemu multiagentowego, czyli takiego, do którego mogą dołączyć inne, zewnętrzne agenty, oraz zamkniętego – do którego nie mogą one dołączyć (http://agtivity.com/def/multi_system.htm). WWW można traktować jako system multiagentowy. Mianem technologii agentowej określa się natomiast metody programowania, struktury i narzędzia, których używa się do projektowania, implementowania i wykorzystania agentów programowych. Cechami, które odróżniają agenty programowe od zwykłych programów, są [Franklin i Graesser 1996]:.

(3) Wykorzystanie technologii.... 89. – autonomia – po uruchomieniu agenty operują samodzielnie, bez bezpośredniego udziału człowieka (nie wymagają ciągłego potwierdzania przez użytkownika pewnych działań w formie kliknięć myszką czy naciskania klawiatury), – zorientowanie na cel, – zdolność reakcji na zmieniające się środowisko, – ciągłość działania – program nie jest wykonywany na żądanie, lecz sam decyduje, kiedy powinien podjąć działanie, – cechy społeczne – agenty oddziałują z innymi agentami, korzystając z określonego języka komunikacji. W literaturze przedmiotu brak spójności w zakresie klasyfikacji agentów. W opracowaniu [Nwana 1996] wyróżniono trzy podstawowe cechy charakteryzujące agenty, a mianowicie: autonomiczność, zdolność uczenia i kooperacji. W zależności od kombinacji cech dominujących w zachowaniu agentów wyodrębniono następujące klasy agentów (zob. rys. 1): – agenty współpracujące (collaborative agents) – agenty działające w środowiskach kolaboratywnych mające zdolność interakcji z innymi agentami lub ludźmi dzięki wykorzystaniu pewnego języka komunikacji; – agenty współpracujące uczące się (collaborative learning agents) – agenty działające w środowiskach kolaboratywnych, które mają zdolność uczenia się, – agenty interfejsu (interface agents) – wyróżniają się przede wszystkim autonomicznością i zdolnością uczenia. Są to programy komputerowe stosujące metody sztucznej inteligencji w celu ułatwienia użytkownikowi współpracy z określoną aplikacją [Maes 1994]. Agenty interfejsu obserwują bieżące działania użytkownika i na tej podstawie doradzają mu, pomagają (np. asystent w pakiecie MS Office) albo dostarczają użytkownikowi informacji, która może mu być potrzebna w danej chwili [Rhodes i Maes 2000]; – inteligentne agenty (smart agents) – autonomiczne agenty, zdolne do adaptacji do środowiska, w którym działają, oraz uczenia (dziedzina badań sztucznej inteligencji AI). Według innej klasyfikacji agenty dzieli się na inteligentne (intelligent agents) i mobilne (mobile agents). Mianem inteligentnych agentów określa się wtedy agenty, które mogą rozumować lub planować, natomiast mobilnymi agentami nazywa się te, które mogą przemieszczać się pomiędzy komputerami w sieci – przenosić swój kod na inne komputery i tam się uruchamiać (http://www.agentlink. org/about/faq.html#q4). W pracy [Badica, Ganzha i Paprzycki 2006] zwrócono uwagę na konflikt pomiędzy mobilnością a inteligencją agentów. Podjęto próbę jego rozwiązania poprzez zaprojektowanie modułowych agentów i określenie, który moduł gdzie, kiedy i przez kogo ma zostać wysłany. Inne wersje klasyfikacji agentów można znaleźć np. w opracowaniach: [Franklin i Graesser 1996, Nwana 1996, Pietruszkiewicz 2003]; szereg rodzajów komercyjnych inteligentnych agentów znajduje się na stronie http://www.botspot.com/..

(4) 90. Grażyna Paliwoda-Pękosz. Agenty współpracujące uczące się. Inteligentne agenty. uczą się. współpracują. Agenty współpracujące. są autonomiczne. Agenty interfejsu. Rys. 1. Kategorie agentów programowych Źródło: [Nwana 1996].. Technologia agentów znalazła zastosowanie w różnych obszarach działalności człowieka, np. w logistyce operacji militarnych, planowaniu procesu produkcji, bezprzewodowej komunikacji [The Intelligent Software Agents Lab], rynkach finansowych (np. [Stanek, Mazur i Sadecki 2004]). Szczególne miejsce zajmuje w zagadnieniach związanych z Internetem, a mianowicie: automatycznym zbieraniu i agregacji danych z różnych sieciowych źródeł (np. [Nguyen, Ganzha i Paprzycki 2006, Rhodes i Maes 2000, Tamma i in. 2005], systemach rekomendujących, personalizacji informacji z sieci [Gauch, Chaffee i Pretschner 2003] oraz, co jest przedmiotem rozważań w następnych punktach, usługach sieciowych. 3. Architektura usług sieciowych W artykule zaprezentowano architekturę usług sieciowych opracowaną przez World Wide Web Consortium [Web Services Architecture W3C Working Group Note 2004]. ]. Definiuje ono usługę sieciową jako system oprogramowania zaprojektowany w celu umożliwienia interakcji pomiędzy komputerami w sieci. Interfejs WS opisany jest w języku WSDL możliwym do przetwarzania komputerowego, komunikuje się on natomiast z innymi systemami z wykorzystaniem protokołu SOAP, który używa technologii XML do wymiany informacji strukturalnej w środowisku rozproszonym. WS jest pojęciem abstrakcyjnym, charakteryzowanym przez opis funkcji, które dostarcza. Funkcje te są realizowane przez agenty programowe lub.

(5) 91. Wykorzystanie technologii.... sprzętowe, które mogą być zaimplementowane w różnych językach programowania. WS modelowany jest zatem jako forma systemu agentowego. Na rys. 2 przedstawiony został schemat działania usługi sieciowej. Właścicielami usług sieciowych mogą być firmy lub osoby i one zapewniają agenty, tzw. agenty dostarczyciele (provider agent) do zaimplementowania usługi. Stanowią one tzw. jednostkę dostarczającą usługę (provider entity) dla jednostki żądającej usługi (requester entity), którą może być również osoba lub organizacja reprezentowana przez tzw. agenta żądania (request agent). Agenty obu stron wymieniają między sobą komunikaty, przy czym zazwyczaj stroną inicjującą kontakt jest agent żądania.. Serwisy znajdujące UDDI. Kryteria. FD +. WSDL OWL-S. 1b. WSD. Jednostka żądająca. WSD 1a Jednostka dostarczająca. 1c 2. Sem. 2. Osoba żądająca. Osoba dostarczająca. Sem +. Sem 3. WSD. Agent żądania. +. 3 Interakcja Komunikaty SOAP (XML) Protokoły sieciowe HTTP, FTP. WSD. Agent dostarczający. 4. Rys. 2. Architektura usług sieciowych Źródło: opracowanie własne na podstawie http://www.w3.org/TR/ws-arch/, rys. 3–2.. Zanim agenty zaczną wymieniać między sobą komunikaty, muszą uzgodnić semantykę oraz mechanizm wymiany komunikatów, który jest udokumentowany w WSD (Web Service Description) zapisanym w języku WSDL. WSD definiuje [Web Services Architecture W3C Working Group Note 2004]:.

(6) 92. Grażyna Paliwoda-Pękosz. – format komunikatów, – typy danych, – protokoły transmisji danych oraz format transmisji, który powinien być użyty pomiędzy agentem żądającym (wywołującym) oraz agentem dostarczającym daną usługę, – lokalizacje (lub kilka lokalizacji) agenta dostarczyciela w sieci. Semantykę usługi definiuje się jako oczekiwane zachowanie usługi w momencie interakcji, a w szczególności jej odpowiedzi na komunikaty do niej przesyłane. Jest ona rodzajem kontraktu pomiędzy jednostką dostarczającą oraz żądającą i może być opisana formalnie w języku czytelnym dla komputera, zidentyfikowana, ale niezdefiniowana formalnie, lub nieformalnie zdefiniowana. Rys. 1 obrazuje etapy, w których jednostka żądająca nawiązuje kontakt i wykorzystuje WS [Web Services Architecture W3C Working Group Note 2004]: 1. Jednostki żądająca i dostarczająca usługi odkrywają się. 2. Obie strony uzgadniają opis serwisu i jego semantykę (Sem), które będą wykorzystywane do interakcji pomiędzy agentami. 3. Agenty realizują opis usługi (WSD) i semantykę (Sem). 4. Agenty wymieniają komunikaty SOAP (działając w ten sposób w imieniu swoich właścicieli). Odkrywanie usługi przez agenta żądania jest to znalezienie serwisu (opisanego w sposób możliwy do przetworzenia komputerowo), który spełnia określone wymagania. Proces ten realizowany jest przez serwis odkrywania, który też jest agentem (żądania, dostarczycielem lub innym) i może być podzielony na następujące etapy [Web Services Architecture W3C Working Group Note 2004]: – (1a) serwis odkrywania otrzymuje opis usługi (WSD) i możliwy do przetworzenia komputerowego funkcjonalny opis serwisu (np. kilka słów metadanych, kolekcję zdań w językach RCF, DAML-S lub OWL-S). Serwis odkrywania może być zaimplementowany jako wyszukiwarka (przeszukuje sieć i zbiera opisy wszystkich serwisów bez wiedzy właścicieli serwisów) lub jako rejestr (np. UDDI, wtedy właściciel serwisu musi przesłać dane o serwisie do serwisu odkrywania); – (1b) jednostka żądania dostarcza kryteriów wyszukiwania usługi do serwisu odkrywania (np. funkcje usługi, jednostka dostarczająca usługę); – (1c) serwis odkrywania przesyła opisy serwisów (lub odnośniki do opisów) spełniające kryteria. Jeżeli więcej niż jedna usługa spełnia kryteria, to jednostka żądająca wybiera jeden z tych serwisów na podstawie dodatkowych kryteriów. Architekturę WS można modelować, biorąc pod uwagę różne aspekty jego funkcjonowania. W wytycznych [Web Services Architecture W3C Working Group Note 2004] przedstawiono następujące modele: – MOM (Message Oriented Model) to model zorientowany na strukturę komunikatów, zależności pomiędzy nadawcami i odbiorcami przekazów oraz sposobem.

(7) 93. Wykorzystanie technologii.... ich transmisji. Komunikaty, składające się z nagłówka i części podstawowej, są dostarczane i przetwarzane przez agentów; – ROM (Resource Oriented Model) to model zorientowany na zasoby. Zasób określony jest poprzez URI (uniform resource identifier), jego właścicielem jest osoba lub organizacja; – PO (Policy Model) to model zorientowany na ograniczenia w zachowaniu agentów i serwisów, które można podzielić na dwa rodzaje: pozwolenia (permissions – polityka opisująca akcje i stany dozwolone dla agentów) i zobowiązania (obligations – polityka opisująca akcje lub stany agenta); politykę ustanawia osoba lub organizacja, która jest właścicielem serwisu; – SOM (Service Oriented Model) jest modelem zorientowanym na usługi i działania agentów, a w szczególności na cel wykorzystania komunikatów. Najważniejszym modelem, ze względu na funkcjonowanie usług sieciowych, jest SOM. Zarys struktury tego modelu przedstawia rys. 3. Centralną pozycję w tym modelu zajmuje usługa realizowana przez agenta. Osoba lub organizacja jest właścicielem usługi i ją kontroluje. W modelu tym metadane opisują usługę, a komunikaty reprezentują żądania akcji, jaką ma podjąć usługa, oraz odpowiedzi na te żądania.. Osoba lub organizacja Agent jest właścicielem / kontroluje realizuje Usługa sygnalizuje Komunikat. dotyczą Metadane. Rys. 3. Uproszczony SOM Źródło: http://www.w3.org/TR/ws-arch/, tłumaczenie własne.. Podstawowymi technologiami wykorzystywanymi w usługach sieciowych są [Web Services Architecture W3C Working Group Note 2004, Luck i in. 2005]: – UDDI (Universal Description, Discovery and Integration) – protokół do opisu profilu usługi; – SOAP (Service Oriented Architecture Protocol) – definiuje sposób wymiany komunikatów zapisanych w języku XML (Extensive Extensive Markup Language); wykoykorzystuje takie protokoły sieciowe, jak: HTTP, SMTP, FTP, RMI/IIOP;.

(8) 94. Grażyna Paliwoda-Pękosz. – WSDL (Web Service Description Language) – język opisujący WS, a w szczególności komunikaty, które są wymieniane pomiędzy agentami żądania i agentami dostarczycielami. Na uwagę zasługuje fakt, że komunikaty są opisane w sposób abstrakcyjny, a później dopiero mapowane do określonego protokołu sieciowego lub formatu komunikatów. Dzięki temu definicje WS mogą być mapowane do dowolnego języka implementacji serwisu, platformy, modelu obiektów lub systemu komunikatów. WSDL dostarcza gramatyki w języku XML do opisu usług sieciowych; – BPEL4WS (Business Process Execution Language for Web Services) – dostarcza języka do formalnej specyfikacji procesów biznesowych i protokołów współdziałania biznesowego, dzięki czemu umożliwia transakcje biznesowe w środowisku usług sieciowych. Dostarcza mechanizmów opisujących sposoby połączenia wielu usług sieciowych w celu realizowania przez nie wspólnych procesów biznesowych. BPEL4WS definiuje model zautomatyzowanej integracji procesów możliwy do wykorzystania zarówno wewnątrz przedsiębiorstwa, jak i pomiędzy przedsiębiorstwami w operacjach typu B2B (http://www-128.ibm.com/ developerworks/library/specification/ws-bpel/). Rozwiązania w obszarze usług sieciowych można podzielić na [Li, Shen i Ghenniwa 2004]: – dostarczanie technologii, – prace nad szkieletami i platformami, – rozwój aplikacji, – prace nad systemami biznesowymi bazującymi na WS. Standardy technologii usług sieciowych opracowuje W3C (World Wide Web Consortium, http://www.w3.org/) oraz OASIS (Organization for the Advancement of Structured Information Standards, http://www.oasis-open.org/home/index. php), natomiast firmy takie jak np. IBM, SUN, Microsoft dostarczają technologii i platform do implementacji serwisów. Najbardziej znane to Java Platform, Enterprise Edition (http://java.sun.com/javaee/) oraz .NET (http://www.microsoft.com/ poland/developer/net/default.mspx). Obecnie usługi sieciowe są odszukiwane i obsługiwane przez człowieka. Przewiduje się jednak, że w niedalekiej przyszłości usługi sieciowe (np. serwisy – biura podróży, serwisy sprzedające książki) będą automatycznie wyszukiwane i obsługiwane przez agenty działające w imieniu człowieka. Będzie to możliwe wtedy, gdy zawartość serwisów będzie semantycznie oznaczona, czyli możliwa do rozpoznania i „zrozumienia” przez agenty programowe [Sycara i Martin 2006]. W tym celu podejmuje się prace nad stworzeniem języków ontologii do opisu usług sieciowych (zob. punkt 4)..

(9) Wykorzystanie technologii.... 95. 4. Semantyczne usługi sieciowe W zasobach WWW znajduje się około 10 bilionów stron [Shadbolt, Berners-Lee i Hall 2006], ale pomimo dostępu do wyszukiwarek wydobycie z tych stron danych i informacji jest trudne, chociaż kilka lat temu, po zaproponowaniu przez T. Bernersa-Lee idei sieci semantycznej [Berners-Lee, Hendler i Lassila 2001], wydawało się możliwe do szybkiego osiągnięcia. Twórca WWW Tim Berners-Lee wraz ze swoimi współpracownikami, zarysował w 2001 r. wizję sieci semantycznej, w której w imieniu człowieka lub organizacji działają inteligente agenty i boty [Berners-Lee, Hendler i Lassila 2001]. Obecnie w sieci znajduje się dużo botów (zob. http://www.botspot.com/), ale, niestety, są one na ogół projektowane w celu wykonania specyficznego zadania i mają ograniczone możliwości działania z heterogenicznymi typami danych i informacji [Shadbolt, Berners-Lee i Hall 2006]. Widoczne jest jednak coraz większe zapotrzebowanie na standaryzowany opis zasobów sieci, bo tylko dzięki standaryzacji możliwe jest łączenie wiedzy z pokrewnych dziedzin nauki. Rozwój technologii agentów będzie możliwy tylko wtedy, gdy ugruntowane zostaną standardy opisu informacji, czyli ontologie [Shadbolt, Berners-Lee i Hall 2006]. Sieci semantyczne dają ogromne możliwości integrowania danych poprzez powiązanie surowych danych, np. z baz danych, dokumentów XML, arkuszy kalkulacyjnych, i traktowania ich jako jednej, ogromnej bazy danych. Celem sieci semantycznej jest stworzenie uniwersalnej platformy w celu wymiany danych, dzielenia i przetwarzania ich zarówno przez narzędzia automatyczne, jak i człowieka. Zaletą sieci semantycznej są nowe możliwości użycia danych w sieci. Przykładowo przeglądarka internetowa mogłaby nie tylko umożliwiać oglądanie danych, ale np. pozwalać na ich użycie w innych aplikacjach – np. po dokonaniu rezerwacji na samolot można by dane o rezerwacji automatycznie przenieść do kalendarza [The Semantic Web... 2005]. Ideę sieci semantycznej zastosowano do opisu usług sieciowych – zdefiniowano pojęcie semantycznych usług sieciowych (SWS – semantic web services). Są one połączeniem technologii sieci semantycznych, w których podstawową rolę odgrywają ontologie umożliwiające interpretację danych przez maszyny, z technologią usług sieciowych skoncentrowaną na automatycznym odkrywaniu, selekcji i wykonywaniu usług w sieci. Semantyczne usługi sieciowe stanowią wizję WWW następnej generacji [Stollberg i in. 2006]. Semantyczne serwisy internetowe umożliwiają automatyczne rozpoznawanie semantycznej zawartości WS, a nie tylko operacji czy struktury udostępniania przez usługę wysłanych i otrzymanych danych. Do opisu sieci semantycznej stworzono wiele języków, między innymi: OIL, DAML, DAML+OIL, OWL, RDF. Specyfika usług sieciowych wymusiła konieczność zaprojektowania szkieletów i języków opisujących semantyczne serwisy internetowe. Najbardziej znane to:.

(10) 96. Grażyna Paliwoda-Pękosz. – WSMF (The Web Service Modeling Framework) [Fensel i Bussler 2002] – szkielet modelowania usług sieciowych, na jego podstawie opracowano WSMO; – DAML-S (DARPA Agent Markup Language for Services) – semantyczny język znaczników do opisu usług sieciowych i związanych z nimi ontologii [Paolucci i Sycara 2003], DAML-S został zastąpiony przez OWL-S; – OWL-S (Ontology Web Language for Services) – OWL-S został zbudowany na bazie OWL (Ontology Web Language) w celu semantycznego opisu usług sieciowych, a nie tylko semantycznego opisu zawartości stron WWW. OWL-S daje podstawę do automatycznego wyszukiwania, korzystania z serwisu i jego monitorowania; – WSMO (Web Service Modeling Ontology) – powstał na podstawie szkieletu WSMF zaproponowanego w [Fensel i Bussler 2002]. Dostarcza języka w celu semantycznego opisu usługi sieciowej, w szczególności umożliwienia zautomatyzowanego znajdowania serwisów. Wykorzystuje formalny język logiczny WSML (The Web Service Modeling Language) [Web Service Modeling Ontology (WSMO) W3C Member Submission 2005]. W celu projektowania semantycznych usług sieciowych opierających się na WSMO stworzono platformę IRS-III (http:// kmi.open.ac.uk/projects/irs/ - irsiii). 5. Agenty w semantycznych usługach sieciowych W literaturze przedmiotu w ostatnich latach pojawiło się wiele prób połączenia semantycznego modelu usług sieciowych z technologią agentów. M. Paolucci i K. Sycara [2003] przedstawili wizję autonomicznych semantycznych usług sieciowych – agentów, które wybierają inne agenty – serwisy i współpracują z nimi w trybie klient–serwer lub równy z równym. Jest ona połączeniem technologii agentów, usług sieciowych i sieci semantycznych. Zaproponowali architekturę usługi sieciowej, wykorzystującą język DAML-S (rys. 4). WS jest opisany poprzez trzy modele [Paolucci i Sycara 2003, Sycara i Paolucci 2004, OWL Web Ontology Language for Services (OWL-S). A W3C Submission 2004]: – profil usługi – zawiera informacje o usłudze dostępne dla jednostek chcących z niej skorzystać: dane o organizacji dostarczającej usługę, opis funkcji oraz inne cechy usługi, jak np. kategoria (według UNSPSC – The United Nations Standard Products and Services Code), jakość serwisu (np. szybko odpowiadający, wolno odpowiadający); – model procesowy (process model) – opisuje operacje wykonywane przez usługę; – model podłoża (grounding model) – opisuje szczegóły komunikacji z usługą poprzez komunikaty..

(11) 97. Wykorzystanie technologii.... Usługa DAML-S. XML. Kompozycja usługi: DAML-S – model procesu. Warstwa odkrywania: DAMS-S – profil usługi. Warstwa realizacji: DAML-S – podłoże. Specyfikacja interfejsu: WSDL Warstwa komunikatów: SOAP Warstwa transportu: HTTP, TCP, UDP, .... Rys. 4. Architektura usługi sieciowej wykorzystująca DAML-S Źródło: [Paolucci i Sycara 2003, s. 37], tłumaczenie własne.. W artykule [Paolucci i Sycara 2003] zaprezentowano wykorzystanie zaproponowanej architektury do zaprojektowania zbioru współpracujących usług (agentów) organizujących wyjazd na konferencje (automatyczne znalezienie miejsca i terminu konferencji, sprawdzenie w MS Outlook, czy nie ma innych spotkań zaplanowanych na ten dzień, rezerwacja samolotu, samochodu i hotelu). W pracy [Li,, Shen i Ghenniwa 2004] połączono wizję usług sieciowych i agentów programowych. Środowisko usług sieciowych potraktowano jako kolekcję ekonomicznie zmotywowanych usług sieciowych opierających się na technologii agentów. Najważniejszą funkcję w integracji tych dwóch technologii pełni semantyczny opis usługi. Naukowcy przedstawili przykład zastosowania ich modelu w handlu elektronicznym. 6. Wnioski Koncepcja usług sieciowych stanowi nowe podejście do zagadnień związanych z elektronicznym biznesem. Zastąpiła ona spojrzenie na usługi elektroniczne typu użytkownik–program poprzez program–program. Może być wykorzystywana do modelowania operacji biznesowych z użyciem Internetu, zarówno pomiędzy przedsiębiorstwami, jak i wewnątrz jednego przedsiębiorstwa. Opiera się na ugruntowanych standardach (np. HTTP, XML) oraz jest motorem powstawania nowych (np. SOAP, WSDL, DAML-S, OWL-S)..

(12) 98. Grażyna Paliwoda-Pękosz. Technologia agentów została zastosowana do modelowania usług sieciowych, ale jak na razie brak implementacji tych modeli na szeroką skalę. Kluczem do powodzenia usług sieciowych opierających się na technologii agentów wydają się standardy semantycznego opisu serwisów, a w szczególności ich funkcji. Podejmowane są próby stworzenia takich standardów, np. OWL-S, ale wymagają one jeszcze udoskonaleń. Literatura Architecture of the World Wide Web [2004], t. 1, W3C Recommendation 15 December http://www.w3.org/TR/webarch/. Badica C., Ganzha M., Paprzycki M. [2006], Developing a Model Agent-based e-commerce System, http://agentlab.swps.edu.pl/agent_papers/ESI_2006.pdf. Berners-Lee T., Hendler J., Lassila O. [2001], The Semantic Web, „Scientific American”, May. Fensel D., Bussler C. [2002], The Web Service Modeling Framework WSMF, „Electronic Commerce Research and Applications”, nr 1(2). Franklin S., Graesser A. [1996], Is It an Agent, or Just a Program? A Taxonomy for Autonomous Agents, Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag. Gauch S., Chaffee J., Pretschner A. [2003], Ontology-based Personalized Search and Browsing, Web Intelligence & Agent Systems, vol. 1, nr 34. The Intelligent Software Agents Lab at Carnegie Mellon University’s Robotics Institute, http://www.cs.cmu.edu/~softagents/intro.htm. Li Y., Shen W., Ghenniwa H. [2004], Agent-based Web Services Framework and Development Environment, „Computational Intelligence”, vol. 20, nr 4. Luck M. i in. [2005], Agent Technology: Computing as Interaction (A Roadmap for Agent Based Computing), AgentLink. Maes P. [1994], Social Interface Agents: Acquiring Competence by Learning from Users and Other Agents [w:] Software Agents – Papers from the 1994 Spring Symposium (Technical Report SS-94-03), ed. O. Etzioni, AAAI Press. Nguyen N.T., Ganzha M., Paprzycki M. [2006], A Consensus-based Multi-agent Approach for Information Retrieval in Internet [w:] Computational Science, Proceedings Part III, ed. V.N. Alexandrov i in., Lecture Notes in Computer Science, 3993, Springer, Berlin. Nwana H.S. [1996], Software Agents: An Overview, „Knowledge Engineering Review”, vol. 11, nr 3, http://agents.umbc.edu/introduction/ao/. OWL Web Ontology Language for Services (OWL-S). A W3C Submission [2004], http:// www.w3.org/Submission/2004/SUBM-OWL-S-20041122/. Paolucci M., Sycara K. [2003], Autonomous Semantic Web Services, „Internet Computing”, nr 7. Paprzycki M. [2003], Agenci programowi jako metodologia tworzenia oprogramowania [w:] Problemy i metody inżynierii oprogramowania, red. Z. Huzar, Z. Mazur, WNT, Warszawa, http://e-informatyka.pl/journal/list-in-issue/kkio5/1025. Pietruszkiewicz W. [2003], Inteligentni agenci, „Internet”, nr 5..

(13) Wykorzystanie technologii.... 99. Rhodes B.J., Maes P. [2000], Just-In-Time Information Retrieval Agents, „IBM Systems Journal”, nr 39(3/4). The Semantic Web: an Interview with Tim Berners-Lee [2005], http://www.consortiuminfo. org/bulletins/semanticweb.php. Shadbolt N., Berners-Lee T., Hall W. [2006], The Semantic Web Revisited, „IEEE Intelligent Systems”, nr 21(3). Stanek S., Mazur M., Sadecki B. [2004], Zastosowanie kreatywnego agenta oprogramowania w module giełdowym IKGSWI wspomagającym inwestycje kapitałowe, Systemy wspomagania organizacji SWO’2004, Katowice. Stollberg M. i in. [2006], Semantic Web Services, Tutorial at the 21st National Conference on Artificial Intelligence (AAAI2006), 17 July, Boston, http://www.wsmo.org/TR/d17/ tutorials/aaai06-tutorialMAP4.html. Sycara K., Martin D. [2006], Half Day Tutorial Proposal for ISWC 2006, „Tools and Technologies for Semantic Web Services: An OWL-S Perspective”. Sycara K., Paolucci M. [2004], Ontologies in Agent Architectures [w:] Handbook on Ontologies in Information Systems, ed. S. Staab, R. Studer, Springer. Tamma V. i in. [2005], Introducing Autonomic Behaviour in Semantic Web Agents [w:] Proceedings of the Fourth International Semantic Web Conference (ISWC 2005), Galway, November. User Agent Accessibility Guidelines 1.0 [2002], 17 December, http://www.w3.org/TR/ UAAG10/glossary.html#def-user-agent. Web Service Modeling Ontology (WSMO) W3C Member Submission [2005], 3 June, http:// www.w3.org/Submission/WSMO/ – services. Web Services Architecture W3C Working Group Note [2004], 11 February, http://www. w3.org/TR/ws-arch/. The Web Services Conceptual Architecture, http://www-3.ibm.com/software/solutions/ webservices/pdf/WSCA.pdf. Application of Agent Technology in Web Services The article addresses the Web services architecture, with special consideration for function of program agents. Attention has been paid to need of semantic description of Web services, which is necessary for proper agents operation. A review of technologies used in Web services and in semantic Web services has also been submitted. Key words: Web services, semantic Web services, agents..

(14)

Cytaty

Powiązane dokumenty

Jest to program mający pokazać dany produkt na okres paru dni lub na liczbę uruchomień.. Ma trzy ograniczenia: niemożna drukować, zapisywać i innych

Polecenie informuje o wyrazach kluczowych dokumentu, zwracając przykładową wartość keywords: HTML, znaczniki itp. Ułatwia to pracę sieciowym programom indeksująco- wyszukiwawczym

‡ Jednym z najprostszych sposobów reprezentowania drzewa jest wykorzystanie dla każdego węzła struktury składającej się z pola lub pól reprezentujących etykietę oraz

W Ustrzykach Dolnych znajduje się jedno miejsce, gdzie turysta może przejrzeć prasę.. Jest to klub-kawiarnia „Ruch” przy

Parki narodowe w Niemczech to między innymi Bawarski Park Narodowy Lasu, Park Narodowy Jasmund, Park Narodowy Harz i Parki Narodowe Morza Wattowego.... Ponad 100 Niemców, w

1.Do każdego typu mniejszości mieszkających w Polsce przyporządkuj trzy spośród wymienionych przykładów.. W tym celu wpisz litery we właściwe

W przeciwnym razie sądy te same w sobie (i to bez względu na ich obiekt) są niczym 52. Borowska Problem metafizyki. Ewolucja metafizyki europejskiej w interpre- tacji późnego

Obecnie w gromadzenie i udostępnianie informacji o nowych technologiach jest zaangażowane wiele ośrodków naukowych, badawczo-rozwojowych oraz jednostek