Title: Semantic Web Services Tutorial ESWC 2005
1Daniela Berardi Massimo Mecella
Katia Sycara Massimo Paolucci
Christoph Bussler Emilia Cimpian Matthew
Moran Michael Stollberg Michal Zaremba
Liliana Cabral John Domingue
2Agenda
- Part I Introduction to Semantic Web Services
- Part II Semantic Web Service Ontologies
- OWL-S
- WSMO
- differences commonalities
- Coffee Break 11.00 11.30
- Part III Addressing Semantic Web Service
Challenges - Discovery
- Composition
- Lunch 12.30 14.00
- Part IV Semantic Web Service Tools Systems
- CMU OWL-S Browser
- Service Composer
- WSMX
- Coffee Break 15.30 16.00
- Part V Hands-On Session
3PART I Introduction to Semantic Web Services
4Contents
- The vision of the Semantic Web
- Ontologies as the basic building block
- Current Web Service Technologies
- Vision and Challenges for Semantic Web Services
5The Vision
- 500 million users
- more than 3 billion pages
WWW URI, HTML, HTTP
Static
6The Vision
- Serious Problems in
- information finding,
- information extracting,
- information representing,
- information interpreting and
- and information maintaining.
WWW URI, HTML, HTTP
Semantic Web RDF, RDF(S), OWL
Static
7The Vision
Web Services UDDI, WSDL, SOAP
Dynamic
- Bringing the computer back as a device for
computation
WWW URI, HTML, HTTP
Semantic Web RDF, RDF(S), OWL
Static
8The Vision
- Bringing the web to its full potential
Semantic Web Services
Web Services UDDI, WSDL, SOAP
Dynamic
WWW URI, HTML, HTTP
Semantic Web RDF, RDF(S), OWL
Static
9The Semantic Web
- the next generation of the WWW
- information has machine-processable and
machine-understandable semantics - not a separate Web but an augmentation of the
current one - Ontologies as basic building block
10Ontology Definition
- formal, explicit specification of a shared
conzeptualization
conceptual model of a domain (ontological theory)
unambiguous terminology definitions
commonly accepted understanding
machine-readability with computational semantics
11Ontology Technology
- To make the Semantic Web working we need
- Ontology Languages
- expressivity
- reasoning support
- web compliance
- Ontology Reasoning
- large scale knowledge handling
- fault-tolerant
- stable scalable inference machines
- Ontology Management Techniques
- editing and browsing
- storage and retrieval
- versioning and evolution Support
- Ontology Integration Techniques
- ontology mapping, alignment, merging
- semantic interoperability determination
- and Applications
12Web Services
- loosely coupled, reusable components
- encapsulate discrete functionality
- distributed
- programmatically accessible over standard
internet protocols - add new level of functionality on top of the
current web
13The Promise of Web Services
web-based SOA as new system design paradigm
14WSDL
- Web Service Description Language
- W3C effort, WSDL 2 final construction phase
describes interface for consuming a Web
Service - Interface operations (in- output)
- Access (protocol binding) - Endpoint
(location of service)
15UDDI
- Universal Description, Discovery, and Integration
Protocol - OASIS driven standardization effort
Registry for Web Services - provider -
service information - technical access
16SOAP
- Simple Object Access Protocol
- W3C Recommendation
XML data transport - sender / receiver -
protocol binding - communication aspects -
content
17Lacks of Web Service Technology
- current technologies allow usage of Web Services
- but
- only syntactical information descriptions
- syntactic support for discovery, composition and
execution - gt Web Service usability, usage, and integration
needs to be inspected manually - no semantically marked up content / services
- no support for the Semantic Web
- gt current Web Service Technology Stack failed to
- realize the promise of Web Services
18Semantic Web Services
-
- Semantic Web Technology
-
- Web Service Technology
- allow machine supported data interpretation
- ontologies as data model
automated discovery, selection, composition, and
web-based execution of services
gt Semantic Web Services as integrated solution
for realizing the vision of the next generation
of the Web
19Semantic Web Services
- define exhaustive description frameworks for
describing Web Services and related aspects (Web
Service Description Ontologies) - support ontologies as underlying data model to
allow machine supported data interpretation
(Semantic Web aspect) - define semantically driven technologies for
automation of the Web Service usage process (Web
Service aspect)
20Semantic Web Services
- Usage Process
- Publication Make available the description of
the capability of a service - Discovery Locate different services suitable for
a given task - Selection Choose the most appropriate services
among the available ones - Composition Combine services to achieve a goal
- Mediation Solve mismatches (data, protocol,
process) among the combined - Execution Invoke services following programmatic
conventions
21Semantic Web Services
- Execution support
- Monitoring Control the execution process
- Compensation Provide transactional support and
undo or mitigate unwanted effects - Replacement Facilitate the substitution of
services by equivalent ones - Auditing Verify that service execution occurred
in the expected way
22PART II Semantic Web Service Ontologies
- Katia Sycara
- Dumitru Roman
23Contents
- OWL-S
- Upper Ontology
- Service Profile
- Process Model
- Service Grounding
- WSMO
- WSMO top level notions
- Choreography and Mediation
- Mediation
- Differences and Commonalities
24OWL-S
25OWL-S Ontology
- OWL-S is an OWL ontology to describe Web services
- OWL-S leverages on OWL to
- Support capability based discovery of Web
services - Support automatic composition of Web Services
- Support automatic invocation of Web services
- Complete do not compete
- OWL-S does not aim to replace the Web services
standards - rather OWL-S attempts to provide a semantic
layer - OWL-S relies on WSDL for Web service invocation
(see Grounding) - OWL-s Expands UDDI for Web service discovery
(OWL-S/UDDI mapping)
26OWL-S Upper Ontology
- Capability specification
- General features of the Service
- Quality of Service
- Classification in Service
- taxonomies
- Mapping to WSDL
- communication protocol (RPC, HTTP, )
- marshalling/serialization
- transformation to and from XSD to OWL
- Control flow of the service
- Black/Grey/Glass Box view
- Protocol Specification
- Abstract Messages
27Service Profiles
- Service Profile
- Presented by a service.
- Represents
- what the service provides
- Two main uses
- Advertisements of Web Services capabilities
- Request of Web services with a given set of
capabilities
28OWL-S Profile in a Nutshell
- Describes Web service
- What capabilities it provides
- What transformation the service computes
- Type of service and products
- General features such as
- Agent providing the service
- Security requirements
- Quality guarantees of service
- Primary role to assist discovery
- Allows capability based search
- Allows selection based on requirements of the
requester - Profile does not specify use/invocation
29OWL-S Service ProfileCapability Description
- Preconditions
- Set of conditions that should hold prior to
service invocation - Inputs
- Set of necessary inputs that the requester should
provide to invoke the service - Outputs
- Results that the requester should expect after
interaction with the service provider is
completed - Effects
- Set of statements that should hold true if the
service is invoked successfully. - Service type
- What kind of service is provided (eg selling vs
distribution) - Product
- Product associated with the service (eg travel vs
books vs auto parts)
30OWL-S Service ProfileAdditional Properties
- Security Parameters
- Specify the security capabilities of a Web
service (eg support X509 Encryption) - Specify the security requirements of a Web
service (eg a client should be able to provide
X509 Encryption) - Quality rating
- What level of service quality does the Web
service provide? - Description with standard business taxonomies
- How would the service be classified in standard
taxonomies such as UNSPSC or NAICS? -
- This is not a closed set, new properties can be
added using existing ontologies
31Process Model
- Process Model
- Describes how a service works internal processes
of the service - Specifies service interaction protocol
- Specifies abstract messages ontological type of
information transmitted - Facilitates
- Web service invocation
- Composition of Web services
- Monitoring of interaction
32Viewpoints of Process Model
- Three viewpoints of a Web service
- Glass Box
- The Web service reveals all its internal
structure - Which parts of the service it performs in-house,
which one it subcontracts, etc - Black Box
- The Web service model does not reveal anything
about the internal working of the service - It just specifies what data it gathers and what
data it sends back - Grey Box
- The Web service selectively hides some parts of
its Process Model, while it publicizes others
33Definition of Process
- A Process represents a transformation (function).
It is characterized by four parameters - Inputs the inputs that the process requires
- Preconditions the conditions that are required
for the process to run correctly - Outputs the information that results from (and
is returned from) the execution of the process - Results a process may have different outcomes
depending on some condition - Condition under what condition the result occurs
- Constraints on Outputs
- Effects real world changes resulting from the
execution of the process
34Motivation for Results
- Processes may terminate in exceptional states
- The credit company may fail to charge the credit
card - The book may be out of stock
- The deliver of the goods may fail
- Results support modeling of non-deterministic
outcomes of Web services - The condition specifies when an outcome is
generated - Each outcome is characterized by
- a set of constraints on outputs
- a set of effects
35Example of Process
- ltprocessAtomicProcess rdfID"LogIn"gt
- ltprocesshasInput rdfresource"AcctName"/gt
- ltprocesshasInput rdfresource"Password"/gt
- ltprocesshasOutput rdfresource"Ack"/gt
- ltprocesshasPrecondition isMember(AccName)/gt
- ltprocesshasResultgt
- ltprocessResultgt
- ltprocessinConditiongt
- ltexprSWRL-Conditiongt
- correctLoginInfo(AccName,Password)
- lt/exprSWRL-Conditiongt
- lt/processinConditiongt
- ltprocesswithOutput rdfresourceAckgt
ltvalueType rdrresourceLoginAcceptMsggt
lt/processwithOutputgt ltprocesshasEffectgt - ltexprSWRL-Conditiongt
- loggedIn(AccName,Password)
- lt/exprSWRL-Conditiongt
- lt/processhasEffectgt
- lt/processResultgt
- lt/processhasResultgt
Inputs / Outputs
Precondition
Condition
Result
OutputConstraints
Effect
36Ontology of Processes
Process
Atomic
Invokable bound to grounding
Simple
Provides abstraction, encapsulation etc.
Composite
Defines a workflow composed of process performs
37Process Model Organization
- Process Model is described as a tree structure
- Composite processes are internal nodes
- Simple and Atomic Processes are the leaves
- Simple processes represent an abstraction
- Placeholders of processes that arent specified
- Or that may be expressed in many different ways
- Atomic Processes correspond to the basic actions
that the Web service performs - Hide the details of how the process is
implemented - Correspond to WSDL operations
38Composite Processes
- Composite Processes specify how processes work
together to compute a complex function - Composite processes define
- Control Flow
- Specify the temporal relations between the
executions of the different sub-processes - Data Flow
- Specify how the data produced by one process is
transferred to another process
39Example of Composite Process
Control Flow Links Specify order of execution
Sequence BookFlight
Airline
Flight
Data-Flow Links Specify transfer of data
Perform
Perform
Airline
Select Flight
Get Flights
Flights
Flight
Flights
Depart
Arrive
Perform statements Specify the execution of a
process
40Perform Construct
- Perform provides invocation mechanism
- Specify context of process execution
- input data flow
- hooks for output data flow
- Distinction between definition and invocation of
a process - Definition specifies the process I/P/R
- Perform specify when the process is invoked and
with what parameters
41Control Flow
- Processes can be chained to form a workflow
- OWL-S supports the following control flow
constructs - Sequence/Any-Order represents a list of
processes that are executed in sequence or
arbitrary order - Conditionals if-then-else statements
- Loops while and repeat-until statements
- Multithreading and synchronization split process
in multiple threads, and rendezvous (joint)
points - Non-deterministic choices (arbitrarily) select
one process of a set
42Data Flow
- Dataflow allows information that is transferred
from process to process. - Output?Input
- The information produced by one process is
transferred to another in the same control
construct - Input ?Input
- The information received by a composite process
is transferred to the sub-processes - Output?Output
- The information produced by a subprocess is
transferred to a super-process
43Process Model take home lesson
- Service Model describes
- Set of processes that define the operations
performed by the Web service - Control flow describing the temporal flow of
processes - Data flow describing the transfer of information
between sub-processes
44Service Grounding
- Service Grounding
- Provides a specification of service access
information. - Service Model Grounding give everything needed
for using the service - Builds upon WSDL to define message structure and
physical binding layer - Specifies
- communication protocols, transport mechanisms,
communication languages, etc.
45Rationale of Service Grounding
- Provides a specification of service access
information. - Service Model Grounding give everything needed
for using the service - Service description is for reasoning about the
service - Decide what information to send and what to
expect - Service Grounding is for message passing
- Generate outgoing messages, and get incoming
messages - Mapping XML Schemata to OWL concepts
- Builds upon WSDL to define message structure and
physical binding layer
46Mapping OWL-S / WSDL 1.1
- Operations correspond to Atomic Processes
- Input/Output messages correspond to
Inputs/Outputs of processes
47Example of Grounding
Sequence BookFlight
Airline
Flight
Perform
Perform
Airline
Select Flight
Get Flights
Flights
Flight
Flights
Depart
Arrive
Arrive
Get Flights Op
Select Flight op
Depart
Flights
Flight
Flights
Airline
WSDL
48Result of using the Grounding
- Invocation mechanism for OWL-S
- Invocation based on WSDL
- Different types of invocation supported by WSDL
can be used with OWL-S - Clear separation between service description and
invocation/implementation - Service description is needed to reason about the
service - Decide how to use it
- Decide how what information to send and what to
expect - Service implementation may be based on SOAP an
XSD types - The crucial point is that the information that
travels on the wires and the information used in
the ontologies is the same - Allows any web service to be represented using
OWL-S - For example Amazon.com
49Handling stateful vs stateless Web services
- Stateless Web services
- The server does not maintain the state of the
computation - Dataflow links specify how the client communicate
the state to the service - Stateful Web services
- The service does maintain the state
- No need of dataflow links since transfer of
information is opaque to the client
50Representing Stateful Web services
Client
Sequence BookFlight
Airline
Flight
Perform
Perform
Select Flight
Get Flights
Flights
Airline
Flight
Flights
Select Flight op
Get Flights Op
Arrive
Flights
Flight
Flights
Server
Server
Stateless no information is transferred between
the two operations
51Representing Stateless Web services
Client
Sequence BookFlight
Airline
Flight
Perform
Perform
Select Flight
Get Flights
Flights
Airline
Flight
Select Flight op
Get Flights Op
Arrive
Flights
Flight
Flights
Server
Stateful information is recorded by the server,
no need of transfer between the two operations
52Conclusion OWL-S section
- OWL-S provides a language for the description of
Web services - Service Profile provides description of
capabilities of Web Service - Allows capability-based discovery
- Process Model provides the description of how to
use a Web service - Allows automatic invocation of Web service
- Service Grounding maps Atomic Processes into WSDL
operations - Allows separation between description and
implementation - Supports description of arbitrary Web services
53Web Service Modeling Ontology WSMO
54Outline
- WSMO
- aims objectives
- working structure
- Design Principles
- Top Level Notions
- Ontologies
- Web Services
- Goals
- Mediators
55WSMO is ..
- a conceptual model for Semantic Web Services
- Ontology of core elements for Semantic Web
Services - a formal description language (WSML)
- execution environment (WSMX)
- derived from and based on the Web Service
Modeling Framework WSMF - a SDK-Cluster Working Group
- (joint European research and development
initiative)
56WSMO Working Groups
A Conceptual Model for SWS
A Formal Language for WSMO
Execution Environment for WSMO
A Rule-based Language for SWS
57WSMO Design Principles
- Web Compliance
- Ontology-Based
- Strict Decoupling
- Centrality of Mediation
- Ontological Role Separation
- Description versus Implementation
- Execution Semantics
58WSMO Top Level Notions
Objectives that a client wants to achieve by
using Web Services
Provide the formally specified terminology of the
information used by all other components
- Semantic description of Web Services
- Capability (functional)
- Interfaces (usage)
Connectors between components with mediation
facilities for handling heterogeneities
WSMO D2, version 1.2, 13 April 2005 (W3C
submission)
59Non-Functional Properties
- every WSMO elements is described by properties
that contain relevant, non-functional aspects - Dublin Core Metadata Set
- complete item description
- used for resource management
- Versioning Information
- evolution support
- Quality of Service Information
- availability, stability
- Other
- Owner, financial
60Non-Functional Properties List
Dublin Core Metadata Contributor Coverage
Creator Description Format Identifier
Language Publisher Relation Rights Source
Subject Title Type
Quality of Service Accuracy NetworkRelatedQoS Pe
rformance Reliability Robustness Scalability
Security Transactional Trust
Other Financial Owner TypeOfMatch Version
61WSMO Ontologies
Objectives that a client wants to achieve by
using Web Services
Provide the formally specified terminology of the
information used by all other components
- Semantic description of Web Services
- Capability (functional)
- Interfaces (usage)
Connectors between components with mediation
facilities for handling heterogeneities
62Ontology Usage Principles
- Ontologies are used as the data model
throughout WSMO - all WSMO element descriptions rely on ontologies
- all data interchanged in Web Service usage are
ontologies - Semantic information processing ontology
reasoning - WSMO Ontology Language WSML
- conceptual syntax for describing WSMO elements
- logical language for axiomatic expressions (WSML
Layering) - WSMO Ontology Design
- Modularization import / re-using ontologies,
modular approach for ontology design - De-Coupling heterogeneity handled by OO
Mediators
63Ontology Specification
- Non functional properties (see before)
- Imported Ontologies importing existing
ontologies where no heterogeneities arise - Used mediators OO Mediators (ontology import
with terminology mismatch handling) - Ontology Elements
- Concepts set of concepts that belong to the
ontology, incl. - Attributes set of attributes that belong to a
concept - Relations define interrelations between several
concepts - Functions special type of relation (unary range
return value) - Instances set of instances that belong to the
represented ontology - Axioms axiomatic expressions in ontology (logical
statement)
64WSMO Web Services
Objectives that a client wants to achieve by
using Web Services
Provide the formally specified terminology of the
information used by all other components
- Semantic description of Web Services
- Capability (functional)
- Interfaces (usage)
Connectors between components with mediation
facilities for handling heterogeneities
65WSMO Web Service Description
- complete item description
- quality aspects
- Web Service Management
- Advertising of Web Service
- Support for WS Discovery
Capability functional description
Non-functional Properties DC QoS Version
financial
- realization of functionality by aggregating
- other Web Services
- functional
- decomposition
- WS composition
- client-service interaction interface for
consuming WS - External Visible
- Behavior
- - Communication
- Structure
- - Grounding
Web Service Implementation (not of interest in
Web Service Description)
Choreography --- Service Interfaces ---
Orchestration
66Capability Specification
- Non functional properties
- Imported Ontologies
- Used mediators
- OO Mediator importing ontologies with mismatch
resolution - WG Mediator link to a Goal wherefore service is
not usable a priori - Pre-conditions What a web service expects in
order to be able to - provide its service. They define conditions
over the input. - Assumptions Conditions on the state of the
world that has to hold before - the Web Service can be executed
- Post-conditions
- describes the result of the Web Service in
relation to the input, - and conditions on it
- Effects
- Conditions on the state of the world that hold
after execution of the - Web Service (i.e. changes in the state of the
world)
67Choreography Orchestration
- VTA example
- Choreography how to interact with the service
to consume its functionality - Orchestration how service functionality is
achieved by aggregating other Web Services
68Choreography Aspects
Interface for consuming Web Service
- External Visible Behavior
- those aspects of the workflow of a Web Service
where Interaction is required - described by workflow constructs sequence,
split, loop, parallel - Communication Structure
- messages sent and received
- their order (communicative behavior for service
consumption) - Grounding
- concrete communication technology for interaction
- choreography related errors (e.g. input wrong,
message timeout, etc.) - Formal Model
- reasoning on Web Service interfaces (service
interoperability) - allow mediation support on Web Service interfaces
69Orchestration Aspects
Control Structure for aggregation of other Web
Services
1
Web Service Business Logic
3
2
- decomposition of service functionality
- all service interaction via choreographies
4
70WSMO Web Service Interfaces
- service interfaces are concerned with service
consumption and interaction - Choreography and Orchestration as sub-concepts of
Service Interface - common requirements for service interface
description - represent the dynamics of information interchange
during service consumption and interaction - support ontologies as the underlying data model
- appropriate communication technology for
information interchange - sound formal model / semantics of service
interface specifications in order to allow
operations on them.
71Service Interface Description
- Ontologies as data model
- all data elements interchanged are ontology
instances - service interface evolving ontology
- Abstract State Machines (ASM) as formal
framework - dynamics representation high expressiveness
low ontological commitment - core principles state-based, state definition by
formal algebra, guarded transitions for state
changes - overcome the Frame Problem
- further characteristics
- not restricted to any specific communication
technology - ontology reasoning for service interoperability
determination - basis for declarative mediation techniques on
service interfaces
72Service Interface Description Model
- Vocabulary ?
- ontology schema(s) used in service interface
description - usage for information interchange in, out,
shared, controlled - States ?(O)
- a stable status in the information space
- defined by attribute values of ontology instances
- Guarded Transition GT(?)
- state transition
- general structure if (condition) then (action)
- different for Choreography and Orchestration
73Service Interface Example
Communication Behavior of a Web Service
Vocabulary - Concept A in Oin - Concept B in
Oout
Oout hasValues concept B att1 ofType W
att2 ofType Z
Oin hasValues concept A att1 ofType X
att2 ofType Y
State ?1
Guarded Transition GT(?1)
State ?2
IF (a memberOf A att1 hasValue x ) THEN (b
memberOf B att2 hasValue m )
a memberOf A att1 hasValue x att2 hasValue y
a memberOf A att1 hasValue x, att2 hasValue
m b memberOf B att2 hasValue m
received ontology instance a
sent ontology instance b
74Future Directions
Choreography - interaction of services /
service and client - a choreography
interface describes the behavior of a Web
Service for client-service interaction for
consuming the service
Orchestration - how the functionality of a Web
Service is achieved by aggregating other Web
Services - extends Choreography descriptions by
control data flow constructs between
orchestrating WS and orchestrated WSs.
Conceptual models
User language - based on UML2 activity diagrams
- graphical Tool for Editing Browsing
Service Interface Description
workflow constructs as basis for describing
service interfaces - workflow based process
models for describing behavior - on basis of
generic workflow constructs (e.g. van der Aalst)
Formal description of service interfaces -
ASM-based approach - allows reasoning
mediation
Ontologies as data model - every resource
description based on ontologies - every data
element interchanged is ontology instance
Grounding - making service interfaces
executable - currently grounding to WSDL
75WSMO Goals
Objectives that a client wants to achieve by
using Web Services
Provide the formally specified terminology of the
information used by all other components
- Semantic description of Web Services
- Capability (functional)
- Interfaces (usage)
Connectors between components with mediation
facilities for handling heterogeneities
76Goals
- Ontological De-coupling of Requester and Provider
- Goal-driven Approach, derived from AI rational
agent approach - Requester formulates objective independently
- Intelligent mechanisms detect suitable services
for solving the Goal - allows re-use of Services for different purposes
-
- Usage of Goals within Semantic Web Services
- A Requester, that is an agent (human or machine),
defines a Goal to be resolved - Web Service Discovery detects suitable Web
Services for solving the Goal automatically - Goal Resolution Management is realized in
implementations
77Goal Specification
- Non functional properties
- Imported Ontologies
- Used mediators
- OO Mediators importing ontologies with
heterogeneity resolution - GG Mediator
- Goal definition by reusing an already existing
goal - allows definition of Goal Ontologies
- Requested Capability
- describes service functionality expected to
resolve the objective - defined as capability description from the
requester perspective - Requested Interface
- describes communication behaviour supported by
the requester for consuming a Web Service
(Choreography) - Restrictions / preferences on orchestrations of
acceptable Web Services
78WSMO Mediators
Objectives that a client wants to achieve by
using Web Services
Provide the formally specified terminology of the
information used by all other components
- Semantic description of Web Services
- Capability (functional)
- Interfaces (usage)
Connectors between components with mediation
facilities for handling heterogeneities
79Mediation
- Heterogeneity
- Mismatches on structural / semantic / conceptual
/ level - Occur between different components that shall
interoperate - Especially in distributed open environments
like the Internet - Concept of Mediation (Wiederhold, 94)
- Mediators as components that resolve mismatches
- Declarative Approach
- Semantic description of resources
- Intelligent mechanisms that resolve mismatches
independent of content - Mediation cannot be fully automated (integration
decision) - Levels of Mediation within Semantic Web Services
(WSMF) - Data Level mediate heterogeneous Data Sources
- Protocol Level mediate heterogeneous
Communication Patterns - Process Level mediate heterogeneous Business
Processes
80WSMO Mediators Overview
81Mediator Structure
WSMO Mediator uses a Mediation Service via
Source Component
Target Component
1
1 .. n
Source Component
- as a Goal
- directly
- optionally incl. Mediation
Mediation Services
82OO Mediator - Example
Merging 2 ontologies
Train Connection Ontology (s1)
OO Mediator Mediation Service
Train Ticket Purchase Ontology
Purchase Ontology (s2)
Goal merge s1, s2 and s1.ticket subclassof
s2.product
Discovery
Mediation Services
83GG Mediators
- Aim
- Support specification of Goals by re-using
existing Goals - Allow definition of Goal Ontologies (collection
of pre-defined Goals) - Terminology mismatches handled by OO Mediators
- Example Goal Refinement
GG Mediator Mediation Service
Target Goal Buy a Train Ticket
Source Goal Buy a ticket
postcondition aTicket memberof trainticket
84WG WW Mediators
- WG Mediators
- link a Web Service to a Goal and resolve
occurring mismatches - match Web Service and Goals that do not match a
priori - handle terminology mismatches between Web
Services and Goals - broader range of Goals solvable by a Web Service
- WW Mediators
- enable interoperability of heterogeneous Web
Services - support automated collaboration between Web
Services - OO Mediators for terminology import with data
level mediation - Protocol Mediation for establishing valid
multi-party collaborations - Process Mediation for making Business Processes
interoperable
85- OWL-S and WSMOCommonalities and Differences
86Outline
- Perspectives
- Relation of Ontology Elements
- Interoperability and Mediation
- Semantic Representation
87OWL-S Perspective
- OWL-S is an ontology and a language to describe
Web services - guiding lines for the development of OWL-S
- Strong relation to Web Services standards
- rather than proposing another WS standard, OWL-S
aims at enriching existing standards - OWL-S is grounded in WSDL and it has been mapped
into UDDI - Based on the Semantic Web
- Ontologies provide conceptual framework to
describe the domain of Web services and an
inference engine to reason about the domain - Ontologies are essential elements of
interoperation between Web services - Build upon 30 years of AI research on Knowledge
Representation and Planning
88WSMO Perspective
- WSMO is a conceptual model for the core elements
of Semantic Web Services - core elements Ontologies, Web Services, Goals,
Mediators - ontology for precise, unambiguous, element
description - language for semantic element description (WSML)
- reference implementation (WSMX)
- Focus on solving the integration problem
- Mediation as a key element
- Ontologies as data model
- every resource description is based on ontologies
- every data element interchanged is an ontology
instance - Based on Knowledge Engineering and B2B
Integration experience
89OWL-S and WSMO
OWL-S profile WSMO capability goal
non-functional properties
- Request
- OWL-S uses Profiles to express existing
capabilities (advertisements) and desired
capabilities (requests) - WSMO separates provider (capabilities) and
requester points of view (goals) - Conceptually, OWL-S requested profile and WSMO
goal are not exactly the same - Requested service profile vs requester objectives
90OWL-S and WSMO
OWL-S Process Model ? WSMO Service Interfaces
- Differences
- WSMO provides choreography orchestration while
OWL-S provides only choreography and facilitates
automatic orchestration - WSMO service interface description model with
ASM-based formal semantics - OWL-S formal semantics has been developed in very
different frameworks such as Situation Calculus,
Petri Nets, Pi-calculus - OWL-S Process Model is extended by SWRL / FLOWS
- both approaches are not finalized yet
91OWL-S and WSMO
OWL-S Grounding ? current WSMO Grounding
- OWL-S provides default mapping to WSDL
- clear separation between WS description and
interface implementation - other mappings could be used
- WSMO also defines a mapping to WSDL, but aims at
an ontology-based grounding - avoid loss of ontological descriptions throughout
service usage process - Triple-Spaced Computing as innovative
communication technology
92Mediation and Interoperation
- Interaction of Web services is bound to produce
many forms of mismatch - Data mismatch the interacting parties do not
agree on the data format that they are using - Ontology mismatch the interacting parties refer
to different ontologies - Protocols mismatch the interacting parties
expect information at different times - Goals Mismatch the interacting parties attempt
to achieve very different goals - Interpretations Mismatch The interacting parties
interpret the same information in very different
ways - These mismatches need to be reconciled for the
interoperation to succeed. - Mediators are the components that reconcile these
mismatches
93Mediation in OWL-S and WSMO
- OWL-S does not have an explicit notion of
mediator - Mediation is a by-product of the orchestration
process - For example protocol mismatches are resolved by
constructing a plan that coordinates the activity
of the Web services - or it results from translation axioms that are
available to the Web services - It is not the mission of OWL-S to generate these
axioms - WSMO regards mediators as key conceptual elements
- Different kinds of mediators modelled
- OO Mediators for ensuring semantic
interoperability - GG, WG mediators to link Goals and Web Services
- WW Mediators to establish service
interoperability - Reusable mediators
- Mediation mechanism under development
94Mediation in OWL-S and WSMO
- There is no clear mapping between OWL-S and WSMO
approach to mediation - OWL-S adopts the view that mediators emerge
- as infrastructure elements
- or as by product of the reasoning capabilities of
the Web service (for example through matchmaking
or planning) - WSMO views mediators as fundamental conceptual
elements - But they can also be located as the result of
matchmaking or composition
95Semantic Representation
- OWL-S and WSMO adopt a similar view on the need
of ontologies and explicit semantics - but they rely on different logics
- OWL-S is based on OWL/SWRL
- OWL represent taxonomical knowledge
- SWRL provides inference rules
- FLOWS as formal model for process model
- WSMO is based on WSML a family of languages with
a common basis for compatibility and extensions
in the direction of Description Logics and Logic
Programming
96OWL vs WSML
- The relation between WSML and OWLSWRL is still
to be completely worked out - For some languages it is known
- WSML-Core is an interesting subset of OWL Lite
- WSML-DL is equivalent to OWL DL
- but for other languages the relation is still
unknown
97Summary
OWL-S WSMO current Web Service technologies
Discovery What it does Profile Goals and Web Services (capability) UDDI API
Consumption Interaction How to consume realize Process Model Service Interfaces (Choreography Orchestration) BPEL4WS
Invocation How to invoke Grounding WSDL/SOAP Grounding (WSDL / SOAP, ontology-based) WSDL/SOAP
98PART III Addressing Semantic Web Service
Challenges
- Michael Stollberg
- Daniela Berardi
99Contents
- Aspects of Semantic Web Services
- Discovery
- Problem of Discovery
- Existing approaches overview
- Composition
- Problem of Composition
- Existing approaches overview
100Challenges
- Web services as loosely coupled components that
shall interoperate dynamically and automatically - Techniques required for
- Discovery
- How are Web services found and selected?
- Composition
- How to aggregate Web Services into a complex
functionality? - Contracting
- How to ensure automated interaction of Web
Services? - Invocation
- How is data transformed to fit the requirement of
the partner Web service? - Mediation and Interoperability
- How are data and protocol mismatches resolved?
101Discovery Problems Approaches Overview
102Outline
- Aspects of Discovery
- Terminology
- Discovery Process
- Discovery Techniques
- keyword-word based retrieval
- controlled vocabulary / pre-filtering
- Semantic Discovery
- Matchmaking Notions
- Approaches Prototypes
103Aspects of Discovery
- find appropriate Web Service for automatically
- resolving the objective of a requester
- Aims
- high precision discovery
- maximal automation
- effective discoverer architectures
- Requirements
- infrastructure that allows storage and retrieval
of information about Web services - description of Web services functionality
- description of requests or goals
- algorithms for matching requesters for
capabilities with the corresponding providers
104Terminology
- Web Services
- abstract Web Services
- provides access to concrete Web Services
- has a description
- concrete Web Services
- a concrete execution of a Web Service with given
input values - corresponds to an abstract Web Service
- Goals / Requests
- predefined goals (Goal Templates)
- generic structure of user requests
- ease goal / request creation by users
- defined in Goal Ontologies
- concrete goals (Goal Instances)
- concrete objectives
- serve as client for automated service usage
based on Conceptual Architecture for Semantic
Web Services, C. Preist, ISWC 2004
105Overall Discovery Process
Requester Desire
ease of goal description
Goal Repository
Goal Discovery
Selected Goal Template
Goal Template
Goal Refinement
Concrete Goal
efficient filtering
Service Repository
Abstract Service Discovery
abstract WS
Concrete Service Discovery Selection
usable abstract Web Services
accuracy
Concrete Web Service
Keller, U. Lara, R. Lausen, H. Polleres, A.
Fensel, D. Automatic Location of Services. In
Proc. of the 2nd European Semantic Web Symposium
(ESWS2005), Heraklion, Crete, 2005.
106Discovery Techniques
- different techniques available
- trade-off ease-of-provision lt-gt accuracy
- resource descriptions matchmaking algorithms
- Key Word Matching
- match natural language key words in resource
descriptions - Controlled Vocabulary
- ontology-based key word matching
- Semantic Matchmaking
- what Semantic Web Services aim at
Ease of provision
Possible Accuracy
107Keyword-based retrieval UDDI
- Service Information by
- provider
- services binding templates
- categories
- T-Models allow creating specific information
models on resources - standard API for finding retrieving information
provider
gt allows finding all information on available
Web Service gt Web Service usage / integration
to be done manually
108Semantic Web Services in UDDI
- Mapping semantic resource descriptions into UDDI
- OWL-S Service Profile mapping to UDDI
- WSMO elements to UDDI mapping (for all top level
elements)
- mapping semantic descriptions to syntactic
repository - allows retrieval of structural information
M. Paolucci, T. Kawamura, T. Payne, and K.
Sycara Importing the Semantic Web into UDDI. In
Proc. of E-Services and the Semantic Web
Workshop. Herzog, R. Lausen, H. Roman, D.
Zugmann, P. WSMO Registry. WSMO Working Draft
D10 v0.1, 26 April 2004.
109Controlled VocabularyOWL-S Profile Hierarchies
- hierarchy of Web Services
- functional similarities (domain, in- / outputs)
- allows pre-filtering of services on basis of
categorization
Web Services
E-commerce
Information
Ticketing
Web Search
Weather
Book Selling
Event Ticketing
Airline Ticketing
http//www.daml.org/services/owl-s/1.0/ProfileHier
archy.owl
110Controlled VocabularyWSMO non-functional
properties
- Ontology keywords in non-functional properties
- dcsubject contains main ontology concepts
related to Web Service - allows pre-filtering similar to OWL-S Profile
Hierarchy, but on basis on ontologies
(controlled vocabulary)
- Example
- a Web Service for selling train tickets in
Austria - dcsubject hasValue _tctrainticket,
popurchase, locaustria - does not precisely describe Web Service
functionality - gt accuracy of discovery result meager
Lara, R., Lausen, H. Toma, I. (Eds) WSMX
Discovery. WSMX Working Draft D10 v0.2, 07 March
2005.
111Semantic Matchmaking
- usability determination on basis of
- precise semantic descriptions
- OWL-S Profile provides capability description
request - Functional capabilities (what the Web services
does) - Quality parameters (how the Web service does it)
- Capability description request are both
Profile-based - OWL-S reliance on OWL provides basis for semantic
matching - WSMO separates requester and provider viewpoints
- WSMO goals describe requester objectives
- WSMO capabilities describe WS functionality
- Non-functional properties used for security,
trust, etc.
112OWL-S Profile Matching
- Adverstisement (service provider) and request
described as OWL-S Service Profiles - Matching inputs and outputs of
- advertisement and request
- Five degrees of match
- Exact
- PlugIn R ? A
- Subsumed A ? R
- Intersection ?(A ?? R??)
- Fail when disjoint A ?? R??
- this is ontology-subsumption
- matching
Thing
subsume
Vehicle
Price
Car
Truck
exact
Sedan
Coupe
plug-in
Mid-Size
Luxury
M. Paolucci, T. Kawamura, T. Payne, and K.
Sycara Semantic matching of web services
capabilities. Proceedings of the First
International Semantic Web Conference,
Springer-Verlag, 2002 pp 333-347. Li, L. and
Horrocks, I. A software framework for
matchmaking based on semantic web technology. In
Proc. of the 12th International Conference on
the World Wide Web, Budapest, Hungary, May 2003.
113WSMO Capabilities Set-based Modeling
- capability as state-relation (pre- post state
of service usage) - each capability description element restricts the
information space to the set of possible
instances that satisfy the element - used in both goals and service descriptions
post-state
pre-state
Postcondition
Precondition
computational
shared variables
Assumption
Effect
non-computational
Information Space all possible instances of
used ontologies
114Matchmaking Notions Intentions
G
WS
- Exact Match
- G, WS, O, M ?x. (G(x) ltgt WS(x) )
- PlugIn Match
- G, WS, O, M ?x. (G(x) gt WS(x) )
- Subsumption Match
- G, WS, O, M ?x. (G(x) lt WS(x) )
- Intersection Match
- G, WS, O, M ?x. (G(x) ? WS(x) )
- Non Match
- G, WS, O, M ?x. (G(x) ? WS(x) )
Keller, U. Lara, R. Polleres, A. (Eds) WSMO
Web Service Discovery. WSML Working Draft D5.1,
12 Nov 2004.
115Discovery Approach
- Matchmaking Notion to be used defined for each
goal capability element - Basic Procedure
Web Service Capability
Goal Capability
Plug-In
Precondition
Precondition
valid pre-state?
Exact
Assumption
Assumption
no
yes
Intersection
abort
Postcondition
Postcondition
valid post-state?
Exact
Effect
Effect
no
yes
abort
Match
116Prototype with TA/Flora2
- Realization
- F-Logic Reasoner with Transaction Logic Support
- Resource Modeling
- Service Capability set of rules for each element
- Goal Capability pre-state as facts, post-state
as queries - State model of a logical theory (facts rules)
- State-Transitions Update of the logical theory
- Insertion Deletion of Facts and/or Rules
- Matchmaking on basis of current state
- Procedure
- Goal pre-state satisfies Service pre-state?
- Insert Goal pre-state into Knowledge Base (KB)
- Can KB satisfy Service post-state (hypoth.
execution)? - If yes, can Service post-state satisfy Goal
post-state?
M. Kifer, R. Lara, A. Polleres, C. Zhao, U.
Keller, H. Lausen and D. Fensel A Logical
Framework for Web Service Discovery. Proc. 1st.
Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima,
Japan, November 8, 2004, CEUR Workshop
Proceedings, ISSN 1613-0073
117Prototype with VAMPIRE
- Realization
- FOL Theorem Prover
- Universe as Knowledge Definition
- ontology schemas (concepts, relations, axioms)
- generic instances for all concepts and relations
- Matchmaking Proof Obligations
- Goal and Service descriptions as logical theories
- Matchmaking Notions as Proof Obligations
- not bound to DL / LP reasoning support
- Universe Definition
- supports matchmaking without knowledge creation /
insertion at runtime - handling of incomplete facts (modeling
- intention ? semantics in logics)
Generic Instance
Incomplete Facts
concept Person age ofType integer sex ofType
string
Ontology
?x memberOf Person age hasValue ?A and ?A
80 .
Goal
Stollberg, M. Keller, U. Fensel. D. Partner
and Service Discovery for Collaboration on the
Semantic Web. Proc. 3rd Intl. Conference on Web
Services (ICWS 2005), Orlando, Florida, July