30
17.01.2006 IPD, Universität Karlsruhe (TH) W S M O Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

Embed Size (px)

Citation preview

Page 1: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

17.01.2006

IPD, Universität Karlsruhe (TH)

W S M OWeb ServiceModeling OntologyEin Vortrag von Dominik Weingardtim Rahmen des S2D2 Seminares

Page 2: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 2

W S M O

17.01.2006

Motivation

Anwendungsbeispiel Semantic Web Services

Page 3: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 3 17.01.2006

Anwendungsbeispiel (1)

virtueller Autohändler (Virtual Car Shop VCS) bietet Online-Autokauf-Service für Endbenutzer (Kunde) an

Just-In-Time Business: erst wenn Kunde Auto bestellt, bezieht VCS dieses von einem Großhändler

Page 4: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 4 17.01.2006

Anwendungsbeispiel (2)

Bezahlung ausschließlich über Kreditkarte

Lieferung an Kunden durch vom VCS beauftragte Spedition

DienstgeberDienst-nehmer

Sub-Dienstgeber

Sub-Dienstgeber

Sub-Dienstgeber

Grober Ablauf der Dienstleistung:

Kunde VCS z.B. Großhändler

Page 5: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 5 17.01.2006

Semantic Web Services

WWWURI, HTML, HTTP

Semantic WebRDF, RDF(S), OWL

Web ServicesUDDI, WSDL, SOAP

statisch

Semantic WebServices

Syntax Semantik

dynamisch

Semantic Web Technologie + Web Service Technologie .=

Semantic Web Services

Page 6: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 6 17.01.2006

Inhalt des Vortrages

Motivation

WSMO Einführung

Detailbetrachtung: Choreography & Orchestration

Zusammenfassung

Page 7: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 7

W S M O

17.01.2006

WMSO Einführung

Was ist WSMO? WSMO – WSML – WSMX Entwurfsentscheidungen WSMO Hauptelemente

Page 8: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 8 17.01.2006

Was ist WSMO?

Web Service Modeling Ontology ist …» ein konzeptionelles Modell für die

Beschreibung von Semantic Web Services

» eine Ontologie von Kernelementen für SWS

Ziele» automatisierte maschinelle Dienst-

auffindung (WS Discovery) und -ausführung

» größtmögliche Einfachheit und Vollständigkeit der Lösung des Integrationsproblemes

» Ausführbarkeit

Page 9: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 9 17.01.2006

WMSO – WSML – WSMX

ein konzeptionelles Modell für SWS

eine formale Sprache für WSMO

eine regelbasierte Sprache für SWS

Ausführungsumgebung für WSMO

Unterteilung in mehrere Arbeitsgruppen:

WSMO

WSML WSMX

Page 10: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 10 17.01.2006

Entwurfsentscheidungen konform zu den Web-Standards

Ontologie-basiert

ontologische Rollentrennung

strikte Entkopplung» Anwendungen so unabhängig wie möglich

Zentralität der Vermittlung» skalierbare Kommunikation » Abbildung versch. Geschäftslogiken aufeinander

Beschreibung vs. Implementierung» Unterscheidung zw. nach außen sichtbarem Verhalten

und internem Verhalten & Implementierung

Ausführungssemantik

Page 11: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 11 17.01.2006

WSMO Hauptelemente

Ontologies (Ontologien)

formal spezifizierte Terminologie für die von allen Komponenten genutzten Informationen

Web Servicessemantische Beschreibung von WS: Capability (Fähigkeit) Funktionalität des WS Interfaces (Schnittstellen) zur Nutzung des WS

Goals (Ziele)

mögliche Zielsetzungen eines Clients, wenn er einen Web Service aufrufen will

Mediators (Vermittler)

Verbindungsglieder zw. Komponenten mit Vermittlungsmöglichkeiten für den Umgang mit Heterogenitäten

Page 12: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 12 17.01.2006

Web Services

Ein Web Service enthält:

