17
1 Semantic Semantic Web Services Web Services Web Services Web Services SOAP SOAP – Simple Simple Object Object Access Access Protocol Protocol WSDL WSDL – Web Service Web Service Discription Discription Language Language UDDI UDDI – Universal Description, Discovery and Universal Description, Discovery and Integration Integration Web Services mit Semantik Web Services mit Semantik OWL OWL- S S – Web Web Ontology Ontology Language Language Service Service WSMF WSMF – Web Service Web Service Modelling Modelling Framework Framework 2 Um die Verwendung von Diensten auch für Programme möglich zu mac Um die Verwendung von Diensten auch für Programme möglich zu machen hen, sind folgende Funktionen erforderlich: sind folgende Funktionen erforderlich: Eine komplette Übermittlung der Informationen Eine komplette Übermittlung der Informationen Eine verwertbare Beschreibung des Dienstes Eine verwertbare Beschreibung des Dienstes Ein Verzeichnis vorhandener Dienste Ein Verzeichnis vorhandener Dienste Web Services Web Services die Transportinfrastruktur des die Transportinfrastruktur des Semantic Semantic Web Web SOAP SOAP – Simple Simple Object Object Access Access Protocol Protocol WSDL WSDL – Web Service Web Service Discription Discription Language Language UDDI UDDI – Universal Description, Discovery and Integration Universal Description, Discovery and Integration Webservices sind wieder verwertbare Dienste, die über das Intern Webservices sind wieder verwertbare Dienste, die über das Internet et angeboten werden. angeboten werden. Meistens auf die Meistens auf die Bedienung durch Menschen Bedienung durch Menschen zugeschnitten zugeschnitten Semantic Semantic Web Web Bedienung und Verarbeitung dieser Dienste für Bedienung und Verarbeitung dieser Dienste für Programme Programme

Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

Embed Size (px)

Citation preview

Page 1: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

1

SemanticSemantic Web ServicesWeb ServicesWeb ServicesWeb Services

SOAPSOAP –– Simple Simple ObjectObject Access Access ProtocolProtocolWSDLWSDL –– Web Service Web Service DiscriptionDiscription LanguageLanguageUDDI UDDI –– Universal Description, Discovery and Universal Description, Discovery and

Integration Integration

Web Services mit Semantik Web Services mit Semantik OWLOWL--S S –– Web Web OntologyOntology LanguageLanguage Service Service WSMF WSMF –– Web Service Web Service ModellingModelling Framework Framework

22

Um die Verwendung von Diensten auch für Programme möglich zu macUm die Verwendung von Diensten auch für Programme möglich zu machenhen,sind folgende Funktionen erforderlich: sind folgende Funktionen erforderlich:

Eine komplette Übermittlung der Informationen Eine komplette Übermittlung der Informationen

Eine verwertbare Beschreibung des Dienstes Eine verwertbare Beschreibung des Dienstes

Ein Verzeichnis vorhandener Dienste Ein Verzeichnis vorhandener Dienste

Web ServicesWeb Servicesdie Transportinfrastruktur des die Transportinfrastruktur des SemanticSemantic WebWeb

SOAP SOAP –– Simple Simple ObjectObject Access Access ProtocolProtocol

WSDL WSDL –– Web Service Web Service DiscriptionDiscription LanguageLanguage

UDDI UDDI –– Universal Description, Discovery and IntegrationUniversal Description, Discovery and Integration

Webservices sind wieder verwertbare Dienste, die über das InternWebservices sind wieder verwertbare Dienste, die über das Internet et angeboten werden. angeboten werden.

Meistens auf die Meistens auf die Bedienung durch MenschenBedienung durch Menschen zugeschnitten zugeschnitten

SemanticSemantic Web Web Bedienung und Verarbeitung dieser Dienste für Bedienung und Verarbeitung dieser Dienste für ProgrammeProgramme

Page 2: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

2

33

Web ServicesWeb Servicesdie Transportinfrastruktur des die Transportinfrastruktur des SemanticSemantic WebWeb

Grafik: http://w

ww

11.informatik.tu-m

uenchen.de/lehre/seminare/sem

inarSW-S

S2002/extension/w

ebservices.pdf

Die Suchanfrage eines Programms könnte so aussehen:

1. Das Programm fragt in einem UDDI-Verzeichnis nach Diensten die Suchanfragen beantworten

