Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services...

37
Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein [email protected]

Transcript of Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services...

Page 1: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

Beschreibung von Web Services

im Semantic Web

Seminar Parallele und Verteilte Systeme

Services Computing und Service-Oriented Architectures

Armin Stein

[email protected]

Page 2: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

22

Vorgehen• Motivation• Beschreibung von Elementen (RDF/S)• Ontologien (OWL)• Topic Maps (XTM)• Umfassender Ansatz (OWL-S)• Fazit• Fragen

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

Page 3: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

33

Motivation• Ziel des Semantic Web: Maschinenlesbarkeit der Inhalte• Daraus „Implizite Information“• Vision der Nutzung von Web Services:

– Automatisches Auffinden– Automatischer Aufruf– Automatische Anordnung und – Automatische Kommunikation

• Voraussetzung:– Maschinenlesbarkeit und vor allem– Maschinenverständlichkeit

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

Page 4: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

44

Beschreibung (RDF)• RDF

– Einfache Beziehung zwischen Objekten– Tripel der Art Subjekt – Prädikat – Objekt

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://www.w3.org/RDF/">

<dc:title>Resource Description Framework (RDF)</dc:title>

</rdf:Description>

• Verwendung: RSS (Nachrichten etc.)

RDF – RDF/SMotivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

htt

p:/

/ww

w.w

3.o

rg/R

DF

/

Page 5: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

55

Beschreibung (RDF/S)• RDF/S

– Erweitertes Vokabular– Klassenbildung– Hierarchisierung

<rdfs:Class rdf:ID="Person">

<rdfs:comment>Personenklasse</rdfs:comment>

<rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Student">

<rdfs:comment>Studentenklasse</rdfs:comment>

<rdfs:subClassOf rdf:resource="#Person"/>

</rdfs:Class>

– Abfrage durch Parsen, Graphen-Erstellung…– Schön, aber: Was ist ein „Student“? Eine „Person“!… Was ist eine „Person“…? (vielleicht juristisch?)– Bereich der Wort-Domäne

RDF – RDF/SMotivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

htt

p:/

/ww

w.w

3.o

rg/R

DF

/

Page 6: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

66

Ontologien (OWL)• Aus der Philosophie: „Sein“ als Gesprächsgegenstand• Definition von Gegenständen und Beziehungen• Datei auf dem Server, die interpretiert werden kann• OWL = Web Ontology Language.• Bildung einer Ontologie:Aus der Ontologie http://www.w3.org/TR/2004/REC-owl-guide-20040210/food:<owl:Class rdf:ID="PastaWithWhiteSauce"> <rdfs:subClassOf rdf:resource="#Pasta" /> <owl:disjointWith rdf:resource="#PastaWithRedSauce" /></owl:Class>

• Verknüpfbarkeit! • Konkrete Realisierung als Expertensystem vorhanden

http://www.ksl.stanford.edu/people/dlm/webont/wineAgent/

• Durch Verknüpfungen Verständnis über das „Sein“• Umsetzung beispielsweise als Topic Map

htt

p:/

/ww

w.w

3.o

rg/2

00

4/O

WL

/

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

Page 7: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

77

Topic Maps (XTM)• Anlehnung an Back-of-Book-Index, XmlTopicMaps• Topics

– „Dinge“, die mit einem Namen belegt werden– Aufnahme in die Map abhängig von der Präferenz des Betrachters– Können durch Klassen hierarchisiert werden– „Münster“

• Occurrences– Realisierung eines Topics– „www.muenster.de“– „www.sz.de/artikel_ueber_muenster…“– Auch Daten: „Einwohner: 280.000“

• Associations– Verbinden Topics untereinander oder Topics und Occurrences– Müssen nicht hierarchisch sein (Busverbindung)

TAO – BeispielMotivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

Rath (2003), S. 9.

htt

p:/

/ww

w.t

op

icm

ap

s.o

rg/x

