Top Banner
Web Service Semantics - WSDL- S Meenakshi Nagarajan for the WSDL-S team R. 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/METEOR-S/WSDL-S http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/wssemantic_annotation.pdf
21

Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

Apr 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

Web Service Semantics - WSDL-S

Meenakshi Nagarajan

for theWSDL-S team

R. 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/METEOR-S/WSDL-S

http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/wssemantic_annotation.pdf

Page 2: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

2

WSDL-S

<Operation>

<Input1>

<Output1>

Service Template

Operation:buyTicket

Input1:TravelDetails

Output1:Confirmation

Annotations

Publish

SearchSemantic UDDIOperation:

cancel Ticket

Input1:TravelDetails

Output1:Confirmation

WSDL-S : scope, proposal and thebigger picture

Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003

<Operation>

<Output1>

Web service 1

<Input1>

<Operation>

<Output2>

Web service 2

<Input2>

Composition

Page 3: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

3

Adding semantics to WSDL – guidingprinciples• Build on existing Web Services standards

• Mechanism independent of the semanticrepresentation language

• Mechanism should allow the association ofmultiple annotations written in differentsemantic representation languages

Page 4: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

4

Guiding principles...

• Support semantic annotation of WebServices whose data types are describedin XML schema

• Provide support for rich mappingmechanisms between Web Service schematypes and ontologies

Page 5: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

5

WSDL-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

Page 6: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

6

Semantic annotations on WSDLelements• 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 element : action

(on operation element)

Page 7: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

7

…………<xs:element name= "processPurchaseOrderResponse" type="xs:stringwssem:modelReference="POOntology#OrderConfirmation"/></xs:schema></types><interface name="PurchaseOrder"><wssem:category name= “Electronics” taxonomyURI=http://www.naics.com/

taxonomyCode=”443112” />

<operation name="processPurchaseOrder” pattern=wsdl:in-outaction = "rosetta:#RequestQuote" >

<input messageLabel = ”processPurchaseOrderRequest"element="tns:processPurchaseOrderRequest"/><output messageLabel ="processPurchaseOrderResponse"element="processPurchaseOrderResponse"/>

<!—Precondition and effect are added as extensible elements on an operation><wssem:precondition name="ExistingAcctPrecond"wssem:modelReference="POOntology#AccountExists"><wssem:effect name="ItemReservedEffect"wssem:modelReference="POOntology#ItemReserved"/></operation></interface>

PurchaseOrder.wsdls

Page 8: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

8

Annotating operations• extension element : Precondition

– A set of assertions that must be satisfied before a Web service operation can beinvoked

• “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 = “naics:443112”

• extension element : Action– Annotated with a functional ontology concept.

• action = “Rosetta:RequestQuote”

Page 9: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

9

Annotating message types - simplecorrespondences

<wsdl:types> (...)

<xs:element name= "processPurchaseOrderResponse"type="xs:string (...)</wsdl:types>

Billing

AccountOrderConfirmation

xsd:string

OWL ontology

has_account

has_accountID

WSDL message element

1:1 Correspondences<xs:element name= "processPurchaseOrderResponse"

type="xs:stringwssem:modelReference="POOntology#OrderConfirmation"/>

results_in

semantic match

Page 10: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

10

Annotating message types - complexcorrespondences

<wsdl:types> (...) <complexType name=“Address"> <sequence> <element name=“StreetAd1“ type="xsd:string"/> <element name=“StreetAd2" type="xsd:string"/> ........... </sequence> </complexType> (...)</wsdl:types>

Address

StreetAddress

xsd:string

xsd:string

OWL ontology

hasCity

hasStreetAddress

hasZip

WSDL complex type element

1. modelReference to establish a semanticassociation

2. schemaMapping to resolve structuralheterogeneities beyond a semantic match

semantic match

Page 11: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

11

Using modelReference andschemaMapping

<complexType name="POAddress“wssem:modelReference="POOntology#Address”wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.xq#input-doc=doc(“POAddress.xml”)”>

<all><element name="streetAddr1" type="string" /><element name="streetAdd2" type="string" /><element name="poBox" type="string" /><element name="city" type="string" /><element name="zipCode" type="string" /><element name="state" type="string" /><element name="country" type="string" /><element name="recipientInstName" type="string" /> </all></complexType>

Address

xsd:string

xsd:string

xsd:string

OWL ontology

has_City

has_StreetAddress

has_Zip

WSDL complex type element

• 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

Page 12: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

12

• modelReference at the leaf levels– assumes a 1:1 correspondence between leaf elements and domain model

concepts

<complexType name="POItem" >

<all>

<element name="dueDate" nillable="true" type="dateTime" wssem:modelReference=”POOntology#DueDate”/> <element name="qty" type="float" wssem:modelReference=”#POOntology#Quantity”/> <element name="EANCode" nillable="true" type="string" wssem:modelReference=”POOntology#ItemCode”/> <element name="itemDesc" nillable="true" type="string" wssem:modelReference=”POOntology#ItemDesc” />

</all>

</complexType>

Item

dueDate

ItemDesc

Quantity

OWL ontology

hasIemDesc

hasDueDate

hasQuantity

WSDL complex type element

Using modelReference andschemaMapping

