510 likes | 634 Views
Semantische Webdienste in OWL-S und WSMO. Name : Sinan Sen Betreuer : Dr. Andreas Gerber Datum : 09.11.2005. Übersicht. Einführung OWL-S WSMO OWL-S vs. WSMO Zusammenfassung Diskussion. Einführung. Bedeutung des semantischen Inhaltes maschinenverständlich
E N D
Semantische Webdienste in OWL-S und WSMO Name : Sinan Sen Betreuer : Dr. Andreas Gerber Datum : 09.11.2005
Übersicht • Einführung • OWL-S • WSMO • OWL-S vs. WSMO • Zusammenfassung • Diskussion
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
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
OWL-S HTTP RDFS OWL RDF OWL-S & W3C Architektur • OWL-S baut auf: XML & XMLS
Resource ServiceModel ServiceProfile Service ServiceGrounding OWL-S Komponenten provides presents describedBy supports
Beispiel • Fiktive Fluggesellschaft • BravoAirService.owl • BravoAirServiceProfile.owl • BravoAirServiceModel.owl • BravoAirServiceGrounding.owl
Service Klasse • Zentrale Organisationseinheit des Webdienstes • Jeder Webdienst hat eine Instanz der Klasse Service • Hat die Eigenschaften: • presents • describedBy • supports
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> […]
Service ServiceProfile ServiceProfile presents supports describedBy ServiceModel ServiceGrounding
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
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> […]
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"/> […]
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>
ServiceModel ServiceProfile Service presents describedBy supports ServiceGrounding OWL-S ServiceModel
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
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
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>[…]
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
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> […]
Process Parameter • hasParticipant • Process hat mindestens zwei Teilnehmer • TheClient • TheServer • IOPE • hasInput • hasOutput • hasLocal • hasPrecondition • hasResult
ServiceModel ServiceProfile Service ServiceGrounding OWL-S ServiceGrounding presents describedBy supports
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
WSMO • Europäische Initiative • Baut auf WSMF (Web Service Modelling Framework) • Besteht aus Vier Hauptelementen • Konzept der Mediatoren
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
WSMO Top-Level Elemente • Ontologies stellt die formale Semantik für die anderen WSMO Elemente zur Verfügung • Web Services Beschreibt die verschiedenen Aspekte der Webdienste • Goals Ziele, die ein Client beim Kontaktieren des Webdienstes hat • Mediators Handhabung von Interoperabilitätsproblemen zwischen den verschiedenen Elementen in WSMO
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
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/
WSMO Ontology • Definiert auf Meta-Ebene (meta-ontology) • Besteht neben den vorgestellten Eigenschaften noch aus: • Concept • Relation • Function • Instance • Axiom
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"
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
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
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
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.
WSMO Mediatoren • ggMediatoren • Zwei Ziele verknüpfen • ooMediatoren • Konfliktauflösung beim Ontologieimport • wgMediatoren • Webdienst und Ziel verknüpfen • wwMediatoren • Zwei Webdienste verknüpfen
OWL-S vs. WSMO & W3C • OWL-S basiert auf W3C Standards • RDF • OWL • WSMO basiert auf • WSMF (kein W3C Standart)
Service • OWL-S • ServiceProfile • ServiceModel • ServiceGrounding • WSMO • Goals Unabhängig vom Webdienst definiert und werden über wgMediatoren eingebunden • Capability • Interface (choreography + grounding)
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
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)
Grounding • Kommunikation mit dem Webdienst • OWL-S • ServiceGrounding • WSDL (SOAP, HTTP) • WSMO (WSMO Working Draft 16 September 2005) • Web Service Choreography • WSDL (SOAP, HTTP)
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.
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
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/