tm/1

.0/

Page 8: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

88

Topic Maps (XTM)• Warum Topic Map?

• Web Services? In Anlehnung an Rath (2003), S. 16.

TAO – BeispielMotivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

htt

p:/

/ww

w.t

op

icm

ap

s.o

rg/x

tm/1

.0/

Page 9: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

99

Topic Maps (XTM)• Substitut für UDDI?

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – FazitTAO – Beispiel

Page 10: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1010

Konzept (OWL-S) - Übersicht• Umfassender Ansatz• W3C Member Submission 22. November 2004• Abgesehen vom Namen wohlwollend aufgenommen• Nutzung von RDF/S, OWL und WSDL• Aufteilung in vier (fünf) Dateien

– Instanziierbare Hauptklasse, verweist auf:– Service Profile– Service Process Model– Service Grounding– WSDL – Beschreibung

Übersicht – Hauptklasse – Profile – Process Model – GroundingMotivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

htt

p:/

/ww

w.w

3.o

rg/S

ub

mis

sio

n/O

WL

-S

Page 11: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1111

Konzept (OWL-S) - Hauptklasse• Wird instanziiert für jeden Service-Aufruf• Beispiel Fluggesellschaft „Bravo Air“

<owl:Ontology rdf:about=""><!-- Versionsinformation und Kommentar -->...

<owl:imports rdf:resource="&service;" /> <owl:imports rdf:resource="&ba_profile;" /> <owl:imports rdf:resource="&ba_process;" /></owl:Ontology>

• Profile, Process und Grounding

<service:Service rdf:ID="BravoAir_ReservationAgent"><service:presents rdf:resource="&ba_profile;#Profile_BravoAir_ReservationAgent"/><service:describedBy rdf:resource="&ba_process;#BravoAir_ReservationAgent_ProcessModel"/><service:supports rdf:resource="&ba_grounding;#Grounding_BravoAir_ReservationAgent"/></service:Service>

</rdf:RDF>

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – FazitÜbersicht – Hauptklasse – Profile – Process Model – Grounding

htt

p:/

/ww

w.w

3.o

rg/S

ub

mis

sio

n/O

WL

-S

Page 12: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1212

Konzept (OWL-S) – Profile• Informationen über das anbietende Unternehmen• Allgemeine (textuelle) Informationen über den Service• (Wie geschaffen für UDDI!)<profileHierarchy:AirlineTicketing rdf:ID="Profile_BravoAir_ReservationAgent"> <service:presentedBy rdf:resource="&ba_service;#BravoAir_ReservationAgent"/>

<profile:has_process rdf:resource="&ba_process;#BravoAir_Process"/><profile:serviceName>BravoAir_ReservationAgent</profile:serviceName><profile:textDescription>…</profile:textDescription>…

• Hier auch Qualitätseinschätzung des Services (durch den Provider)

• Einordnung in Standards (bspw. NAICS)…<profile:hasInput rdf:resource="&ba_process;#DepartureAirport_In"/>

<profile:hasOutput rdf:resource="&ba_process;#AvailableFlightItineraryList_Out"/> <profile:hasEffect rdf:resource="&ba_process;#HaveSeat"/></profileHierarchy:AirlineTicketing>

• Sorgfältige Auswahl der Informationen!

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – FazitÜbersicht – Hauptklasse – Profile – Process Model – Grounding

htt

p:/

/ww

w.w

3.o

rg/S

ub

mis

sio

n/O

WL

-S

Page 13: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1313

Konzept (OWL-S) – Process Model• Losgelöst vom Programmcode des Web Services• Eher zu betrachten als „Business Process“• atomic-, composite- und simple-Prozesse<process:CompositeProcess rdf:ID="BravoAir_Process">

<rdfs:label>This is the top level process for BravoAir</rdfs:label>

<process:composedOf>

<process:Sequence>

<process:components rdf:parseType="Collection">

