Title: Web Service Semantics WSDLS
1Web Service Semantics - WSDL-S
- Meenakshi Nagarajan
- for the
- WSDL-S teamR. Akkiraju, J. Farrell, J.Miller,
M. Nagarajan, M. Schmidt, A. Sheth, K. Verma
"Web Service Semantics - WSDL-S" - A joint UGA-IBM Technical Note, version 1.0,
April 18, 2005. http//lsdis.cs.uga.edu/projects/M
ETEOR-S/WSDL-S - http//www.alphaworks.ibm.com/g/g.nsf/img/semantic
sdocs/file/wssemantic_annotation.pdf
2WSDL-S scope, proposal and the bigger picture
WSDL-S
Composition
Operation
buyTicket
Input1
ltOperationgt
TravelDetails
Output1
ltInput1gt
Confirmation
Semantic UDDI
Operation
Search
ltOutput1gt
cancel
Ticket
Input1
Service Template
TravelDetails
Publish
Output1
Confirmation
Annotations
Sivashanmugam, K., Verma, K., Sheth, A., Miller,
J., Adding Semantics to Web Services Standards,
ICWS 2003
3Adding semantics to WSDL guiding principles
- Build on existing Web Services standards
- Mechanism independent of the semantic
representation language - Mechanism should allow the association of
multiple annotations written in different
semantic representation languages
4Guiding principles...
- Support semantic annotation of Web Services whose
data types are described in XML schema - Provide support for rich mapping mechanisms
between Web Service schema types and ontologies
5WSDL-S
- Offer an evolutionary and compatible upgrade of
existing Web services standards - Externalize the semantic domain models
- agnostic to ontology representation languages.
- reuse of existing domain models
- allows annotation using multiple ontologies (same
or different domain) - updating tools around WSDL is relatively easier
6Semantic annotations on WSDL elements
- Annotating message types (XSD complex types and
elements) - extension attribute modelReference(semantic
association) - extension attribute schemaMapping(schema/data
mapping) - Annotating operations
- extension elements precondition and
effect(child elements of the operation element) - extension attribute category(on the interface
element) - extension attribute modelreference (action)
- (on operation element)
7PurchaseOrder.wsdls
-
- ltxselement name "processPurchaseOrderResponse"
type"xsstring - wssemmodelReference"POOntologyOrderConfirmation
"/gt - lt/xsschemagt
- lt/typesgt
- ltinterface name"PurchaseOrder"gt
- ltwssemcategory name Electronics
taxonomyURIhttp//www.naics.com/
taxonomyCode443112 /gt - ltoperation name"processPurchaseOrder
patternwsdlin-outmodelReference
"rosettaRequestQuote" gt - ltinput messageLabel processPurchaseOrderRequest
" - element"tnsprocessPurchaseOrderRequest"/gt
- ltoutput messageLabel "processPurchaseOrderRespons
e" - element"processPurchaseOrderResponse"/gt
- lt!Precondition and effect are added as
extensible elements on an operationgt - ltwssemprecondition name"ExistingAcctPrecond"
- wssemmodelReference"POOntologyAccountExists"gt
- ltwssemeffect name"ItemReservedEffect"
- wssemmodelReference"POOntologyItemReserved"/gt
- lt/operationgt
8Annotating operations
- extension element Precondition
- A set of assertions that must be satisfied before
a Web service operation can be invoked - must have an existing account with this company
- only US customers can be served
- extension element Effect
- Defines the state of the world/information model
after invoking an operation. - item shipped to mailing address
- the credit card account will be debited
- extension attribute Category
- Models a service category on a WSDL interface
element. - category Electronics Code naics443112
- extension element Action
- Annotated with a functional ontology concept.
- action RosettaRequestQuote
9Annotating message types - simple correspondences
semantic match
ltwsdltypesgt (...) ltxselement name
"processPurchaseOrderResponse" type"xsstring
(...) lt/wsdltypesgt
Billing
has_account
results_in
OrderConfirmation
Account
has_accountID
xsdstring
WSDL message element
OWL ontology
- 11 Correspondences
- ltxselement name "processPurchaseOrderResponse"
type"xsstring wssemmodelReference"POOntologyO
rderConfirmation"/gt
10Annotating message types - complex correspondences
semantic match
ltwsdltypesgt (...) ltcomplexType
nameAddress"gt ltsequencegt ltelement
nameStreetAd1 type"xsdstring"/gt
ltelement nameStreetAd2" type"xsdstring"/gt
........... lt/sequencegt lt/complexTypegt
(...) lt/wsdltypesgt
Address
hasStreetAddress
StreetAddress
hasCity
xsdstring
hasZip
xsdstring
WSDL complex type element
OWL ontology
- modelReference to establish a semantic
association - schemaMapping to resolve structural
heterogeneities beyond a semantic match
11Using modelReference and schemaMapping
- modelReference at the complex type level
- Typically used when specifying complex
associations at leaf level is not possible - Allows for specification of a mapping function
semantic match
ltcomplexType name"POAddresswssemmodelReferenc
e"POOntologyAddress wssemschemaMappingh
ttp//www.ibm.com/schemaMapping/POAddress.xqinput
-docdoc(POAddress.xml)gt ltallgtltelement
name"streetAddr1" type"string" /gt
ltelement name"streetAdd2" type"string" /gt
ltelement name"poBox" type"string"
/gtltelement name"city" type"string" /gt
ltelement name"zipCode" type"string"
/gtltelement name"state" type"string"
/gtltelement name"country" type"string"
/gtltelement name"recipientInstName"
type"string" /gt lt/allgtlt/complexTypegt
Address
has_StreetAddress
xsdstring
has_City
xsdstring
has_Zip
xsdstring
WSDL complex type element
OWL ontology
12Using modelReference and schemaMapping
- modelReference at the leaf levels
- assumes a 11 correspondence between leaf
elements and domain model concepts
ltcomplexType name"POItem" gt ltallgt ltelement
name"dueDate" nillable"true" type"dateTime"
wssemmodelReferencePOOntologyDueDate/gt
ltelement name"qty" type"float"
wssemmodelReferencePOOntologyQuantity/gt
ltelement name"EANCode"
nillable"true" type"string"
wssemmodelReferencePOOntologyItemCode/gt
ltelement name"itemDesc" nillable"true"
type"string" wssemmodelReferencePOOntolo
gyItemDesc /gt lt/allgt lt/complexTypegt
Item
hasDueDate
dueDate
hasIemDesc
ItemDesc
hasQuantity
Quantity
WSDL complex type element
OWL ontology
13Representing mappings
ltcomplexType name"POAddress"
wssemschemaMappinghttp//www.ibm.com/schemaMapp
ing/POAddress.xslinput-docdoc(POAddress.xml)gt
ltallgtltelement name"streetAddr1" type"string"
/gt ltelement name"streetAdd2"
type"string" /gt ltelement
name"poBox" type"string" /gtltelement
name"city" type"string" /gt ltelement
name"zipCode" type"string" /gtltelement
name"state" type"string" /gtltelement
name"country" type"string" /gtltelement
name"recipientInstName" type"string" /gt
lt/allgtlt/complexTypegt
Address
has_StreetAddress
xsdstring
has_City
xsdstring
has_Zip
xsdstring
WSDL complex type element
OWL ontology
Mapping using XSLT
.... ltxsltemplate match"/"gt ltPOOntologyAddress
rdfID"Address1"gt ltPOOntologyhas_StreetAddress
rdfdatatype"xsstring"gt ltxslvalue-of
select"concat(POAddress/streetAddr1,POAddress/str
eetAddr2)"/gt lt/POOntologyhas_StreetAddress
gt ltPOOntologyhas_City rdfdatatype"xsstring"gt lt
xslvalue-of select"POAddress/city"/gt lt/POOntolog
yhas_Citygt ltPOOntologyhas_State
rdfdatatype"xsstring"gt ltxslvalue-of
select"POAddress/state"/gt lt/POOntologyhas_Stategt
....
14WSDL-S in perspective
15WSDL-S evolution
Action Attribute for Functional Annotation
Extension
Adaptation
Can use XML, OWL or UML types
schemaMapping
Pre and Post Conditions
16WSDL-S in the life cycle of a Web service
Publishing a service
Sivashanmugam, K., Verma, K., Sheth, A., Miller,
J., Adding Semantics to Web Services Standards,
ICWS 2003
17WSDL-S in the life cycle of a Web process
Process execution
Transformation
Sivashanmugam, K., Verma, K., Sheth, A., Miller,
J., Adding Semantics to Web Services Standards,
ICWS 2003
18WSDL-S in action
- ProPreO - Experimental Proteomics Process
Ontology (CCRC / LSDIS)
lt?xml version"1.0" encoding"UTF-8"?gt ltwsdldefin
itions targetNamespace"urnngp"
xmlnswssem"http//www.ibm.com/xmlns/WebServi
ces/WSSemantics" xmlnsProPreO"http//lsdis.cs.ug
a.edu/ontologies/ProPreO.owl" gt ltwsdltypesgt
ltschema targetNamespace"urnngp"
xmlns"http//www.w3.org/2001/XMLSchema"gt
lt/schemagt lt/wsdltypesgt ltwsdlmessage
name"replaceCharacterRequest"
wssemmodelReference"ProPreOpeptide_sequence"gt
ltwsdlpart name"in0" type"soapencstring"/gt
ltwsdlpart name"in1" type"soapencstring"
/gt ltwsdlpart name"in2" type"soapencstrin
g"/gt lt/wsdlmessagegt ......
data
sequence
peptide_sequence
Excerpt ProPreO process ontology
Excerpt Bio-informatics Web service WSDLS
CCRC Complex Carbohydrate Research Center
www.ccrc.uga.eduProPreO - http//lsdis.cs.uga.edu
/projects/glycomics/propreo/
19WSDL-S collaborations
- Meteor-S collaboration with WSMO
- Using WSDL-S for grounding Web services annotated
with WSML ontologies - Influencing OASIS / W3C
Requestors goal
Service capability
WSML
WSML
WSDL-S
Kunal Verma, Adrian Mochan, Michal Zaremba, Amit
Sheth, John Miller, Christoph Bussler, Linking
Semantics Web service Efforts - Integrating WSMX
and METEOR-S, Second International Workshop on
Semantic and Dynamic Web Processes, July 2005
20WSDL-S annotator - Radiant
21Why WSDL-S ?
- Approach simple, light-weight, upwardly
compatible with the existing WSDL standard - practical for adoption
- Approach agnostic to semantic representation
language - reuse of domain models
- flexibility in choice of modeling language
- annotation with multiple ontologies
- Ease in tool upgrades
- e.g. wsif / axis invocation
More on METEOR-S Web site