Title: Semantic Web Services
1Semantic Web Services
- Prof. Dr. Heiner Stuckenschmidt
- Universität Mannheim
2Überblick
- Web Services
- Web Service Descriptions
- Semantic Web Services
- Web Service Ontologies
- Learning Web Service Ontologies
3From the Web to Web Services
Semantic
Semantic Web
Annotation
Functionality
Traditional Web
Service Web
Syntactic
Static
Dynamic
4Service Oriented Architecture
- Service oriented architecture provides a standard
means for interoperability of application - that operate over the Internet where speed and
reliability cannot be guaranteed - whose deployment cannot be managed centrally
- that run on different platforms and vendor
products - need to be exposed for use over a network, such
as the Internet
5Definition Web Service
- A web service is
- a software system
- designed to support interoprable
machine-to-machine interaction - over a network.
- A web service has
- An interface
- typically conveyed using HTTP with an XML
serialization - described in a machine processable format.
6Web Service Descriptions
- A service description specifies
- The format of massages to communicate with the
service - Datatypes used to represent in- and outputs of
the service - Transport protocols and serialization to be used
- Service Semantics (not part of the description !)
- the expected behavior of the service in response
to a message. - the intended meaning of the input and output data
7Interaction via Web Services
- Requester and Provider become known to each other
- Requester and Provider agree on service
description and semantics - Service descriptions are realized by the agents
- Requester and provider agents exchange messages,
thus performing the task
1
Requester
Provider
2
WSD
WSS
3
3
Requester Agent
Provider Agent
4
8Tasks connected with Web Services
- Web Service Discovery Selection
- Find an airline that can fly me to Marina del
Rey, CA. - Web Service Invocation
- Book flight tickets from USAirways to arrive 12th
Oct. - Web Service Composition Interoperation
- Arrange taxis, flights and hotel for travel from
Southampton to Portland, OR, via Marina del Rey,
CA. - Web Service Execution Monitoring
- Has the taxi to Gatwick Airport been reserved
yet?
9Web Service Discovery
- A registry is an authoritative, centrally
controlled store - Service providers actively place service
description in the registry - The registry owner decides who inserts what
information - An index is an automatically created guide to
information - Information about available services is collected
and stored - Different parties can maintain different indices
- In a P2P setting discovery is done dynamically
- Services know about neighboring services
- Queries by requester agents are forwarded to
neighbors
10Web Service Technologies
- The general architecture is implemented in W3C
standards
Base Technologies XML, XML Schema
Descriptions WSDL Web Service Description
Language
Messages SOAP Simple Object Access Protocol
Communication HTTP Hypertext Transfer Protocol
11Web Service Description Language
- A WSDL document is an XML document defining
- Service a collection of related network
endpoints - Operations actions supported by the service
- Port Types Sets of operations supported by an
endpoint - Binding concrete protocol and data format for a
port type - Port a single endpoint in terms of a binding and
an address - Types a container for data type definitions
- Messages typed definitions of data being
exchanged
12WSDL Structure
Service
- portType
- Abstract definition of a service (set of
operations) - Multiple bindings per portType
- How to access it
- SOAP, JMS, direct call
- Ports
- Where to access it
Port (e.g. http//host/svc)
Port
Binding (e.g. SOAP)
Binding
Abstract interface
portType
operation(s)
inMesage
outMessage
13An Example Stock Quotes
- The service supports a single operation called
GetLastTradePrice - The operation is deployed using the SOAP protocol
over HTTP. - The service accepts a ticker symbol of type
string as input and returns the trade price as a
float number.
ltservice nameStockQuoteServicegt
ltdocumentationgtAn Example Web Servicelt/documentati
ongt ltport nameStockQuotePort
bindingtnsStockQuoteBindinggt
ltsoapaddress locationhttp//example.com/stockqu
ote/gt lt/portgt lt/servicegt
14Ports and Messages
ltportType nameStockQuotePortTypegt
ltoperation nameGetLastTradePricegt
ltinput messagetnsGetLastTradePriceInput/gt
ltoutput messagetnsGetLastTRadePriceOutput
/gt lt/operationgt lt/portTypegt
ltmessage nameGetLastTradePriceInputgt
ltpart namebody elementxsd1TradePriceRequest
/gt lt/messagegt ltmessage nameGetLastTradePriceOut
putgt ltpart namebody elementxsd1TradePr
ice/gt lt/messagegt
15Type Definitions
lttypesgt ltschema targetNamespacehttp//exampl
e.com/stockquotes.xsd xmlnshttp//www.w3.o
rg/2000/10/XMLSchemagt ltelement
nameTradePriceRequestgt
ltcomplexTypegt ltallgt
ltelement nametickerSymbol
typestringgt lt/allgt
lt/complexTypegt lt/elementgt
ltelement nameTradePricegt
ltcomplexTypegt ltallgt
ltelement nameprice typefloatgt
lt/allgt lt/complexTypegt
lt/elementgt lt/typesgt
16Role of WSDL
- WSDL provides a definition of the programming
interface of the service - Ports define physical access points for the
service - Port types specify possible operations
- Messages define in- and outputs of operations
- Types define XML format in which in- and outputs
have to be provided
17Tasks revisited
- Web Service Discovery Selection
- Find an airline that can fly me to Marina del
Rey, CA. - Web Service Invocation
- Book flight tickets from USAirways to arrive 12th
Oct. - Web Service Composition Interoperation
- Arrange taxis, flights and hotel for travel from
Southampton to Portland, OR, via Marina del Rey,
CA. - Web Service Execution Monitoring
- Has the taxi to Gatwick Airport been reserved
yet?
18Specifying Service Semantics
- Web Service Discovery requires to search for
appropriate services based on functionality
descriptions (Semantics). - An appropriate Language for representing
functional descriptions should at least be - Web friendly (based on URIs and globally
scalable) - Unambiguous
- Capable of expressing complex functionality
- Capable of expressing new vocabularies and
relations between functionalities
19 to Semantic Web Services
Semantic
Semantic Web Services
Functionality
Semantic Web
Annotation
Annotation
Functionality
Traditional Web
Service Web
Syntactic
Static
Dynamic
20Requirements for Semantic Descriptions
- For computer programs to successfully interact
- There must be an agreement on the communication
channel - There must be an agreement on the form of the
data - There must be an agreement on the intended
meaning of data - There must be an agreement on the behavior of a
service
21Semantic Web Service
- Semantic WS - semantically annotated WS to
automate discovery, composition, execution - Example
lt rdfIDWS1"gt
ltowlshasInput rdfresource /gt
ltowlshasInput rdfresource
/gt ltowlshasOutput
rdfresource
/gt lt/ gt
22OWL-S A Service Ontology
- OWL-S is an OWL ontology for describing services.
- It can be combined with domain ontologies
describing the meaning of the data processed by a
service
Service
Service Profile
Service Model
Service Grounding
How to access it data models and communication
What it does functionality and tasks
How it works behavior of the service
23Service vs. Ontology
OWL Ontology
OWL Ontology
Profile Ontology
OWL-S
E_Commerce
Profile
Service
Process
Grounding
Book_Selling
Airline_Ticketing
- Domain Ontology
- Airport
- Flight Itinerary
- confirmation
- Reservation Number
OWL Ontology
Profile-Description BravoAir is an airline
ticketing service Input departure and arrival
airport Output confirmation and flight
itinerary or reservation number
Instance
24A Closer Look at OWL-S
25A Closer Look at OWL-S
26Service Grounding
27Domain Ontology OWL Web Ontology Language
Base Technologies RDF, RDF Schema
Service Semantics OWL-SService Ontology
Descriptions WSDL Web Service Description
Language
Base Technologies XML, XML Schema
Messages SOAP Simple Object Access Protocol
Communication HTTP Hypertext Transfer Protocol
28Beispiel Flugbuchung
- Suche nach möglichen Flügen
- Auswahl eines Fluges
29Beispiel Flugbuchung
- Buchung des ausgewählten Fluges
30Domänen-Ontologie
- Beschreibung der Domäne
- Beschreibung von In- und Output sowie Bedingungen
- Relationen zwischen den entsprechenden Klassen
31Atomare Prozesse
- Erstellung von Prozess Instanzen
- Verbindung zu Input und Output (Klassen)
- Bestimmung der Datentypen
32Grounding
- Abbildung Atomarer Prozesse auf WSDL Ports
- Abbildung von Parametern auf Teile von WSDL
Messages
33Komplexe Prozesse
- Atomare Prozesse
- Kontrollstruktur
- Parameterübergabe
34Service Profile
- Erstellung eines Profils für den Service
- Profil beinhaltet Input und Output Parameter
- Parameter im Profil müssen Teilmenge der
eigentlichen Parameter sein
35Semantic Services in myGrid
- Grid middleware to support in silico experiments
in biology - Bioinformatics programs are exposed as semantic
web services - GOALS
- Support Expert to learn
- From more services
- In less time
- A Better ontology (for SWS descriptions
600 (Services)
550 Concepts But only 125 (23) used for SWS tasks
36Extraction method
Replace or delete sequence sections.
D0. Corpus
word 1 replace replace V i
word 2 or or U 1
lex-mod word 3 delete delete
V 1 lex-dep word 4 sequence sequence
N 5 nn word 5 sections section
N 1 obj
S1. MINIPAR (A)
D1. Tagged Corpus
37Implementation in the GATE Framework
38Quantitative Evaluation
- After Pruning
- Low noise gt high precision
- Many new additions, especially for Methods
39Qualitative Evaluation
I wish I had that before!
40Summary Learning Web Service Ontologies
- Achievements
- Methods for Extracting Ontologies from Software
Documentation - Implementation of the Methods in the GATE
Framework - Evaluation in realistic scenarios
- Impact
- Reference Application for GATE in the Semantic
Web Area - Contribution to the myGrid Project