Semantische Webdienste in OWL-S und WSMO Name : Sinan Sen Betreuer : Dr. Andreas Gerber Datum :...

Preview:

Citation preview

Semantische Webdienste in OWL-S und WSMO

Name : Sinan Sen

Betreuer : Dr. Andreas Gerber

Datum : 09.11.2005

2

Übersicht

Einführung OWL-S WSMO OWL-S vs. WSMO Zusammenfassung Diskussion

3

Einführung

Bedeutung des semantischen Inhaltes maschinenverständlich

Realisierung von semantischen Webdiensten Beinhaltet maschinenverständliche Schnittstelle für

Kommunikation & Kooperation Suche, Einbinden, Überwachung sind automatisiert Setzt Rahmen mit der diese Beschreibung möglich ist Im Rahmen dieses Vortrages die Ontologien:

OWL-S WSMO

4

OWL-S

5

OWL-S Hintergrund

Nachfolger von DAML-S Baut auf OWL auf Sehr viele Einrichtungen sind beteiligt, u.A.

Carnegie Mellon University BBN Technologies Stanford University Nokia Yale University

6

OWL-S & W3C Architektur

OWL-S baut auf:

HTTP

RDF

RDFS

OWL

OWL-SX

ML

& X

ML

S

7

OWL-S Komponenten

Resource

ServiceGrounding ServiceModel

ServiceProfile

Service

8

Beispiel

Fiktive Fluggesellschaft BravoAirService.owl BravoAirServiceProfile.owl BravoAirServiceModel.owl BravoAirServiceGrounding.owl

9

Service Klasse

Zentrale Organisationseinheit des Webdienstes

Jeder Webdienst hat eine Instanz der Klasse Service

Hat die Eigenschaften: presents describedBy supports

10

Bsp: BravoAirService.owl

[…]

<service:Service rdf:ID="BravoAir_ReservationAgent">

<service:presents rdf:resource="&ba_profile;#Profile_BravoAir"/>

<service:describedBy rdf:resource="&ba_process;#ProcessModel"/>

<service:supports rdf:resource="&ba_grounding;#Grounding_BravoAir"/>

</service:Service>[…]

11

ServiceProfile

ServiceGrounding

ServiceModel

ServiceProfile

Service

12

ServiceProfile

Veröffentlichung des Webdienstes Beschreibt den Zweck des Webdienstes Wichtig für Automatische Suche nach

Webdiensten Service Registries (UDDI) Service-Suchagenten

Beinhaltet folgende Informationen nicht-funktionale Informationen funktionale Informationen andere Informationen

13

Bsp: BravoAirProfile.owl

Nicht-Funktionale Eigenschaften<profile:serviceName>BravoAir_ReservationAgent</profile:serviceName><profile:textDescription>This service provide flight reservations based on the…</profile:textDescription><profile:contactInformation> <actor:Actor rdf:ID="BravoAir-reservation"> <actor:name>BravoAir Reservation department</actor:name>

<actor:title> Reservation Representative </actor:title><actor:phone>412 268 8780 </actor:phone>

[…]</profile:contactInformation>[…]

14

Bsp: BravoAirProfile.owl

funktionale Eigenschaften Input, Output, Precondition, Effect (IOPE)

[…]

<profile:hasInput rdf:resource="&ba_process;#DepartureAirport_In"/>

<profile:hasInput rdf:resource="&ba_process;#ArrivalAirport_In"/>

<profile:hasOutput rdf:resource="&ba_process;#AvailableFlightItineraryList_Out"/>

<profile:hasEffect rdf:resource="&ba_process;#HaveSeat"/>

[…]

15

Bsp: BravoAirProfile.owl

andere Eigenschaften Kategorie Rating Service Parameter

<profile:serviceParameter> <addParam:GeographicRadius rdf:ID="BravoAir-geographicRadius"> <profile:serviceParameterName>BravoAir GeoRadius

</profile:serviceParameterName> <profile:sParameter rdf:resource="&country;#UnitedStates"/> </addParam:GeographicRadius> </profile:serviceParameter>

16

OWL-S ServiceModel

ServiceGrounding ServiceModel

ServiceProfile

Service

17

ServiceModel

Wie Arbeitet ein Webdienst? Wie kann der Dienst benutzt werden? Wichtig für folgende Automatismen:

Aufruf Komposition Überwachung Interoperabilität

Interaktion mit einem Webdienst kann als ein Prozess betrachtet werden

18

Atomic & Simple process

Prozessarten Atomic

Erwartet eine Nachricht Sendet eine Nachricht Direkte Übergabe von Eingabedaten vom Client Nur zwei Teilnehmer Keine weiteren Unterprozesse

Simple Abstrakte Darstellung Kein Aufruf möglich Verwendung z.B. durch Planer

19