<process:AtomicProcess rdf:about="#GetDesiredFlightDetails"/>

<process:AtomicProcess rdf:about="#SelectAvailableFlight"/>

<process:CompositeProcess rdf:about="#BookFlight"/>

</process:components>

</process:Sequence>

</process:composedOf>

</process:CompositeProcess>

htt

p:/

/ww

w.w

3.o

rg/S

ub

mis

sio

n/O

WL

-S

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – FazitÜbersicht – Hauptklasse – Profile – Process Model – Grounding

Page 14: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1515

Konzept (OWL-S) – Grounding• Konkrete Realisierung• Verknüpfung mit WSDL• Grounding von OWL vergleichbar mit Binding von WSDL• Benötigt WSDL-Binding

Entnommen aus http://www.daml.org/services/owl-s/1.1/overview/. Abrufdatum: 25.06.2005.

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – FazitÜbersicht – Hauptklasse – Profile – Process Model – Grounding

htt

p:/

/ww

w.w

3.o

rg/S

ub

mis

sio

n/O

WL

-S

Page 15: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1717

Fazit• Semantic Web durch Idee der Beschreibung geradezu

geschaffen für die Unterstützung von Web Services• OWL-S in Verbindung mit WSDL guter Ansatz zur

vollständigen Beschreibung eines Web Services• Nutzt vorhandene (vom W3C unterstützte) Sprachen wie

RDF, OWL und WSDL• Service Profile „UDDI-Enabled“, aber noch immer

Eintragung „von Hand“ notwendig (nicht OWL-S-Problem!)• Idee: „Web-Service-Suchmaschine“, Realisierung als Topic

Map; Vorteil: Erweiterbarkeit, Durchsuchbarkeit

• Architektur eines Web Service und alternative Beschreibung: WSMO, WSML Jan

Motivation – Beschreibung – Ontologien – Topic Maps – Umfassender Ansatz – Fazit

Page 16: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1818

LiteraturverzeichnisRath, Holger: The Topic Maps Handbook – White Paper. URL:

http://www.empolis.de/downloads/empolis_TopicMaps_Whitepaper20030206.pdf. 2003. – Abrufdatum: 05.07.2005.

Martin, David; Burstein, Mark; Hobbs, Jerry; Lassila, Ora; McDermott, Drew; McIlraith,Sheila; Narayanan, Srini; Paolucci, Massimo; Parsia, Bijan; Payne, Terry; Sirin, Evren; Srinivasan, Naveen; Sycara, Katia: OWL-S: Semantic Markup for Web Services. URL: http://www.daml.org/services/owl-s/1.1/overview/. 2004. – Abrufdatum: 25.06.2005.

Page 17: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

1919

Fragen?

?

Page 18: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

2020

Das war…

Beschreibung von Web Services

im Semantic Web

Armin Stein

[email protected]

Vielen Dank für die Aufmerksamkeit!

Page 19: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

21

Beispiel OWL 1/3<!DOCTYPE rdf:RDF [ <!ENTITY vin "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" > <!ENTITY food "http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" > ]><rdf:RDF xmlns ="&vin;"

xmlns:vin ="&vin;" xml:base ="&vin;" xmlns:food="&food;" xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#"> ... <owl:Ontology rdf:about=""> <rdfs:comment>An example OWL ontology</rdfs:comment> <owl:imports rdf:resource="http://www.w3.org/TR/2004/REC-owl-guide-

20040210/food"/> <rdfs:label>Wine Ontology</rdfs:label> ... </owl:Ontology></rdf:RDF>

Gerüst

Page 20: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

22

Beispiel OWL 2/3<owl:Class rdf:ID="Person" /><owl:Class rdf:ID="Mann">

<rdfs:subClassOf rdf:resource="Person" />...

</owl:Class>

<owl:Class rdf:ID="Alter" /><owl:DatatypeProperty rdf:ID="wertAlter">