2. Von diesen Diensten wählt es einen aus und holt sich davon eine WSDL-Beschreibung, wie der Dienst zuverwenden ist

3. Mit diesen Informationen nimmt das Programm nun per SOAP-Nachricht Kontaktzu dem Dienst auf und erhält das Ergebnis zurück.

44

Web ServicesWeb ServicesBeispiel für einen Webservice: Beispiel für einen Webservice: GoogleGoogle

www.google.com/apis

Search Web Service•Monitoring•Marktforschung•Alerting•eigene Suchmaske•...

SOAP/WSDL

Java

.Net, Perl…

Page 3: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

3

55

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Was ist SOAP?Was ist SOAP?

Hauptautor: Don Box, (DevelopMentor), einer der Autoren des XML-Manifests

Ziele:

•Einfachheit•Erweiterbarkeit•Einsatz auf verteilten Systemen, auch durch Firewalls hindurch•aktuelle Standards nutzen (HTTP und XML)

•einfacher und durchsichtiger Mechanismus zum Austausch von strukturierten und getypten Informationen zwischen Rechnern in einer dezentralisierten, verteilten Umgebung

•kein Programmiermodell, sondern ein unkomplizierter Mechanismus zur Beschreibung der internen Semantik einer Anwendung

Seife?

•Nachrichtenaustausch von XML-Dokumenten, meist zum entfernten Aufruf von Methoden bzw. Prozeduren auf anderen Rechnern (eigentlicher Transport meist über HTTP)

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

SOAP ist XMLSOAP ist XML

SOAP ist SOAP ist XMLXML--basiertesbasiertesProtokoll, das aus 3 Teilen besteht:Protokoll, das aus 3 Teilen besteht:

Spezifikation für einen Umschlag (Spezifikation für einen Umschlag (EvelopeEvelope):):Was ist in der Nachricht?Was ist in der Nachricht?Von wem wird sie wie verarbeitet?Von wem wird sie wie verarbeitet?Welche Daten können/müssen enthalten sein?Welche Daten können/müssen enthalten sein?

KodierKodier-- und Ordnungsregeln (und Ordnungsregeln (SerializationSerialization):):Welche Instanzen und Welche Instanzen und anwendungsspezifischenanwendungsspezifischen Datentypen Datentypen

werden verwendet?werden verwendet?KonventionKonvention

Wie sind Wie sind RemoteRemote ProcedureProcedure CallsCalls und und deren Antworten darzustellen?deren Antworten darzustellen?

XML/SOAP

EnvelopeHeader

Body

Page 4: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

4

77

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Das NachrichtenmodellDas NachrichtenmodellAktionen beim Empfangen einer Nachricht:•Welche Teile der Nachricht sind für die Anwendung bestimmt?

•Werden alle ausgewählten Teile der Nachricht von der Anwendung unterstützt?(Falls nicht, Nachricht verwerfen. Optionale Teile können ohne Einfluss auf Ergebnis entfallen)

•Ist diese Anwendung der endgültige Empfänger? (Falls nicht, alle für diese Anwendung bestimmten Teile entfernen, anschließend weiterleiten)

Verarbeiten einer Nachricht:

Der SOAP-Prozessor muss über folgende Informationen verfügen:•Das Muster des Nachrichtenaustauschs (Einweg, Frage/Antwort. Multicast)•Die Rolle des SOAP-Prozessors in diesem Nachrichtenwechsel•Den Einsatz von evtl. vorhandenen RPC-Mechanismen

•Die Datenrepräsentation und –kodierung•Alle weiteren Sematiken, die zum korrekten Verarbeiten der Nachrichten benötigt werden

88

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Die Die SOAPSOAP--NachrichtNachrichtDer Soap-Envelope: •Syntax-Regeln:

•Der Name lautet „Envelope“•Muss in jeder Nachricht enthalten sein•Darf Deklarationen von Namensräumen enthalten sowie zusätzliche Attributeund Unterelemente, die jedoch im Namensraum qualifiziert werden müssen•Das encodingStyle-Attribut verweist auf Ordnungsregel (Serialization),die in der SOAP-Nachricht verwendet werden soll

Der SOAP-Header:•Ist das erste direkte Kindelement des SOAP-Envelope-Elements.

•Syntax-Regeln:•Jeder Header-Entry wird durch seinen Namen identifiziert, der aus dem Namespace-URI und dem lokalen Namen besteht•Das Encoding-Style-Attribut darf benutzt werden, um die Ordnungsregelnder Header-Entries festzulegen