Page 13: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

13

Representing mappings <complexType name="POAddress"wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.xsl#input-doc=doc(“POAddress.xml”)”>

<all><element name="streetAddr1" type="string" /><element name="streetAdd2" type="string" /><element name="poBox" type="string" /><element name="city" type="string" /><element name="zipCode" type="string" /><element name="state" type="string" /><element name="country" type="string" /><element name="recipientInstName" type="string" /></all></complexType>

Address

xsd:string

xsd:string

xsd:string

OWL ontology

has_City

has_StreetAddress

has_Zip

WSDL complex type element

....<xsl:template match="/">

<POOntology:Address rdf:ID="Address1">

<POOntology:has_StreetAddress rdf:datatype="xs:string">

<xsl:value-of select="concat(POAddress/streetAddr1,POAddress/streetAddr2)"/>

</POOntology:has_StreetAddress >

<POOntology:has_City rdf:datatype="xs:string">

<xsl:value-of select="POAddress/city"/>

</POOntology:has_City>

<POOntology:has_State rdf:datatype="xs:string">

<xsl:value-of select="POAddress/state"/>

</POOntology:has_State>....

Mapping using XSLT

Page 14: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

14

WSDL-S in perspective

Page 15: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

15

WSDL-S evolution

ActionAttribute forFunctionalAnnotation

Pre and PostConditions

Can useXML, OWL

or UMLtypes

Extension

Adaptation

schemaMapping

Page 16: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

16

...<xs:complexType name="processPurchaseOrderRequest"><xs:element name="billingInfo" type="xsd1:POBilling"/><xs:element name="orderItem" type="xsd1:POItem"/></xs:complexType></xs:schema><operation name="processPurchaseOrder” pattern=wsdl:in-out><input messageLabel = ”processPurchaseOrderRequest"element="tns:processPurchaseOrderRequest"/><output messageLabel ="processPurchaseOrderResponse"element="processPurchaseOrderResponse"/>...

WSDL

...<xs:complexType name="processPurchaseOrderRequest“wssem:modelReference="POOntology#OrderDetails” ><xs:element name="billingInfo" type="xsd1:POBilling"/><xs:element name="orderItem" type="xsd1:POItem"/></xs:complexType></xs:schema><operation name="processPurchaseOrder” pattern=wsdl:in-out><input messageLabel = ”processPurchaseOrderRequest"element="tns:processPurchaseOrderRequest"/><output messageLabel ="processPurchaseOrderResponse"element="processPurchaseOrderResponse"/>...

WSDL - SAnnotating aservice

UDDI

Semantic Layer

Publishing a service

WSDL-S in the life cycle of a Webservice

Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003

Page 17: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

17

WSDL-S in the life cycle of a Webprocess

Web Service Discovery

<Operation>

<Input2>

<Output2>

Service 2 Template

An abstract Web process

WSDL-SWSDL-S

<Operation>

<Output1>

Service 1 Template

<Input1>

<Operation>

<Output1>

Web service 1

<Input1>

<Operation>

<Output2>

Web service 2

<Input2>

WSDL-SmodelReferenceschemaMapping

Transformation

WSDL-SmodelReferenceschemaMapping

Process execution

Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003

Page 18: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

18

WSDL-S in action• ProPreO - Experimental Proteomics

Process Ontology (CCRC / LSDIS)

data

sequence

peptide_sequence

Excerpt: ProPreO – process ontology

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions targetNamespace="urn:ngp" ……xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics"xmlns:ProPreO="http://lsdis.cs.uga.edu/ontologies/ProPreO.owl" > <wsdl:types> <schema targetNamespace="urn:ngp" xmlns="http://www.w3.org/2001/XMLSchema"> ……</schema> </wsdl:types> <wsdl:message name="replaceCharacterRequest" wssem:modelReference="ProPreO#peptide_sequence"> <wsdl:part name="in0" type="soapenc:string"/> <wsdl:part name="in1" type="soapenc:string"/> <wsdl:part name="in2" type="soapenc:string"/> </wsdl:message>......

Excerpt: Bio-informatics Web service WSDLS

CCRC – Complex Carbohydrate Research Center www.ccrc.uga.eduProPreO - http://lsdis.cs.uga.edu/projects/glycomics/propreo/

Page 19: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

19

WSDL-S collaborations

• Meteor-S collaboration with WSMO– Using WSDL-S for grounding Web services

annotated with WSML ontologies

• Influencing OASIS / W3C

Requestor’s goal Service capability

WSDL-S

WSML WSML

Kunal Verma, Adrian Mochan, Michal Zaremba, Amit Sheth, John Miller, Christoph Bussler, Linking Semantics Web service Efforts - IntegratingWSMX and METEOR-S, Second International Workshop on Semantic and Dynamic Web Processes, July 2005

Page 20: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

20

WSDL-S annotator - Radiant

Page 21: Web Service Semantics - WSDL- S · 3 Adding semantics to WSDL – guiding principles •Build on existing Web Services standards •Mechanism independent of the semantic representation

21

Why WSDL-S ?• Approach simple, light-weight, upwardly

compatible with the existing WSDL standard– practical for adoption

• Approach agnostic to semantic representationlanguage– 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