nicht-funktionale Eigenschaften» vollständige Elementbeschreibung» Qualitätsmerkmale (QoS)

» Web Service Management

Capability» funktionale Beschreibung („Dienstangebot“)

» Veröffentlichung des WS

zwei Arten von Interfaces» Choreography: wenn Service aufgerufen wird» Orchestration: wenn Service andere WS aufruft

Page 13: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 13 17.01.2006

WS Deklaration in WSML

Beispiel: Kreditkarten Abrechnungs Service

namespace {_"http://example.org/CreditCardCharging#", dc _"http://purl.org/dc/elements/1.1#", po _"http://example.org/purchaseOntology#", foaf _"http://xmlns.com/foaf/0.1/", wsml _"http://www.wsmo.org/wsml/wsml-syntax#", ccci _"http://www.example.org/CreditCardChargingInterfaceOntology#"}

webService _"http://example.org/CreditCardChargingWebService" nonFunctionalProperties

dc:title hasValue „Credit Card Charging Web Service" dc:creator hasValue „Association of all Credit Card Companies" dc:description hasValue "web service for charging a credit card with an given amount and creating a remittance order for a given recipient"dc:publisher hasValue " Association of all Credit Card Companies" dc:date hasValue "2006-01-12" dc:type hasValue <<http://www.wsmo.org/2004/d2/#webservice>> dc:format hasValue "text/html" dc:language hasValue "en-us" version hasValue "$Revision: 1.5 $"

endNonFunctionalProperties

importsOntology _"http://example.org/purchaseOntology"

capability CreditCardChargingCapability

interface CreditCardChargingInterface importsOntology _http://www.example.org/CreditCardChargingInterfaceOntologychoreography CreditCardChargingChoreographyorchestration CreditCardChargingOrchestration

Namespaces

nicht-funktionale Eigenschaften

Interfaces

Capability

Page 14: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 14

W S M O

17.01.2006

DetailbetrachtungChoreography & Orchestration

WS Interfaces Modellierung von C&O WS Discovery Ablauf-Demonstration

Page 15: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 15 17.01.2006

WS Interfaces (1)

Choreography & Orchestration ermöglichen automatisierte Dienstausführung

Choreographie» wie muss man (als User) mit dem Service

interagieren, um seine Funktionalität nutzen zu können

Orchestration» wie wird die Funktionalität des Services

durch die Aggregation anderer Web Services erreicht

Page 16: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 16 17.01.2006

Web ServiceImplementierung

(in WSMO nicht von Interesse)

WS Interfaces (2)

ChoreographyChoreography

Capability

funktionale Beschreibung

WS

WS

Client – Service Interaktions-schnittstelle für WS Aufruf nach außen sichtbares Verhalten Kommunikations- struktur “Grounding”

Realisierung der Funktionalität durch Aggregation anderer WS funktionale Aufspaltung Komposition von WS

nicht-funktionale Eigenschaften

DC + QoS + Version + Finanzielles

WS

OrchestrationOrchestration

Ein Web Service mit seinen Elementen:

Service Interfaces

Page 17: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 17 17.01.2006

Modellierung von C&O

zustandsbasierte Beschreibung von Choreography & Orchestration basierend auf Abstrakten Zustandsautomaten

Zustands-Signatur» durch die Elemente einer Ontology gegeben

Zustand » definiert durch Menge der Instanzen und

deren Attributwerte

guarded transition (Übergang)» Zustandsänderung durch Änderungen an der

Instanzen-Menge

Start-zustand

Kreditkarten-daten erhalten

Bezahlung erfolgt

Page 18: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 18 17.01.2006

WS Discovery

Kerntechnologie für SWS

Aufgabe: Web Services, die ein gegebenes Ziel erreichen können, anhand Beschreibungen von Goal und WS automatisiert auffinden

Ziel-getriebener Ansatz abgeleitet vom KI “Rationaler Agent”-Ansatz » Dienstnehmer (Agent) formuliert Goal