•Die Attribute mustUnderstand und actor können benutzt werden, um zubeschreiben, wie ein Header-Entry verarbeitet werden soll und von wem

Page 5: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

5

99

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Die Die SOAPSOAP--NachrichtNachrichtDer SOAP-Body:•Body-Element ist direktes Kindelement des Envelopes und steht damit entweder direkt nach dem Header-Element (wenn vorhanden) oder ist das ersteKindelement des des Envelope-Elements.

•Alle direkten Kindelemente des Body-Elements heissen Body-Entries, wobei jeder Body-Entry ein unabhängiges Element im SOAP-Body darstellt.

•Es gelten folgende Syntaxregeln: •Das Body-Entry wird durch seinen Elementnamen, der aus Namespace und dem lokalen Namen besteht, eindeutig identifiziert.•Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regelnnach denen dieses Element kodiert wurde, festzulegen.

•Ein Body-Element ist vordefiniert, das Fault-Element, welches zur Fehlerdiagnose dienen kann. Mögliche Kindelemente: faultcode | faultstring | faultactor | detail

Fehlercodes: VersionMismatch | MustUnderstand | Client | Server

1010

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Die Die SerialisierungSerialisierung•Serialisierung und Kodierung basiert auf einfachem Typsystem, welches eineVerallgemeinerung der Gesamtheit der in den bestehenden Programmiersprachen

und Datenbanksysteme vorhandenen Typsysteme darstellt.

•Ein Datentyp gehört entweder zu den einfachen oder zu den aus mehreren einfachen Datentypen zusammengesetzter Typ.

•Die Serialisierung der Daten erfolgt in 2 Schritten:

•Aus dem Datenmodell der Anwendung wird ein XML-Schema konstruiert

•Aus diesem Modell und dem aktuellen Datenbestand wird die eigentlicheXML-Datei erzeugt

•Default-Werte: Wird ein Wert nicht angegeben, wird ein Null-Wert angenommen (false/0/0.0)

Page 6: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

6

1111

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

Einfache DatentypenEinfache Datentypen•String, boolean, float, double, decimal, timeDuration, recurringDuration, binary, uriReference, ID, IDREF, ENTITY, QName<element name="nachname" type="string"/><element name="alter" type="int"/><element name="groesse" type="float"/><element name="lieblingsfarbe"><simpleType base="xsd:string"><enumeration value="Rot"/><enumeration value="Blau"/><enumeration value="Gelb"/></simpleType>

•Zwei Arten zusammengesetzter Datentypen: Structs und Arrays•Arrays: Einzelne Elemente werden durch ihre Position im Array identifiziert:

<element name="primzahlen" type="SOAP-ENC:Array"/><primzahlen SOAP-ENC:arrayType="xsd:int[2]">

<zahl>3</zahl><zahl>5</zahl>

</primzahlen>

Zusammengesetzte DatentypenZusammengesetzte Datentypen

1212

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocolZusammengesetzte DatentypenZusammengesetzte Datentypen

•Structs: •Einzelne Bestandteile eines zusammengesetzten Wertes werden durch einzelne Unter-elemente repräsentiert. Bsp.:

•Structs können ihrerseits wieder Structs enthalten

<e:Buch><autor>David Flanagan</autor><titel>Java In A Nutshell</titel><verlag>O Reilly</verlag><preis>69.00</preis></e:Buch>

Structs mit Referenzen:<e:Buch><autor href="#pDF"/><titel>JavaScript - Das umfassende Referenzwerk</titel></e:Buch><e:Person id="pDF"><name>David Flanagan</name><adresse href="#adrDF"/></e:Person><e:adresse id="adrDF"><email>mailto:[email protected]</email><www>http://www.davidf.com</www></e:adresse>

Page 7: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

7

1313

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

RPCsRPCs über SOAPüber SOAPUm entfernte Methode aufzurufen, werden folgende Informationen veröffentlicht: •Der URI des Zielobjektes•Der Methodenname •Evtl. vorhandene Parameter der Methode

•Methodenaufruf wird von Struct repräsentiert, welcher mit Methodenname und Typ der entsprechenden Methode übereinstimmt

•Jeder IN oder IN/OUT-Parameter wird durch Element in diesem Struct repräsentiert

