Title: Web Services and Semantic Web Services: DAML-S and WSMF
1Web Services and Semantic Web Services DAML-S
and WSMF
- 21st-26th July 2003
- Cercedilla (Spain)
- Federica Schiappelli
- Francesco Taglino
2Summary
- Web Services and Semantic Web Services
- DAML-S
- WSMF
- Conclusions
3Web Services and Semantic Web Services
4What is a Web Service? IBM
- Web was designed primarily for human
interpretation and use - Web services are a new breed of Web application
- self-describing
- modular applications that can be published,
located, and invoked across the Web. - Web services perform functions, which can be
anything from simple requests to complicated
business processes. - In other words, web services are interoperable
building blocks for constructing applications.
5Web Services an example
Authentication
Inter-library loan request
Document Translation
Search
Payment
Internet
Digital Library Application
- The current web enables
- enables users to connect to applications
- The web services architecture enables
- applications to connect to other applications
(from B2C to B2B).
6The web service architecture
Service Registry
Service Requestor
Service Provider
7Overview of web services standards
- Data and Control Flow description of Web
Services Security and Management - A mechanism for registering and looking up web
services - Programmatic way of describing the Web Services
Interface - Web Services Communication protocol
WS-Security WS-Routing etc
WSDL
BPEL4WS
UDDI
XML
WSDL
SOAP
HTTP
8A case of too many proposals?
- Many other Web Services Proposals exist
- Transport
- DIME Direct Internet Message Encapsulation
- HTTPR Reliable HTTP
- Packaging Extensions
- SOAP-DSIG SOAP Security Extensions Digital
Signature - SWASOAP Messaging with Attachments
- WS-License Web Services License Language
- WS-Referral Web Services Referral Protocol
- WS-Routing Web Services Routing Protocol
- WS-Security Web Services Security Language
Source Pavel Kulchenko http//www.xml.com/pub/a
/2002/01/09/soap.html?page1
9A case of too many proposals?
- Other Web Services Proposals exist
- Description
- BPEL4WS Business Process Execution Language For
Web Services - WSCM Web Services Component Model
- WSFM Web Services Modeling Framework
- WSML Web Service Meta Language
- WSOL Web Service Offering Language
- WSXL Web Service Experience Language
- WSUI Web Service User Language
- XLANG Web Service Offering Language
- Discovery
- USML UDDI Search Markup Language
- WS-Inspection Web Service Inspection
Source Pavel Kulchenko http//www.xml.com/pub/a
/2002/01/09/soap.html?page1
10Towards the Semantic WS
- Web Service benefit from inclusion of semantics
- For example, DAML - DARPA Agent Markup Language
was designed to provide ontologies and
description logics for Agent Markup to improve
interoperability - Semantic Web provides open, extensible, semantic
framework for describing and publishing semantic
content - Benefits?
- Improved interoperability
- Automated service composition, discovery and
invocation - Access to knowledge on the internet
11Tackling Semantic Interoperability
- Semantic Interoperability is a major hurdle for
- Locating Services
- Different terms used for advertisements and
requests - Negotiating contracts communications
- Different protocols used by different communities
when agreeing whether to transact - Invoking
- Constructing valid messages based on the
published signature/interface of a service - Understanding
- Interpreting the results of invoking a service
- Composing Services
- Constructing plans to achieve meta-goals based on
available Services/Agents
12Example of Semantic Mismatch
- at the Content Level
- Provider returns value Pennsylvania, but
requester only understands two letter state codes
(i.e. PA) - at the Attribute level
- Requester needs rainfall but provider provides
precipitation - at the level of Units of Measure
- Requester has value in inches, but provider
requires cm - at the Message level
- Requester has length width, provider requires
area
13DAML-S
14What is DAML-S?
- DAML-S A DARPA Agent Markup Language for
Services - A DAMLOIL ontology for describing properties
capabilities of agents (Web) services in an
unambiguous, computer interpretable mark-up
language.
15DAML-S Upper Ontology
- input types
- output types
- preconditions
- postconditions
- communication protocol (RPC, HTTP, )
- port number
- serialization
- process flow
- composition hierarchy
- process definitions
Source Terry Payne, University of Southampton
16Describing the Service Profile
- A profile represents a functional description of
the service capabilities - Describe
- Dataflow properties
- Inputs required to invoke the service
- Outputs that are generated by the service
- World-State properties
- Preconditions that should be satisfied
- Effects that will be asserted if the service
execution is successful - Service metadata is presented
- Determine additional data that should be used
when searching for, or selecting services - Identify whether the profile description is an
instance of existing service categories (profile
hierarchy)
17The Service Profile (what it does)
Non Functional Properties
Functionality Description
Source Terry Payne, University of Southampton
18The Profile properties
- Non Functional
- Provide supporting information about services
(i.e., serviceName, textDescription, ) - Functional
- Functional specification of what the service
provides in terms of parameters - Preconditions set of conditions that should hold
prior to service invocation (i.e., Credit Card is
valid) - Inputs set of necessary inputs that the equester
should provide to invoke the service (i.e.,
Credit Card number) - Outputs results that the requester should expect
after interaction with the service provider is
completed (i.e., Flight booking number) - Effects set of statements that should hold true
if the service is invoked successfully (i.e.,
Credit Card being debited)
Source Terry Payne, University of Southampton
19Decribing the Service Process Model
- A process model represents a service as a
workflow, consisting of several processes - Each process could itself be another service, a
workflow, or an atomic process - Identify and define the atomic processes
- what are its inputs and outputs.
- Are there any preconditions that should be met,
or effects that are generated? - Define the workflow that coordinates the
execution of these processes
Source Terry Payne, University of Southampton
20The Service Process Model (how it works)
Source Terry Payne, University of Southampton
21Describing the Service Grounding
- Provide a WSDL file for the service being
described - Identify and map
- The atomic processes within the process model to
the corresponding operations in the WSDL
description - The inputs outputs correspond to WSDL messages
Source Terry Payne, University of Southampton
22The Service Grounding (how to access it)
Source Terry Payne, University of Southampton
23Publication
Profile
Discovery
Simulation
Selection
Process Model
Verification
Composition
Invocation, Interoperation
Grounding
Monitoring, Recovery
Development Deployment Use
Source David Martin for DAML-S Coalition
24DAML-S tools
- Web Service Composer semi-automatic process for
dynamic composition of ws http//www.mindswap.org/
evren/composer/ - WSDL2DAML-S Converter complete for Grounding,
partial for Profile http//www.daml.ri.cmu.edu/wsd
l2damls - DAML-S Matchmaker web service that helps to make
connections between service requesters and
service providers http//www.damlsmm.ri.
cmu.edu/
25WSMF
Source Dieter Fensel (University of Innsbruck)
26What is the WSMF
- WSMF Web Services Modeling Framework provides a
framework for peer-to-peer communication between
any number of endpoints (i.e., anything that can
be invoked and responds) - Strong de-coupling
- Each endpoint is fully autonomous in its message
exchange behaviour and message content - Strong mediation
- Extensive support for bridging data and process
differences resulting from strong de-coupling
(compensating strong decoupling)
27Main elements
- Ontologies
- Goal/Capability repositories
- Web Services
- Mediators
28Ontologies
- Definition in context of basic communication
elements - Document types
- Structure of data communicated
- Semantics
- Meaning of data communicated
- Both are defined by endpoints due to their
autonomy - Definition in context of WSMF
- Goal and pre-/post-condition support
- Meaning of goal web service provider addresses
- Meaning of goal web service client has in mind
- This is defined by endpoints due to their autonomy
29Capability Repositories
- Capability
- Client can state goal it has, i. e. what it tries
to accomplish - E. g. book a complete round-trip travel
- Endpoint can state goal it addresses, i. e. for
what goal it provides service - E. g. book most expensive hotels
- E. g. book affordable hotels -)
- Ontology
- E. g. definition of round-trip travel
- Trip between two cities whereby transportation is
between the two cities. One destination city and
one origination city. Complete means flight,
hotel and car whereby flight is between the two
cities and hotel and car are booked in the
destination city.
30Capability Repositories (2)
- Pre-conditions
- Input that web service requires to function
properly - E. g. definition of affordable or most
expensive - Ontology
- What does affordable mean?
- Total charge per night per room (including taxes
and any applicable fees) is in the range of USD
49 to USD 99 - Most expensive is clear -)
- Select the hotel in the city with the highest
price per room per night
31Capability Repositories (3)
- Post-condition
- Output web service provides
- E. g. a complete trip is booked or not at all
- Ontology
- What does booked mean?
- Flight in status OK, hotel guaranteed with credit
card for late arrival, car guaranteed with credit
card. - What does not at all mean?
- No flight booked or reserved, no hotel booked or
reserved, no car booked or reserved and no
financial transaction or obligation existent (or
any more, if cancellation fees have been paid)
32Web Services definition
- Name
- Reference to goal and pre/post cond.
- Input/Output data
- Data flow (i.e., split, join, typecast)
- Control flow (i.e., sequence, conditional
branching, for/while-loops, parallel exec.) - Compensation (i.e., undoing, side effects)
33Mediation
- Data Mediation
- Data matching (lossless transf.)
- Data mismatching (lossy transf.)
- Data-overcomplete mismatch
- Data-incomplete mismatch
- Semantic mismatches
- Process Mediation
- Precise match
- Message sent by sender is expected by receiver
- Unresolvable mismatch
- Message sent by sender are not expected by
receiver - If message cannot be consumed, merger,
re-arranged or artificially produced - Resolvable mismatch
34Conclusions
35Conclusions
- DAML-S is an ontology for describing properties
capabilities of Web services - WSMF defines description elements for
- adding semantics to WS
- providing WS as a scalable infrastructure for
eWork and eCommerce - They are complementary
- DAML-S could be used for defining a formal
semantics but - it lacks many of the modeling primitives
important within WSMF - it does not provide formal semantics for many of
the primitives expressed in it