unabhängig

» “Intelligenter” Matching Mechanismus erkennt Services, die für das Erreichen des Goals geeignet sind

Page 19: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 19 17.01.2006

Menge vorhandenerpassender Autos

Ablauf-Demonstration

VCSService

(Agent)

Kunde(Agent)

Choreography Orchestration

gewünschtes Auto

(Marke, Modell, …)gewünschtes Auto

(Marke, Modell, …) Groß-händler 1Service

Groß-händler 1Service

gewünschtes Auto

(Modell, Marke, …)

Menge vorhandenerpassender Autos

Menge vorhandenerpassender Autos

Auswahl eines dervorhandenen Autos Groß-

händler 2Service(Agent)

Käufer- und Kredit-kartendaten

Kredit-karten

Service

Kreditkartendaten des

Kunden, Begünstigter (VCS)

und Preis des Autos

Bezahlung erfolgtODER: Karte ungültigKarte ungültig, Kauf

abgebrochenKauf (ausgewähltes Auto, Abrechnungsdaten VCS)

Kauf erfolgt

SpeditionsService

Versand des Autoan Käuferadresse

Versand erfolgtKauf erfolgreichabgeschlossen

Page 20: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 20

W S M O

17.01.2006

Zusammenfassung

Das Wesentlichste Offene Punkte

Page 21: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 21 17.01.2006

Das Wesentlichste Unterteilung in

» WSMO = abstrakte Konzepte mittels Ontologien» WSML = konkrete, F-Logik basierte Sprache» WSMX = Ausführungsumgebung für WSMO Services

Begriff des Goals zur klaren Trennung zwischen Service-Angebot und -Anfrage

Mediators für Umgang mit Heterogenitäten

Web Service Interfaces zur Definition der Client/WS- (Choreography) und der WS/WS-Kommunikation (Orchestration)

Kernkonzept von C&O basierend auf Abstrakten Zustandsautomaten

Page 22: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 22 17.01.2006

Offene Punkte

WSML ist unvollständig

Matching ist unvollendet

C&O nicht modellierbar mittels Tools wie z.B. UML Fluß-Diagrammen

bessere Spezifikation, wie beim Aufruf eines anderen WS dieser mit Orchestration kombiniert wird, muss gefunden werden

Formulierung von Präferenzen in Goals schwierig

Page 23: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

2323

Vielen Dank für EureVielen Dank für Eure

Aufmerksamkeit!Aufmerksamkeit!

Page 24: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 24 17.01.2006

Literatur D2v1.2 Web Service Modeling Ontology | Dumitru Roman, Holger Lausen, Uwe Keller u.a.

http://www.wsmo.org/TR/d2/v1.2/

D3.1v0.1 WSMO Primer | Cristina Feier u. John Domingue http://www.wsmo.org/TR/d3/d3.1/v0.1/

D3.3v0.1 WSMO Use Case “VTA” | Michael Stollberg, Rubén Lara u.a. http://www.wsmo.org/2004/d3/d3.3/v0.1/

D14v0.1 Ontology-based Choreography & Orchestration | Dumitru Roman u.a. http://www.wsmo.org/TR/d14/v0.1/

D15v0.1 Orchestration in WSMO | Dumitru Roman u. James Sciclunahttp://www.wsmo.org/2005/d15/v0.1/

D17v0.2 WSMO Tutorial: ESWC 2005 | Christoph Bussler u.a. http://www.wsmo.org/TR/d17/resources/200505-ESWC05/SWStutorial-eswc05.ppt

D17v0.2 WSMO Tutorial: ICAC 2005 | Christoph Bussler u.a. http://www.wsmo.org/TR/d17/resources/200506-ICAC/icac-05_tutorial.ppt

D17v0.2 WSMO Tutorial: Net Object Days 2004 | Christoph Bussler u.a.http://www.wsmo.org/TR/d17/resources/netobjectdays04/WSMOTutorial-netobjectdays-20040927.ppt