•Das Resultat des Methodenaufrufs wird ebenfalls durch einen einzigen Structrepräsentiert, jeder OUT oder IN/OUT-Parameter wird durch Element dieses Structrepräsentiert (Parameter in der selben Reihenfolge wie Methodensignatur)

•Evtl. Fehler sind mit dem SOAP-Fault-Element (sowie weiteren Protokollspezifischen Regeln, wie z.B. bei HTTP) zu übermitteln

1414

SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol

SOAP und SicherheitSOAP und Sicherheit•SOAP ist kein sicheres Protokoll, da sämtliche Daten in Klartext übersandt werden

•SOAP an sich ist unsicher, da…•Sicherheit kein Design-Ziel war•Alles möglichst einfach gehalten wurde•Sicherheitsaspekte an das Transportprotokoll oder die Anwendung delegiert werden

•Wie wird SOAP sicher?•Durch den Einsatz von sicheren Verbindungen (HTTPS)•Durch Zwischenschalten von Verschlüsselungsstationen•Durch Vergabe von einmaligen IDs zur Authentifizierung der jeweiligenNachricht

•SOAP sollte nicht unbedingt eingesetzt werden…•In homogenen Umgebungen, in Umgebungen die hohe Performance erfordern oder in Szenarios, die erhöhten Sicherheitsbedarf mit sich bringen

•Es empfiehlt sich SOAP einzusetzen:•In allen Umgebungen, die den obigen Punkten nicht entsprechen vor allem wenn es um Kommunikation unterschiedlicher Systeme aus unterschiedlichen Umgebungen über das Internet geht

Page 8: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

8

1515

Kommunikation zu Services mittels SOAP Kommunikation zu Services mittels SOAP standardisiert, wie werden diese Schnittstandardisiert, wie werden diese Schnitt--stellen nun beschrieben? stellen nun beschrieben? WSDL (WSDL („„whistlewhistle““))

XMLXML--basiertebasierte Metasprache, definiert welche Methoden verfMetasprache, definiert welche Methoden verfüügbar sind, gbar sind, welche Parameter dabei welche Parameter dabei üübergeben werden mbergeben werden müüssen und was als ssen und was als RRüückgabetyp geliefert wird ckgabetyp geliefert wird technische Beschreibung der technische Beschreibung der auszutauschenden Nachrichten, gibt keine Information zur Bedeutuauszutauschenden Nachrichten, gibt keine Information zur Bedeutung der ng der Funktionen und ParameterFunktionen und Parameter

Wird serverseitig erzeugt und den Clients zur VerfWird serverseitig erzeugt und den Clients zur Verfüügung gestellt gung gestellt

WSDLWSDLWeb Service Description LanguageWeb Service Description Language

Was Was istist WSDL?WSDL?

1616

Unterteilung in 6 Teile:Unterteilung in 6 Teile:

1.1. Datentypen der RückDatentypen der Rück-- und Übergabeund Übergabe--werte werte –– typestypes

2.2. EingabeEingabe-- und Ausgabeparameter und Ausgabeparameter –– messagemessage

3.3. Methodensignaturen Methodensignaturen –– operationoperation

4.4. Zuordnung einzelner Methoden zu einer Zuordnung einzelner Methoden zu einer Operation Operation –– portTypeportType

5.5. Trägerprotokoll, über das kommuniziertTrägerprotokoll, über das kommuniziertwird wird –– bindingbinding

6.6. Adresse des Web Service Adresse des Web Service –– serviceservice

WSDLWSDLWeb Service Description LanguageWeb Service Description Language

DasDas WSDLWSDL--DokumentDokument

Page 9: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

9

1717

UDDIUDDIUniversal Description, Discovery and IntegrationUniversal Description, Discovery and Integration

Was Was istist UDDI?UDDI?

•Nachdem ein Web-Service mittels WSDL definiert wurde, muss er veröffentlicht werden

•3 Informationsdienste: Business-, Service- und Technikinformationen

Kernbestandteile von UDDI:Kernbestandteile von UDDI:•Die Datenstruktur: Welche Datentypen sollen innerhalb von UDDI gespeichert werden?

•Die API-Spezifikation: Wie wird auf UDDI-Registry zugegriffen? Kann auf zwei Methoden reduziert werden: publishing-functions und inquiry functions

•Die Replikations-Spezifikation: Umfasst alle Informationen, um zwischen verschiedenenUDDI-Registries Informationen zu duplizieren