Bsp: BravoAirServiceModel.owl

Beispiel: Atomic Prozess […]

<process:AtomicProcess rdf:ID="LogIn">

<process:hasInput rdf:resource="#AcctName_In"/>

<process:hasInput rdf:resource="#Password_In"/>

</process:AtomicProcess>

<process:Input rdf:ID="AcctName_In">

<process:parameterType rdf:resource="&concepts;#AcctName"/>

</process:Input>

<process:Input rdf:ID="Password_In">

<process:parameterType rdf:resource="&concepts;#Password"/

</process:Input>[…]

20

Composite Process

Für komplexe Aufgaben Zustand ändert sich mit jeder weiteren

Nachricht Besteht aus Unterprozessen

Non-composite Composite

Kontrollstrukturen für die Komposition Sequence If-then-else, Choice, Split+Join,Iterate

Any-Order,Condition,Repeat-While, Repeat-Until

21

Bsp: BravoAirServiceModel.owl

Beispiel: Composite Prozesse[…]

<process:CompositeProcess rdf:ID="BookFlight">

<process:composedOf>

<process:Sequence>

<process:components rdf:parseType="Collection">

<process:AtomicProcess rdf:about="#LogIn"/>

<process:AtomicProcess rdf:about="#ConfirmReservation"/>

</process:components>

</process:Sequence>

</process:composedOf>

</process:CompositeProcess>

[…]

22

Process Parameter

hasParticipant Process hat mindestens zwei Teilnehmer

TheClient TheServer

IOPE hasInput hasOutput hasLocal hasPrecondition hasResult

23

OWL-S ServiceGrounding

ServiceGrounding ServiceModel

ServiceProfile

Service

24

ServiceGrounding Aufgabe

Zugriff auf den Webdienst Protokolle

HTTP, SOAP, RPC, JAVA RMI etc. Nachrichtenformate Zuordnung einer abstrakten Spezifikation zu einer

konkreten Spezifikation Atomic Prozess

Input Output

25

ServiceGrounding Architektur

26

WSMO

27

WSMO

Europäische Initiative

Baut auf WSMF (Web Service Modelling Framework)

Besteht aus Vier Hauptelementen

Konzept der Mediatoren

28

WSMO Initiative

Setz sich zusammen aus: WSMO Working Group

Konzeptuelles Modell zur Beschreibung von semantischen Webdiensten

WSML Working Group Formale Beschreibung für

WSMO

WSMX Working Group Referenz-Architektur für

WSMO Suchen, auswählen,

Komposition, aufrufen von Webdiensten

29

WSMO Top-Level-Elemente

30

WSMO Top-Level Elemente

Ontologiesstellt die formale Semantik für die anderen WSMO

Elemente zur Verfügung Web Services

Beschreibt die verschiedenen Aspekte der Webdienste

GoalsZiele, die ein Client beim Kontaktieren des Webdienstes hat

MediatorsHandhabung von Interoperabilitätsproblemen zwischen den

verschiedenen Elementen in WSMO

31

Syntax – Top Level Elemente

Class wsmoTopLevelElement

hasNonFunctionalProperties type nonFunctionalProperties

Class ontology sub-Class wsmoTopLevelElement

Class webService sub-Class wsmoTopLevelElement

Class goal sub-Class wsmoTopLevelElement

Class mediator sub-Class wsmoTopLevelElement

32

WSMO Elemente

Alle Top-Level-Elemente besitzen: Nicht-Funktionale Eigenschaften1

Creator, Publisher, Date, Owner, Title etc. Importierten Ontologien

Modularer Aufbau als Ziel Lösung von komplexen Problemen

Mediatoren z.B. Konfliktauflösung beim Importieren von Ontologien

1 Für alle Eigenschaften siehe. http://www.w3.org/Submission/2005/SUBM-WSMO-20050603/

33

WSMO Ontology

Definiert auf Meta-Ebene (meta-ontology) Besteht neben den vorgestellten

Eigenschaften noch aus: Concept Relation Function Instance Axiom

34

Bsp: WSMO Ontology