<rdfs:domain rdf:resource="#Alter" /> <rdfs:range rdf:resource="&xsd;positiveInteger"/>

</owl:DatatypeProperty></owl:Class>

<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid" /> ... <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasMaker" /> <owl:allValuesFrom rdf:resource="#Winery" /> </owl:Restriction> </rdfs:subClassOf> ...</owl:Class>

Werte-bereiche

Restrik-tionen

Klassen-definition

Page 21: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

23

Beispiel OWL 3/3<owl:Class rdf:ID="Wine">

<owl:equivalentClass rdf:resource="&vin;Wine"/></owl:Class>

Einbindung

Page 22: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

24

<?xml version="1.0"?><!DOCTYPE topicMap PUBLIC "-//TopicMaps.Org//DTD XML Topic Map (XTM) V1.0//EN"

"http://www.topicmaps.org/xtm/1.0/xtm1.dtd"><topicMap id="stadtfuehrer-deutschland“

xmlns:xlink="http://www.w3.org/1999/xlink">

<topic id="muenster"> <instanceOf> <topicRef xlink:href="#stadt"/> </instanceOf> <baseName> <scope><topicRef xlink:href="#german"/></scope>

<baseNameString>Münster</baseNameString> </baseName> <baseName>

<scope><topicRef xlink:href="#latin"/></scope> <baseNameString>Monasterium</baseNameString> </baseName>

</topic> <topic id="stadt">...</topic> </topicMap>

Beispiel XTMBasename, Scope

Page 23: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

25

Beispiel XTM<topic id="muenster">

<baseName>...</baseName><occurrence>

<instanceOf><topicRef xlink:href="#artikel"/>

</instanceOf><resourceRef xlink:href="http://www.muenster.de"/>

</occurrence><occurrence>

<instanceOf><topicRef xlink:href="#einwohner"/>

</instanceOf><resourceData>280.000</resourceData>

</occurrence></topic>

Occurrence

Page 24: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

26

Beispiel XTM

<association><instanceOf>

<topicRef xlink:href="#busverbindung"/></instanceOf><member>

<roleSpec><topicRef xlink:href="#linie"/></roleSpec><topicRef xlink:href="#8"/>

</member><member>

<roleSpec><topicRef xlink:href="#haltestelle"/></roleSpec><topicRef xlink:href="\#wolbeck"/>

</member><member>

<roleSpec><topicRef xlink:href="#haltestelle"/></roleSpec><topicRef xlink:href="#gremmendorf"/>

</member></association>

Association

Page 25: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

27

Beispiel XTM

<association><instanceOf>

<subjectIndicatorRef xlink:href= "http://www.topicmaps.org/xtm/1.0/core.xtm#superclass-subclass"/>

</instanceOf><member>

<roleSpec><topicRef xlink:href="...#superclass"/></roleSpec><topicRef xlink:href="#ortsteil"/>

</member><member>

<roleSpec><topicRef xlink:href="...#subclass"/></roleSpec><topicRef xlink:href="#wolbeck"/>

</member></association>

Klassenbildung

Page 26: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

28

Beispiel WSDL 1/3

<definitions name="StockQuote"...

<types><schema targetNamespace="http://example.com/stockquote.xsd"

xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest">

<complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <!-- element price entsprechend als Float --> </schema>

</types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> </message>

Elemente-Definition

Page 27: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

29

Beispiel WSDL 2/3

<portType name="StockQuotePortType"><operation name="GetLastTradePrice">

<input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation></portType><binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">

<soap:binding style="document„ transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="GetLastTradePrice"> <soap:operation

soapAction="http://example.com/GetLastTradePrice"/> <input><soap:body use="literal"/></input> <output><soap:body use="literal"/></output> </operation></binding>

Binding von Input/Output an soap

Page 28: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

30

Beispiel WSDL 3/3

<service name="StockQuoteService"><documentation>My first service</documentation><port name="StockQuotePort" binding="tns:StockQuoteBinding">