Languages for (Semantic) Service Description | Michael Klein u. Birgitta König-Rieshttp://hnsp.inf-bb.uni-jena.de/DIANE/docs/Dagstuhl2004-SSD.pdf

Page 25: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 25

W S M O

17.01.2006

Anhang

Die ausgelassenen WSMO Hauptelemente:

Ontologies Goals Web Services: Capability Mediators

Page 26: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 26 17.01.2006

Ontologies

Ontologies werden überall in WSMO als Datenmodell verwendet

» alle Elementbeschreibungen beruhen auf Ontologien» alle während der WS Nutzung ausgetauschten

Daten sind Ontologien» semantische Informationsverarbeitung

Elemente einer WSMO Ontology:» Concepts: Konzepte (“Klassen”) der Ontologie» Attributes: Attribute, die zu einem Konzept gehören» Relations: Beziehungen zw. mehreren Konzepten» Functions: Relationen mit einem Rückgabewert» Instances: Instanzen von Konzepten der Ontologie» Axioms: logische axiomatische Ausdrücke

Page 27: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 27 17.01.2006

Goals

Ein Goal enthält:

erforderte Capability» erwartete WS Funktionalität, um die

Zielsetzungen zu erfüllen („Dienstanfrage“)

» Bescheibung aus Sicht des Dienstnehmers

erfordertes Interface

» unterstütztes Kommunikationsverhalten (Choreography) des DN für WS Nutzung

» Angabe von Einschränkungen / Vorlieben bzgl. Orchestration akzeptabler WS möglich

Page 28: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 28 17.01.2006

Web Services: Capability

Eine Capability enthält:

Pre-conditions» Eingabewerte, die WS erwartet, um seinen

Dienst erbringen zu können

Assumptions» Bedingungen an Zustand der Welt, die erfüllt

sein müssen, damit WS ausgeführt werden kann

Post-conditions» Resultat des WS abhängig von Eingabewerten

und Bedingungen

Effects» Änderungen am Zustand der Welt durch

Ausführung des WS

Page 29: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 29 17.01.2006

Capability Deklaration in WSMLcapability CreditCardChargingCapability sharedVariables {?creditCard, ?initialBalance, ?amount, ?recipient}

precondition nonFunctionalProperties dc#description hasValue "credit card required, recipient must be bank customer" endNonFunctionalProperties definedBy ?creditCard[balance hasValue ?initialBalance] memberOf po#creditCard and

?recipient memberOf po#bankCustomer and ?amount > 0 and ?initialBalance >= ?amount.

assumption nonFunctionalProperties dc#description hasValue "credit card must be valid" endNonFunctionalProperties definedBy po#validCreditCard(?creditCard).

postcondition nonFunctionalProperties dc#description hasValue “creating a remittance order for the recipient" endNonFunctionalProperties definedBy ?remittanceOrder memberOf po#remittance[recipient hasValue ?recipient, amount hasValue ?amount]. effect nonFunctionalProperties dc#description hasValue "credit card will be charged with given amount" endNonFunctionalProperties definedBy ?finalBalance = (?initialBalance - ?amount) and ?creditCard[po#balance hasValue ?finalBalance].

Pre-conditions

Post-conditions

Assumptions

Effects

Page 30: W S M O 17.01.2006 IPD, Universität Karlsruhe (TH) Web Service Modeling Ontology Ein Vortrag von Dominik Weingardt im Rahmen des S2D2 Seminares

S2D2 Seminar: Vortrag WSMO 30 17.01.2006

Mediators

Mediators ermöglichen einen expliziten Umgang mit Heterogenitäten und lösen unkorrekte Zuordnungen auf

4 Typen von WSMO Mediators:» OO Mediators

verknüpfen Ontologien mit Ontologien» GG Mediators

verknüpfen Goals mit Goals» WG Mediators

verknüpfen Web Services mit Goals» WW Mediators

verknüpfen Web Services mit Web Services