When Networks Became Popular
in the Science Community ...
- CPU time, storage,
bandwidth: rare and expensive
- the idea of having networks:
optimizing use of these
resources by
balancing load using machine to machine communication
- nobody considered use of
networks for interpersonal communication
or
man machine communication in first place
General machine to machine
communication turned out to be hard. So
(while
cost of resources declined):
- interpersonal communication
became a tremendous success (E-Mail,
Chat
... just emerging VoIP)
- also man machine
communication flourished with WWW as the
underlying
technology (but also Telnet, FTP, ...)
- open machine to machine
communication is highly desired but still
under
development
Example Problem
- suppose you plan a trip to
the US
- you have scheduled meetings
with some people
- there are other people you
want to meet, but you do not have an appointment yet
- you want to spend a weekend
at Yosemite
- you'ld like to rent a car
for the weekend
If you submit these
requirements to your computer (in an appropriate language) can you
expect it to list some options for travel arrangements?
Analysis of the problem
- though most of the
information required to solve the problem might be on the net
- calendars
- airline reservation
systems
- car reservation systems
- hotel reservation systems
- travel guides
your computer might have difficulties to combine it in a meaningfull way
- computers - applications
rather - usually provide informations in
such a way that it can be understood by people (or by special
applications that where developped to work with each other)
- solving tasks like the one
above usually requires human intervention
- sometimes a few "cut and
pasts" will suffice
- sometimes it is more
complex (e.g. reformating of information, some computing on an
intermediate spreadsheed, ...)
- computers usually don't have
a model how to interpret information on the net
Two Approaches for an Open
Solution
- Web Services
- applications provide
services based on data of a well defined
structure
- messaging between
applications
- one and the same
application can act as client and as server
- chains of services allow
modelling of business processes
- XML as lingua franca
Webservices
enable exchange and
distributed processing of data
- Semantic Web
- data are described by
meta data
- resources can
have properties and property values
- properties are objects
too
- resources can be
associated with classes
- boolean operations on
classes can be used to define new
classes
- RDF base language of SW;
RDFS and OWL provide extensions,
SPARQL
as query language
Semantic
Web can be seen as a huge
extensible database
- Resources are uniquely
identified by URIs
Constituents of WS
- Messaging
- to transport request and
results
Standards:
SOAP
1.2
(27 March 2006),
WS-Addressing
(9 May 2006),
MTOM
(25 January 2005)
- Service Description
- to describe function and
interfaces of a service
Standard:
WSDL
2.0 (CR 1 July 2006)
- Directory of services
- in order to find services
Standards:
UDDI
(19 October 2004 by
OASIS-Open)
- Choreography
- to describe the observable
behaviour of cooperating services
Standard:
WS-CDL
(CR, 9 November 2005)
Messaging: SOAP Version 1.2
- XML-based
- Extensible
- Envelope
- A binding framework
- Processing model
The SOAP Message
SOAP Message Path
- One-way message
- Going from a sender to a
receiver, possible via intermediaries
- SOAP body is for the
ultimate recipient
- SOAP header blocks may be
targeted at anybody along the message
path
- Intermediaries can be active
or forwarding
- active intermediaries
make changes in headers (e.g. adding
headers based on policies, encryption, ...)
- forwarding
intermediaries do not change the message (e.g.
logging)
Message Exchange Patterns
- One-way exchanges can be
combined
- Template that establishes a
pattern for the exchange of messages
between SOAP nodes
- Examples:
- Request response
- Response: SOAP message
following a non-SOAP request (e.g. an
HTPP GET)
Underlying Protocols Binding
- Binding to an underlying
protocol:
- Serialization of the
Infoset
- Transmission (message
path, endpoints)
- Reconstruction of the
Infoset
- Can implements features:
- Message exchange pattern
(MEP)
- Optimization
- …
e.g. SOAP 1.2 HTTP Binding
- Carries SOAP messages in an
HTTP message
- Implements 2 MEPs
- SOAP Request-Response:
HTTP POST
- SOAP Response: HTTP GET
- Implements the SOAP Web
Method feature:
- Allows for REST-ful
interactions (SOAP response)
Addressing Information: Web
Services Addressing 1.0
- SOAP is very generic: no
addressing information provided in its
core
capabilities
- Typical interaction: HTTP
request-response
- Other scenarios:
- protocol without
appropriate addressing capabilities
- protocol which doesn't
provide correlation facilities
- send the response to an
alternate location
Addressing
- Messages travel between
endpoints
- Concept of an endpoint
reference (EPR):
- destination address
- reference parameters:
bag of information related to an
interaction
- metadata about the
endpoint
- bindings for SOAP1.2 and WSDL
Describing Web services
- Loose coupling: simple tasks
are exposed as stand-alone services
- In order to use those
services and do useful things:
- Need to describe how to
interact with a service: WSDL 2.0
- Need to describe
interactions between a set of services:
WS-CDL
1.0
Web Service Description (WSD)
- "Provider
agent" implements a Web service
- "Requester
agent" (a.k.a. "client") makes
use of that Web service
- WSD represents a "contract"
- Specifies the message
formats, transport protocols, locations
WSDL 2.0 Structure
Description document:
- Documentation
- Datatypes used (schema types)
- Abstract interface of the
service
- Binding of these messages to
a protocol (SOAP 1.2 or HTTP 1.1
[and SOAP 1.1 for backw. comp.])
- Location(s) of the service
WS-CDL
1.0 Choreography Description Language
- Language that can be used to
describe protocols
of cooperating Services
- A Choreography Description
is a multi-participant contract that
describes the common
observable behaviour of the collaborating Services
- CDL enables
- interoperability of
Services
- validation of
Services statically and at runtime against
a choreography description
- definition of
multi-party business protocols
A Closer Look on WS
Architecture
- sem
in this context is
an
(informal) description of the semantics of a service
- WSD
is a (machine
readable)
Web Service Description written in WSDL
- There is no rigid dividing
between WSD
and Sem
WS Architecture Models
- a model is a
coherent subset of the architecture that
typically
revolves around a particular aspect of the overall architecture
- the Architecture of WS has 4
models:
- a message oriented model
- a service oriented model
- a resource oriented model
- a policy model
- each model is comprised by a
number of concepts and the
relationship
between these concepts
- conformant realizations of
this architecture must reflect the
concepts
and relationships of the architecture
The Message Oriented Model
The Service Oriented Model
The Resource Oriented Model
The concept of resources is
fundamental to the web. Resources are
identified by URIs throughout the web, which allows to refer to them.
The Policy Oriented Model
The Policy Model focuses on
those aspects of the architecture that
relate
to policies and, by extension, security and quality of service.
Web Service
- we can specify the interface
of a service in a machine readable
way
- we can specify datatypes
that
are understood and transmitted by a service in a machine
readable way (thanks to XML/XML-Schema)
- we can use protocols and
service endpoints to implement usage of
an service
- but how do we search and
find
an appropriate Web Service for a specific task?
Semantics of Web Services
- Web services technology is
great
- But how can we search for a
specific service like
- “find me the
most elegant Schrödinger equation
solver”
- what does it mean to be
- “elegant”?
- “most
elegant”?
- mathematicians ask these
questions all the time…
- It is necessary to
characterize the service
- not only in terms of
input and output parameters…
- …but also in
terms of its semantics
- this is were the Semantic
Web comes in
Semantic Web
- Semantic Web was covered by
Ivan Herman in his keynote this
morning (so
I can make it short)
- Semantic Web is "Data on the
Web" represented using languages
like RDF, RDFS and OWL. There is a Query language named SPARQL
- Semantic Web is not on
applications
- provide WS a framework for
SW applications/agents?
Semantic Web and Web Services
Some discussion topics of
the
Semantic Web Services Interest Group:
- Semantics with W3C Web
services technologies
- Semantics-enabled services
design
- Semantic Web technologies in
Web services discovery, composition,
...
- Mapping WS technologies to
SW (RDF)
- What do you use semantics in
Web services for? Do you need/use
Semantics?
- Web services and agent
technologies
Specifications have been
submitted by W3C members in 2004-2005: