Upload
feirefiz-moretz
View
104
Download
2
Embed Size (px)
Citation preview
17.01.2006
IPD, Universität Karlsruhe (TH)
W S M OWeb ServiceModeling OntologyEin Vortrag von Dominik Weingardtim Rahmen des S2D2 Seminares
S2D2 Seminar: Vortrag WSMO 2
W S M O
17.01.2006
Motivation
Anwendungsbeispiel Semantic Web Services
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
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
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
S2D2 Seminar: Vortrag WSMO 6 17.01.2006
Inhalt des Vortrages
Motivation
WSMO Einführung
Detailbetrachtung: Choreography & Orchestration
Zusammenfassung
S2D2 Seminar: Vortrag WSMO 7
W S M O
17.01.2006
WMSO Einführung
Was ist WSMO? WSMO – WSML – WSMX Entwurfsentscheidungen WSMO Hauptelemente
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
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
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
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
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
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
S2D2 Seminar: Vortrag WSMO 14
W S M O
17.01.2006
DetailbetrachtungChoreography & Orchestration
WS Interfaces Modellierung von C&O WS Discovery Ablauf-Demonstration
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
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
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
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
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
S2D2 Seminar: Vortrag WSMO 20
W S M O
17.01.2006
Zusammenfassung
Das Wesentlichste Offene Punkte
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
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
2323
Vielen Dank für EureVielen Dank für Eure
Aufmerksamkeit!Aufmerksamkeit!
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
S2D2 Seminar: Vortrag WSMO 25
W S M O
17.01.2006
Anhang
Die ausgelassenen WSMO Hauptelemente:
Ontologies Goals Web Services: Capability Mediators
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
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
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
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
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