<soap:address location="http://example.com/stockquote"/> </port>

</service></definitions>

Page 29: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

31

Beispiel OWL-S (Hauptdatei)<?xml version='1.0' encoding='ISO-8859-1'?><!DOCTYPE uridef[

<!-- Definition des Vokabulars (RDF, RDFS, XML, XMS, OWL) -->]>

<rdf:RDF...<!-- Definition der Namespaces -->...>

<owl:Ontology rdf:about="">...<!-- Versionsinformation und Kommentar -->...<owl:imports rdf:resource="&service;" /><owl:imports rdf:resource="&ba_profile;" />

<owl:imports rdf:resource="&ba_process;" /></owl:Ontology>

<service:Service rdf:ID="BravoAir_ReservationAgent"><service:presents rdf:resource="&ba_profile;#Profile_BravoAir_ReservationAgent"/>

<service:describedBy rdf:resource="&ba_process;#BravoAir_ReservationAgent_ProcessModel"/>

<service:supports rdf:resource="&ba_grounding;#Grounding_BravoAir_ReservationAgent"/>

</service:Service>

</rdf:RDF>

Service-Beschreibung

Page 30: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

32

Beispiel OWL-S (Profile 1/2)

<profileHierarchy:AirlineTicketing rdf:ID="Profile_BravoAir_ReservationAgent"><service:presentedBy rdf:resource="&ba_service;#BravoAir_ReservationAgent"/>

<profile:has_process rdf:resource="&ba_process;#BravoAir_Process"/> <profile:serviceName>BravoAir_ReservationAgent</profile:serviceName> <profile:textDescription> This service provides flight reservations based on the specification... </profile:textDescription>

<profile:contactInformation><actor:Actor rdf:ID="BravoAir-reservation">

<actor:name>BravoAir Reservation department</actor:name> <!--...actor,phone,fax,email,physicalAddress,webURL etc. -->

</actor:Actor> </profile:contactInformation>

<profile:contactInformation><actor:Actor rdf:ID="BravoAir-information">

<!--möglicher weiterer Kontakt --></actor:Actor>

</profile:contactInformation>

Profil-Beschreibung

Page 31: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

33

Beispiel OWL-S (Profile 2/2)

<profile:serviceParameter>

<addParam:GeographicRadius rdf:ID="BravoAir-geographicRadius">

<profile:serviceParameterName>

BravoAir Geographic Radius

</profile:serviceParameterName>

<profile:sParameter rdf:resource="&country;#UnitedStates"/>

</addParam:GeographicRadius>

</profile:serviceParameter>

<!-- Weitere Spezifikationen wie Qualitäts-Einschätzung oder -->

<!-- Einordnung in unterschiedliche Kategorien wie NAICS oder UNSPSC -->

<!-- Beschreibung von Input/Output/Prä-/Posteffekten -->

<profile:hasInput rdf:resource="&ba_process;#DepartureAirport_In"/>

<profile:hasOutput rdf:resource="&ba_process;#AvailableFlightItineraryList_Out"/>

<profile:hasEffect rdf:resource="&ba_process;#HaveSeat"/>

</profileHierarchy:AirlineTicketing>

Parameter-Definition

Page 32: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

34

Beispiel OWL-S (Process Model 1/2)

<process:CompositeProcess rdf:ID="BravoAir_Process"><rdfs:label>This is the top level process for BravoAir</rdfs:label>

<process:composedOf> <process:Sequence> <process:components rdf:parseType="Collection"> <process:AtomicProcess

rdf:about="#GetDesiredFlightDetails"/> <process:AtomicProcess

rdf:about="#SelectAvailableFlight"/> <process:CompositeProcess

rdf:about="#BookFlight"/></process:components>

</process:Sequence></process:composedOf>

</process:CompositeProcess>

Prozess-Definition

Page 33: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

35

