semantische webdienste in owl-s und wsmo name : sinan sen betreuer : dr. andreas gerber datum :...
TRANSCRIPT
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 !