•Die Spezifikation für Registry-Anbieter: Umfasst Detail einzuhaltender Sicherheitsmaßnahmen, durch die ein standardisierter Zugriff erfolgen kann

1818

UDDIUDDIUniversal Description, Discovery and IntegrationUniversal Description, Discovery and Integration

XMLXML--Schema Schema einereiner UDDIUDDI--RegistryRegistry

Es gibt 4 verschiedene Elementtypen in einem UDDI-Registry-Eintrag:

tModel repräsentiert eine technische Spezifikation innerhalb derUDDI-Registry

Page 10: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

10

1919

SemanticSemantic Web ServicesWeb Services

WWWURI, HTML, HTTP

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Semantic WebServices

Bisher: Bisher: Nur syntaktische InformationsbeschreibungNur syntaktische InformationsbeschreibungNur syntaktische Unterstützung beim suchen, erstellen und ausfühNur syntaktische Unterstützung beim suchen, erstellen und ausführenrenDie Art des WebDie Art des Web--Service und die möglichen Integrationen müssen Service und die möglichen Integrationen müssen manuell untersucht werdenmanuell untersucht werden

keine semantische Unterstkeine semantische Unterstüützungtzung

2020

SemanticSemantic Web ServicesWeb ServicesBeispiel: Online-Kauf eines Laptops (heute)

1) Finden von geeigneten Web Shops

2) Durchsuchen des Angebotes einzelner Web Shops nach dem gewünschten Modell

3) Vergleichen gleichwertiger Modelle aus den Angeboten verschiedener Shops

4) Anmeldung im ausgewählten Shop und

5) Abschließen des Kaufs durch Eintragen der Daten in ein Web Formular

6) Eventuelles wieder besuchen des Shops um den Versandstatus zu verfolgen.

Page 11: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

11

2121

Beispiel: Online-Kauf eines Laptops mittels SWS:1) Eintragen des gewünschten Models und Kaufkriterien in eine Agentenanwendung2) Anwendung durchsucht automatisch das Web nach Shops und diese Shopsnach passenden Modellen3) Dem Benutzer wird eine Liste mit den gefundenen Ergebnissen präsentiert.4) Nach der Entscheidung des Benutzers schließt die Agentenanwendungautomatisch einen Kaufvertrag mit dem entsprechenden Web Shop über dasentsprechende Modell, übergibt zum Kauf notwendige Daten des Benutzers anden Web Shop und überweist den Kaufpreis vom Bankkonto (bei Vorkasse).5) Die Agentenanwendung wird vom Web Shop regelmäßig über den Versandstatus informieren

2222

SemanticSemantic Web ServicesWeb ServicesSemantic Web Service Komponenten:

Page 12: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

12

2323

OWLOWL--SSUnterscheidet drei grundlegende Bestandteile einer semantischen Beschreibung v. WS:

•Profile – Was tut der Web Service?

•Prozessmodelle – Wie arbeitet der Web Service?

•Groundings – Wie kann man auf den Web Service zugreifen?

Eine Instanz von Service definiert einen auffindbaren und ausführbaren Service vollständig, wenn:

-mind. ein ServiceProfile-genau ein ServiceModel-mind. ein ServiceGrounding

2424

OWLOWL--SSProfile – Was tut der Web Service?

Page 13: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

13

2525

OWLOWL--SS•Prozessmodelle – Wie arbeitet der Web Service?

2626

OWLOWL--SS•Groundings – Wie kann man auf den Web Service zugreifen?

Page 14: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

14

2727

WSMFWSMFWeb Service Web Service ModellingModelling FrameworkFramework

Entwickelt auf zwei Prinzipien: •starke Verteilung der verschiedenen Dienste•Skalierbare Kommunikation verschiedener Formate über einen Verhandlungsservice

Dieter A. Fensel Christoph Bussler

Anforderungen: •Dokument-Typen•Semantiken•Protokoll-Abhängigkeit•Ablauf•Prozess-Ablauf•Sicherheit•Syntax•spezifische Konfiguration

Umgesetzt in WSMO – Web Service Modelling Ontology

2828

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

A Conceptual Model for SWS

A Formal Language for WSMO

A Rule-based Language for SWS

Execution Environment for WSMO

WSMO working group: SDK

WSMO

WSML

SDK + ASG = ESSI (European Semantic Systems initiative)

Page 15: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

15

2929

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