namespace {_"http://example.org/tripReservationOntology#", dc _"http://purl.org/dc/elements/1.1#", loc _"http://example.org/locationOntology#“ }

ontology _"http://example.org/tripReservationOntology" nonFunctionalProperties dc#title hasValue "Trip Reservation Ontology"

dc#identifier hasValue _"http://example.org/tripReservationOntology" dc#creator hasValue _"http://example.org/foaf#deri" endNonFunctionalProperties

importsOntology { _"http://example.org/locationOntology", _"http://example.org/purchaseOntology"}

usesMediator _"http://example.org/owlPersonMediator"

35

WSMO Web Services

Capability Beschreibt die Funktionalität des Webdienstes

Shared Variables, Preconditions, Assumptions, Postconditions ,Effects

Interface Erreichbarkeit der Funktionalität

Choreography (Benutzersicht) Kommunikation zwischen Konsument & Webdienst

Orchestration (Providersicht) Kooperation zwischen Webdiensten um die eine

gewünschte Funktionalität zu erreichen

36

Bsp: WSMO Web Services

namespace { _"http://example.org/bookTicket#",

dc _"http://purl.org/dc/elements/1.1#"}

webService _"http://example.org/bookTicketWebService“

importsOntology _“http://example.org/tripReservationOntology“

capability BookTicketCapability

interface BookTicketInterface

37

WSMO Goals

Capability Funktionalität, die ein Benutzer haben möchte

Interface Schnittstelle eines Webdienstes, die ein Benutzer

benutzen möchte um mit dem Webdienst zu kommunizieren

38

Bsp: WSMO Goals

goal _"http://example.org/havingATicketReservationInnsbruckVenice" importsOntology {_"http://example.org/tripReservationOntology", _"http://www.wsmo.org/ontologies/locationOntology"} capability postcondition definedBy ?reservation[ reservationHolder hasValue ?reservationHolder, item hasValue ?ticket ] memberOf tr#reservation

and ?ticket[ trip hasValue ?trip] memberOf tr#ticket

and ?trip [ origin hasValue loc#innsbruck, destination hasValue loc#venice] memberOf tr#trip.

39

WSMO Mediatoren

ggMediatoren Zwei Ziele verknüpfen

ooMediatoren Konfliktauflösung beim Ontologieimport

wgMediatoren Webdienst und Ziel verknüpfen

wwMediatoren Zwei Webdienste verknüpfen

40

OWL-S vs. WSMO

41

OWL-S vs. WSMO & W3C

OWL-S basiert auf W3C Standards RDF OWL

WSMO basiert auf WSMF (kein W3C Standart)

42

Service

OWL-S ServiceProfile ServiceModel ServiceGrounding

WSMO Goals

Unabhängig vom Webdienst definiert und werden über wgMediatoreneingebunden

Capability Interface (choreography + grounding)

43

ServiceProfile

OWL - S WSMO

Zweck des Webdienstes ServiceProfile Goal & Capability

Kardinalität [0, ∞] Goal [0, ∞]

Capabiltiy [0, 1]

ServiceParameter beliebig erweiterbar vordefinerte Liste (DC)

44

ServiceProfile – Non-Functional

OWL-S beinhaltet visuell vom Menschen lesbare Information serviceName, textDescription, contactInfo Nur in ServiceProfile

WSMO benutzt für diese Informationen Dublin Core dc:title, dc:description,dc:owner, dc:publisher etc. In allen Elementen vorhanden

45

ServiceModell

OWL - S WSMO

Arbeitsweise eines Webdienstes

ServiceModell Capabiltiy + Interface

Teilnehmer hasClient

hasServer

Wird nicht explizit festgelegt

Profile/Model consistency

Keine Konsistenzprüfung zwischen ServiceProfile und ServiceModel

Wird nicht explizit festgelegt

46

ServiceModel - Prozesse

OWL-S Atomic, Simple und Composite

WSMO Realisierung mit Choreography und Orchestration

Zustände Zustandsübergänge

If-then-update (choreography) If-then-mediator (orchestration)

47

Grounding

Kommunikation mit dem Webdienst OWL-S

ServiceGrounding WSDL (SOAP, HTTP)

WSMO (WSMO Working Draft 16 September 2005)

Web Service Choreography WSDL (SOAP, HTTP)

48

Zusammenfassung

OWL-S und WSMO teilen die Ansicht, dass Ontologien die zentrale Rolle bei der Realisierung von Webdiensten spielen.

OWL-S liegt eine Spezialisierung, Generalisierungsstrategie zur Grunde Atomic Prozesse die zu größeren zusammengefasst

werden können WSMO strebt unabhängig entwickelte

„Insellösungen“ an, die über Mediatoren unterschiedlich start miteinander kommunizieren sollen.

49

Quellen

OWL-S http://www.daml.org/services/owl-s/1.1/ http://www.cs.cmu.edu/~softagents/daml_Mmaker/daml-

s_matchmaker.htm http://www.w3.org/Submission/2004/SUBM-OWL-S-related-20041122/ http://www.w3.org/Submission/OWL-S/

OWL-S Editoren http://www.daml.org/services/owl-s/tools.html

50

Weitere Quellen

WSMO http://www.wsmo.org http://www.w3.org/Submission/WSMO/ http://www.wsmo.org/wsmx/ http://www.wsmo.org/wsml/ http://wsmo.org/TR/d24/d24.2/v0.1/

WSMO-Editor http://www.wsmostudio.org/

51

Vielen Dank für Ihre Aufmerksamkeit !

Recommended