Beispiel OWL-S (Process Model 2/2)

<process:AtomicProcess rdf:ID="SelectAvailableFlight"><process:hasInput rdf:resource="#PreferredFlightItinerary_In"/><process:hasOutput rdf:resource="#AvailableFlightItineraryList_Out"/>

</process:AtomicProcess><process:Input rdf:ID="PreferredFlightItinerary_In">

<process:parameterType rdf:resource="&concepts;#FlightItinerary"/></process:Input><process:UnConditionalOutput rdf:ID="AvailableFlightItineraryList_Out">

<process:parameterType rdf:resource="&concepts;#FlightItineraryList"/></process:UnConditionalOutput>

Prozess-Eingabe/Ausgabe

Page 34: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

36

Beispiel OWL-S (Grounding 1/4)

<message name="SelectAvailableFlight_Input"><part name="preferredFlightItinerary" owl-s-

parameter="BravoAir:#preferredFlightItinerary_In"/></message>

<portType name="SelectAvailableFlight_PortType"><operation name="SelectAvailableFlight_operation" owl-s-

process="BravoAir:#SelectAvailableFlight"><input message="tns:SelectAvailableFlight_Input"/>

<output message="tns:SelectAvailableFlight_Output"/> </operation></portType>

Parameter <-> Message:

Page 35: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

37

Beispiel OWL-S (Grounding 2/4)

<grounding:WsdlGrounding rdf:ID="Grounding_BravoAir_ReservationAgent"><service:supportedBy rdf:resource="&ba_service;#BravoAir_ReservationAgent"/><!-- Mehrere Groundings für atomare Prozesse, im Speziellen: -->

<grounding:hasAtomicProcessGrounding rdf:resource="#WsdlGrounding_SelectAvailableFlight"/>

</grounding:WsdlGrounding>

Prozesse: OWL-S <-> WSDL

Page 36: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

38

Beispiel OWL-S (Grounding 3/4)

<grounding:WsdlAtomicProcessGrounding rdf:ID="WsdlGrounding_SelectAvailableFlight"><grounding:owlsProcess rdf:resource="&ba_process;#SelectAvailableFlight"/><grounding:wsdlOperation rdf:resource="#SelectAvailableFlight_operation"/><grounding:wsdlInputMessage>

<xsd:anyURI rdf:value= "&BravoAirGroundingWSDL;#SelectAvailableFlight_Input"/>

</grounding:wsdlInputMessage> <grounding:wsdlInputs rdf:parseType="Collection"> <grounding:WsdlInputMessageMap> <grounding:owlsParameter rdf:resource=

"&ba_process;#preferredFlightItinerary_In"/><grounding:wsdlMessagePart>

<xsd:anyURI rdf:value="&BravoAirGroundingWSDL; #preferredFlightItinerary"/>

</grounding:wsdlMessagePart></grounding:WsdlInputMessageMap>

</grounding:wsdlInputs>

Prozess <-> OperationInput <-> Message

Page 37: Beschreibung von Web Services im Semantic Web Seminar Parallele und Verteilte Systeme Services Computing und Service-Oriented Architectures Armin Stein.

39

Beispiel OWL-S (Grounding 4/4)

<grounding:wsdlOutputs rdf:parseType="Collection"> <grounding:WsdlOutputMessageMap> <grounding:owlsParameter rdf:resource="&ba_process;

#availableFlightItineraryList_Out"/> <grounding:wsdlMessagePart> <xsd:anyURI rdf:value="&BravoAirGroundingWSDL;

#availableFlightItineraryList"/> </grounding:wsdlMessagePart> </grounding:WsdlOutputMessageMap> </grounding:wsdlOutputs>

<grounding:wsdlReference> <xsd:anyURI rdf:value=

"http://www.w3.org/TR/2001/NOTE-wsdl-20010315"/></grounding:wsdlReference>

</grounding:WsdlAtomicProcessGrounding>

Output <-> Message