Ziele, die ein Client mittels Web Services erreichen will

Stellt formal spezifizierte Terminologie der

Informationen zur Verfügung, die von allen

weiteren Bestandteile verwendet werden

Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit

Semantische Beschreibung des Web Service

Ontologien – Verwendung und Grundprinzipien •Werden als Datenmodell in WSMO verwendet•Sprache zur Beschreibung von WSMO-Ontologien ist WMSL•Designprinzipien:

•Modularisiert: Wiederverwendung und Import bestehender Ontologien•Entkoppelt: Unstimmigkeiten werden durch Mediators behoben

3030

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

Ziele, die ein Client mittels Web Services erreichen will

Stellt formal spezifizierte Terminologie der Informationen zur

Verfügung, die von allen weiteren Bestandteile

verwendet werden

Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit

Semantische Beschreibung des Web Service

Web Service DescriptionBeschreibung der Anforderungen: •Nicht funktionale Eigenschaften, importierte Ontologien, verwendete Mediators, Vorbedingungen, Annahmen, Nachbedingungen, Resultat

Beschreibung des Interface:•Nach außen sichtbares Verhalten, Kommunikationsstruktur, Grounding,

Formales Model

Page 16: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

16

3131

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

Ziele, die ein Client mittels Web Services erreichen will

Stellt formal spezifizierte Terminologie der Informationen zur

Verfügung, die von allen weiteren Bestandteile

verwendet werden

Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit

Semantische Beschreibung des Web Service

Goals – die ZieleSpecification: •Nichtfunktionale Eigenschaften•Importierte Ontologien•Vermittler (Mediators) für importierte Ontologien mit unterschiedlichen Lösungen,Zieldefinition mittels Wiederverwendung eines bereits existierenden Ziels,

erlaubt Definition von Ziel-Ontologien•Erwartete Fähigkeiten: beschreibt die erwartete Funktionalität d. Service•Erwartetes Interface: beschreibt Kommunikationsverhalten welchesunterstützt werden muss

3232

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

Ziele, die ein Client mittels Web Services erreichen will

Stellt formal spezifizierte Terminologie der Informationen zur

Verfügung, die von allen weiteren Bestandteile

verwendet werden

Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit

Semantische Beschreibung des Web Service

Mediators - VermittlerUneinheitlichkeit:

•fehlende Übereinstimmung in struktureller/semantischer/ konzeptueller Ebene•Beruht auf Kombinationen von unterschiedlichen Komponenten, insbesonderein offenen Umgebungen wie dem Internet

Konzept der Mediator: •Intelligenter Mechanismus zur Behebung von Unstimmigkeiten abhängig vom Inhalt

•Können nicht vollständig automatisiert werden

Page 17: Semantic Web Services gekuerzt - db-thueringen.de · •Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regeln nach denen dieses Element kodiert wurde, festzulegen

17

3333

WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology

Mediators - Struktur

OO MediatorMediation Service

Train ConnectionOntology (s1)

Purchase Ontology (s2)

Train Ticket Purchase Ontology

Mediation Services

Goal:“merge s1, s2 and s1.ticket subclassof s2.product”

Discovery

Merging 2 ontologies

3434

WSMO WSMO OWLOWL--S S OWL-S:-Ontologien und Web Service beschreiben-nutzt und erweitert vorhandeneStandards

WSMO:-vollständiges Konzept für Web Services: Ontologien,Web Services, Goals, Mediators-Ontologien als Datenmodell

--MediatorsMediators--MediationMediation

Heterogeneity Heterogeneity handlinghandling

GroundingGrounding(WSDL / (WSDL / SOAP, SOAP,

ontologyontology--basedbased) )

Service Service Interfaces Interfaces

(Choreography (Choreography + +

Orchestration)Orchestration)

Goals and Web Goals and Web Services Services

(capability)(capability)

WSMOWSMO

WSDL / SOAPWSDL / SOAP

GroundingGrounding+ +

WSDL/SOWSDL/SOAPAP

InvocationInvocationHow to invokeHow to invoke

BPEL4WS / BPEL4WS / WSWS--CDL CDL

Process Process ModelModel

ConsumptionConsumption& Interaction & Interaction

How to consume How to consume & aggregate& aggregate

UDDI APIUDDI APIProfileProfileDiscoveryDiscoverydetection of detection of suitable WSsuitable WS

current Web current Web Service Service

technologiestechnologiesOWLOWL--SS