Title: Enhancing Web Service Descriptions using WSDL-S
1Enhancing Web Service Descriptions using WSDL-S
Presented by Preeda Rajasekaran LSDIS Lab,
University of Georgia (Under the Direction of
John A. Miller)
2Outline
- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S
- METEOR-S, SWSDT (Semantic Web Services
Development Tool) - Related Work
- Conclusion
- Future Work
3 4Introduction
- Web Service based IT infrastructures becoming
popular - Industry wide standardization (WSDL, SOAP etc. )
- XML based technologies which run over Web servers
- Gartner claims by 2008 60 of IT infrastructure
will be Web service based http//www.itfacts.biz/
index.php?idP408 - Current state of Web service usage
- Manual application integration (typically
internal) - The promise
- Automatic (semi-automatic) application
integration on the fly
5Goals
- (Semi) Automatic Integration
- Semantic heterogeneity in data Sheth Larson,
1990 and functions - Current standards like WSDL, UDDI are syntactical
- Need to provide semantic underpinnings to handle
semantic heterogeneity (ambiguity) - This work
- Deals with adding semantics to Web Service
Description Language (WSDL) by proposing WSDL-S
6What are Web Services ?
WSDL Web Service Description Language
UDDI Universal Description, Discovery and
Integration SOAP Simple Object Access
Protocol
UDDI
Service Registry
2. WSDL
- 4. Requested Service WSDL
3. Service Discovery Query
1. WSDL Interface
self-contained,self-describing,modular
applications that can be published, located, and
invoked across the Web IBM Web Service Tutorial
Service Requestor
5. Service Request
Service Provider
6. Service Response
WSDL
Web Services Interaction Model
7What are Semantics?
- Semantics deals with meaning/content.
- Helps to express relationship between word
symbols and their intended meaning - A Service represented in many ways may still have
the same context semantics captures this. - Enables to understand the content.
8How to represent Semantics?
- Representation of semantics via ontologies.
- Ontology
- a set of distinct objects resulting from an
analysis of a domain, or microworld. - Provides a representation of the real world
- Ontologies serve as an agreed vocabulary of terms
and their intended meaning.
9OWL- Web Ontology Language
- Standard accepted by W3C
- Based on Description Logic
- Used to represent the real world
OWL
Description Logics
RDF/RDFS
XML/XSD
10- Introduction
- Adding Semantics to Web Services
11Semantic Web Services
- Web Services enhanced with the power of semantics
- Semantics
12Semantics in Semantic Web Service Architecture
- Enhanced UDDI
- Data structure of UDDI is organized so as to hold
semantic information - Service Provider
- Annotated WSDL files which contain semantic
information about the service - Service Requestor
- Service Templates Semantically enriched
discovery queries
13Web Services Descriptions
- WSDL provides the interface for the operations
offered by a service. - Service Description Contains
- Operation Name, Input , Output, Exceptions,
Transport and Message protocol, Access Port.
14Semantic Modeling Of An Operation (in WSDL-S)
- Classification of operation
- output pre ( input ) ? f ( input , state i )
g ( input, state i ) C-like conditional IF
expression - State i 1 h ( input, state i )
- assert post ( output, state i1 ) 1
-
- f() output function
- g() exception function
- h()- transition function
15- Introduction
- Adding Semantics to Web Services
- WSDL-S
16WSDL-S
- WSDL-S (WSDL with Semantic Annotation)
- Mapping Input and Output Message Parts to
Ontology - XML Schema elements used in Input/Output messages
do not reflect the semantics of the data involved
in Web Service operation - Use of ontologies or standard vocabulary
provides well defined semantics for operational
data - Mapping Operations to Ontology
- Service selection involves discovering
appropriate WSDL description and locating an
operation to invoke - Operations with same signature could have
different functionalities - Ontology or vocabulary depicting functionality
is used for annotation - Additional tags to represent pre-conditions and
effects/post-conditions of each operation - Pre-conditions and Post-Conditions are added for
each operation - Can be optionally used for service discovery and
selection - RosettaNet Business/Technical dictionary or
ebXML Core Component catalog/dictionary - Current implementation uses vocabularies
- The focus of our work is not in
developing ontologies for representing
functionality/preconditions/effects but to use
such ontologies for semantic annotation
17WSDL 1.1 Meta Model
18WSDL-S 1.1 MetaModel
19WSDL-S 1.1 tags
- wsdlsconcept
- Attribute of operation and part tag.
- wsdlprecondition
- Attribute of operation tag. Multiple seperated
by . - wsdlpostcondition
- Attribute of the operation tag. Multiple
seperated by . - wsdlslocation
- Attribute of service tag.
- wsdlsdomain
- Attribute of service tag.
20WSDL-S 1.1 Code Snippet
21WSDL 2.0
- Current Working Draft
- Type information moved outside the standard
- Commonly used types XSD, XMI
- This features helps to
- Add OWL as a semantic type (semantic annotations)
WSDL 2.0 Components
22WSDL-S 2.0 Meta Model
23- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
24Source Code based Development of SWS
- Capture the semantics of the service and the
operations - Java 5.0 Meta-Tag Feature
- JSR 175 JSR 181
- Incorporate semantics during service interface
design - Helps to create service implementation
- Similar to javadoc Comments
25Base JSR 181 Tags
26Semantic Meta-tags
- Extends JSR 181 Tags used to represent Web
Services - Each Tag corresponds to a WSDL element
- Semantic Information collected using Java 5
Reflection API.
27Semantic Meta-tags
28Semantic Meta-tags
29Semantic Meta-tags
30Semantic Meta-tags
31Snippet - Operation Level Annotations
- Semantic Tags
- JSR 181 Tags
32Snippet Service Level Annotations
- Semantic Tags
- JSR 181 Tags
33- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S
34METEOR-S
- Workflow management for Semantic Web Services is
called METEOR-S (METEOR for Semantic Web
Services) - Uses semantics in the entire life cycle of
Semantic Web Services and Processes - Semantics in Annotation, Publication, Discovery,
Constraint Driven Composition and Execution of
Web Services
METEOR- Managing End-To-End OpeRations
35METEOR-S
- Comprehensive use of semantics (Data,Functional,Qo
S and Execution) - Functional Semantics
- To represent Service/Operation functionality
- Pre/Post conditions
- Data Semantics
- To represent inputs, output, faults (exceptions).
- Integrates and co-exists with current industry
tools, E.g. Eclipse BPWS4J Editor, BPEL4WS
Execution Engine. - Consistent with and builds upon current standards
and recommendations.
36METEOR-S Architecture
37- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S, SWSDT (Semantic Web Services
Development Tool)
38Semantic Web Services Development
- Main stages of Semantic Web Service (SWS)
Development - 1)Design 2)Annotation
- 3)Implementation 4)Deployment
- 5)Publication 6)Discovery
- 7)Invocation 8)Composition
- 9)Execution
39METEOR-S SWSDT Semantic Web Services Development
Tool
- Developed as an Eclipse Plug-in
- Used to incorporate semantic annotations into Web
Services. - Helps to develop
- Annotated Java source Code
- Annotated WSDL files (WSDL-S 1.1 WSDL-S 2.0)
40METEOR-S SWSDT
1
3
2
4
5
41METEOR-S SWSDT
- The different file generations possible using the
tool
Java based development of SWS
WSDL based development of SWS
42METEOR-S SWSDT Features
- Easy view of WSDL and Java File
- Tree representation
- For Browsing and Editing annotations
- Simultaneous view of Ontology when browsing
WSDL/Java files - GUI based incorporation of annotation
- Incorporates external modules
- MWSAF For Automatic Annotation
- Publisher For publishing SWS into Enhanced UDDI
- Discovery Semantic Discovery of Services using
heuristic based subsumption - Deployment and Invocation GUI tools for
deploying and invoking SWS
43METEOR-S SWSDT Architecture
METEOR-S Semantic Web Service Tool
1
2
Annotated Java Source/ WSDL File Generators
GUI for Manual Java/ WSDL file Annotation
MWSAF For Automatic Annotation
Semantic Publishing and Semantic Discovery Engine
Deployment and Invocation GUI
3
4
5
Semantically Enhanced UDDI Registry
6
44- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S, SWSDT (Semantic Web Services
Development Tool) - Related Work
45Related Work
- OWL-S
- DERI Project - WSMO
- Research Project of DERI (Digital Enterprise
Research Institute)
46OWL-S
47OWL-S METEOR-S Comparison
48Semantic Web Services (WSMO)
- WSMO (Web Services Modeling Ontology)
- Two parts
- WSML Semantic Web Service Language based on
F-logic - WSMX Semantic Web Service Architecture
- Based on WSMF proposed by Bussler and Fensel
- WSMO Supports
- Functional Aspects (IOPEs) used mediators
- Non Functional Aspects performance,
reliability, security etc. - Mediators (components cannot communicate without
them) - Petri nets for execution semantics
49METEOR-S, OWL-S WSMO
50- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S, SWSDT (Semantic Web Services
Development Tool) - Related Work
- Conclusion
51Conclusion
- Overview
- Shift towards
- Modularization of software components
- Automatic integration
- Web Services
- Requirement of richer service descriptions
- Semantics Web Services Semantic Web Services
- Representation of semantics in Web Services
- Incorporation of semantics into Web Services
52Conclusion
- Representing semantics in Web Services
- WSDL-S
- Extend WSDL to accommodate semantics
- Source Code Annotations
- Tags to incorporate semantics were decided and
introduced - JSR 181 processor to process the annotations
- Incorporating Semantics into Web Services
- METEOR-S SWSDT Eclipse Plug-in
- Developed and released as an open source project.
- Available for download,along with installation
and user guide at http//lsdis.cs.uga.edu/projects
/METEOR-S/Downloads
53Conclusion
AUTOMATION
SEMANTIC WEB SERVICES
WEB SERVICES
WE ARE HERE
54- Introduction
- Adding Semantics to Web Services
- WSDL-S
- Source Code Annotation
- METEOR-S, SWSDT (Semantic Web Services
Development Tool) - Related Work
- Conclusion
- Future Work
55Future Work
- Annotation of Complex Types
- Move Annotation to Basic types
- Meta-tags to represent Execution Semantics -QoS
- Representation of Pre and Post Conditions
- WSDL-S 1.1 WSDL-S 2.0
- Complete Generation based on revised WSDL 2.0
Specification - Performance testing of Semantic Web Services
- APT for processing annotations
- Use of Digestors
- To parse WSDL files
- JUnit like test environment for Semantic Web
Services
56Questions
57Thank You.
58References
- METEOR
- MWSAF - METEOR-S Semantic Web Service Annotation
Framework (MWSAF) - METEOR-S Web Service Composition Framework
(MWSCF) - METEOR-S Web Service Discovery Infrastructure
(MWSDI) - METEOR-S Dynamic Orchestration Environment (MDOE)
59DEMO of METEOR-S SWSDT
60 61METEOR-S SWSDT Packages and Tools used
? Version 1.2 is currently used due to its
compatibility with uddi4j, we will be upgrading
to the latest version of JWSDP in our future
work.
62Service Publication
- Performed by Service Provider
- Discover existing interfaces (services)
- to extend
- Create service implementations and
- WSDL based definitions
- Test , Deploy and Publish the services, in
- Service Registries (e.g.) Enhanced UDDI
- Semantics
- Used to capture the behavior of the
- published service
- Enables effective discovery by service requestors
63Service Discovery
- Based on Service requestor needs
- To find the service providing
- Required operations (methods)
- Required signature for static/dynamic binding
- Satisfying the requestors constraints such
- as QoS, Service locality, etc.
- Semantics
- To return relevant services ranked
- based on semantic match criteria
64Service Invocation
- Service Invocation
- Performed by Service Requestor after discovering
required services - Invoke a service using
- WSDL Specifications
- SOAP Protocol
- Semantics
- Apply transformations
- when necessary to enable service invocation
65WSDL-S 2.0 Tags
- Â
- action
- Attribute is added to operation tag.
- pre and post
- Tags are added as children of the operation tag.
- element
- The use of OWL and XMI types is proposed for the
values of this attribute. - exception
- Tag is added as a child of the operation tag.
66WSDL-S 2.0 Snippet
67A Plan for Building a SOA Web Services
- Requirement 1 Interaction protocols must be
standardized. - WSDL,SOAP, UDDI standardized
- Need to ensure the widest interoperability among
unrelated institutions. - Requirement 2 Make all contracts explicit.
- WSDL makes interface definition explicit
- Explicit contracts define what may be changed in
an application without breaking the interaction. - It is hard or impossible to make all assumptions
explicit, but the more the better. - Requirement 2 Standardize contract language(s)
and formats. - Use of XML messages
- Standard metadata is the basis of interoperable
contract selection and execution. - Requirement 3 Allow for points of variability
in the contract. - Use of extensibility elements in WSDL
- Dynamic adaptation on variability points.
- Increases the number of possible interactions
supported. - Requirement 4 Provide native composition models
and runtimes. - Kunal,2004
68Description Logic
- Description Logic is one of the most important
knowledge representation formalism unifying and
giving a logical basis to the well known
traditions of Frame-based systems, Semantic
Networks and KL-ONE-like languages,
Object-Oriented representations, Semantic data
models, and Type systems
69DL and OWL
70DL and OWL
OWL Consturcts Ledger A Class D Data
range C - Description v data value o
individual name l,m,n non-negative integers R
- object or abstract property elements-
can be repeated zero or more times T Datatype
property elements -optional B - DataType
71QoS in METEOR-S
QoS
QoS Model
Design
QoS Estimates for Tasks/Web services
QoS Estimates for Transitions
SWR algorithm
Stochastic Process
QoS Computation
Enact
Log
Simulation
Cardoso,2004
72Web process QoS computation
QoS
Design time Runtime
Linear programming
Price
Security
Simulation
Duration
Time
Petri-nets analysis
Repudiation
Cost
Graph Reduction Techniques
Reliability
Fidelity
Availability
Reliability
Critical Path Algorithm
Cardoso,2004
73DAML-SOntologies
- DAML-S defines ontologies for the construction of
service models - Service Profiles
- Process Models
- Service Grounding
Verma,2004
74WSMO - Goals
- A goal specifies the objectives that a client may
have when he consults a web service - E.g. of goals
- Buy a book
- Buy a book from Amazon
- Buy a book written by X
- Mediators can combine or refine goals
- E.g. Buy a book from Amazon written by X
Verma,2004
75Semantic Web Services (WSMO)
- Two types of mediators
- Refiners define a new component as a refinement
of an existing component - ggMediators mediators that link two goals. This
link represents the refinement of the source goal
into the target goal. - ooMediators mediators that import ontologies and
resolve possible representation mismatches
between ontologies
Verma,2004
76Semantic Web Services (WSMO)
- Two types of mediators
- Bridges support reuse by enabling two components
to interact with each other - wgMediators mediators that link web service to
goals. They explicitly may state the difference
(reduction) between the two components and map
different vocabularies (through the use of
ooMediators). - wwMediators mediators linking two Web Services.
Verma,2004
77WSMO Web Service Modeling Ontology
- Represents Semantic Web Services by F-logic
- F-logic is used to
- Describe ontologies
- Describe rules and
- goals
- Uses Mediators to
- bring about
- inter-operability
Verma,2004