Upload
elizabeth-pettijohn
View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Copyright 2005 Digital Enterprise Research Institute. All rights reserved.
www.deri.org
WSDL-S (LSDIS and IBM) & WSMO
http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/wssemantic_annotation.pdf http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/
WSMO Working Group PresentationMatthew Moran, Jacek Kopecky, Adrian Mocan
29 June 2005
2
Presentation Overview
• WSDL-S overview• WSDL-S extensions
– Input and output elements– Preconditions and effects– Service categorization
• Relationship of WSDL-S to WSMO/L/X• Is WSDL-S suitable for WSMO Grounding?• Conclusions
3
WSDL-S Overview
• It is a means to add semantics inline to WSDL for: – Inputs and outputs – Operations– Service categorization
• It is agnostic to ontology representation language used– OWL used up to now– No barrier to the use of WSMO
• Targeted at WSDL 2.0 but can be used for WSDL 1.1
• WSDL-S extension is deifined by an XML Schema
4
WSDL-S Overview
• Adding semantics inline to WSDL abstract definition– Inputs and output messages
• Annotated with domain concepts – Operations
• Annotated with preconditions and effects– Service
• Interface annotated with category information
OWL
Semantics
WSDL Conceptual Model
(From: http://webservices.xml.com/lpt/a/ws/2004/05/19/wsdl2.html)
5
WSDL-S Overview
• Adding semantics inline to WSDL abstract definition– Inputs and output messages
• Annotated with domain concepts – Operations
• Annotated with preconditions and effects– Service
• Interface annotated with category information
WSMO
OWL
RDF
Semantics
WSDL Conceptual Model
(From: http://webservices.xml.com/lpt/a/ws/2004/05/19/wsdl2.html)
Agnostic to ontology representation language
6
WSDL-S XML Schema – WSSemantics.xsd
<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com/xmlns/stdwip/Web-services/WS-Semantics" xmlns:wssem="http://www.ibm.com/xmlns/stdwip/Web-services/WSSemantics" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<attribute name="modelReference" type="anyURI" use="optional"/> <attribute name=”schemaMapping” type=”anyURI” use=”optional”/>
<element name=”category” maxOccurs="unbounded"> <complexType> <complexContent> <extension base=”wsdl:documented”> <attribute name="categoryname" type="NCName" use="required"”/> <attribute name="taxonomyURI" type="anyURI" use="required"”/> <attribute name="taxonomyValue" type="String" use="optional"/> <attribute name="taxonomyCode" type="integer" use="optional"/> </extension> </complexContent> </complexType> </element> <element name = "precondition"> <complexType> <complexContent <restriction base="anyType"> <xsd:attribute name=”name” type=”string” /> <attribute name="modelReference" type="anyURI" /> <attribute name="expression" type="string" /> </restriction> </complexContent> </complexType> </element> <element name="effect"> <complexType> <complexContent <restriction base="anyType"> <xsd:attribute name=”name” type=”string” /> <attribute name="modelReference" type="anyURI" /> <attribute name="expression" type="string" /> </restriction> </complexContent> </complexType> </element></schema>
7
Input and output elementsSimple type
• The wssem:modelReference attribute denotes a one-to-one mapping between schema element and ontology concept
• Uses the extensibility of xsd:element
<xs:element name= "processPurchaseOrderResponse" type="xs:string
wssem:modelReference="POOntology#OrderConfirmation"/>
8
Input and output elementsComplex type
• Annotating complex types
– Bottom Level Annotation: • At leaf element level
– Top Level Annotation: • At complex type level
9
Input and output elementsComplex type
• Bottom Level Annotation: using wssem:modelReference
– Bottom Level Annotation: at leaf element level
<complexType name="POItem">
<all>
<element name="dueDate" type="dateTime"
wssem:modelReference=”POOntology#DueDate"/>
<element name="quantity" type="float"
wssem:modelReference ="POOntology#Quantity"/>
<element name="EANCode" type="string"
wssem:modelReference ="POOntology#ItemCode"/>
<element name="itemDesc" type="string"
wssem:modelReference ="POOntology#ItemDesc"/>
</all>
</complexType>
10
Input and output elementsComplex type
• Top Level Annotation – High level semantic annotation of the complex type
– Either use modelReference attribute or schemaMapping attribute
• Using wssem:modelReference:
<complexType name="POBilling" wssem:modelReference=”POOntology#Billing”>
<all>
<element name="shipToAddress" type="xsd1:POAddress" />
<element name="billToAddress" type="xsd1:POAddress" />
<element name="accountID" type="xsd1:string />"
</all>
</complexType>
11
Input and output elementsComplex type
• Top Level Annotation – The XMLSchema type POAddress is mapped using an XSL
Transformation to concepts in an ontology
• Using wssem:schemaMapping:
<complexType name="POAddress"
wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.xsl”>
<all>
<element name="recipientInstName" type="string" />
<element name="streetAddr1" type="string" />
…
<element name="zipCode" type="string" />
<element name="country" type="string" />
</all>
</complexType>
12
Preconditions and Effects
<interface name="PurchaseOrder"> <operation name="processPurchaseOrder” pattern=wsdl:in-out> <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/>
<wssem:precondition name="ExistingAcctPrecond" wssem:modelReference="POOntology#AccountExists"> <wssem:effect name="ItemReservedEffect“ wssem:modelReference="POOntology#ItemReserved"/> </operation></interface>
• Defined at the level of WSDL operation• WSMO defines at the level of service• modelReference has a slightly different semantics here
• (Also possible to define the logical expression inline in WSDL)
13
Preconditions and Effects
<interface name="PurchaseOrder"> <operation name="processPurchaseOrder” pattern=wsdl:in-out> <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/>
<wssem:precondition name="ExistingAcctPrecond" wssem:modelReference="POOntology#AccountExists"> <wssem:effect name="ItemReservedEffect“ wssem:modelReference="POOntology#ItemReserved"/> </operation></interface>
• Defined at the level of WSDL operation• WSMO defines at the level of service• modelReference has a slightly different semantics here
• Also possible to define the logical expression inline in WSDL
• At most one precondition– To keep the specification simple– Complex preconditions should
be specified in the domain model
• As many effects as possible
14
Service Categorization
<element name=”category” maxOccurs="unbounded"><complexType>
<complexContent><extension base=”wsdl:interface”/><attribute name=”categoyname” type=”NCName” use=”required”/><attribute name=”taxonomyURI” type=”anyURI” use=”required”/><attribute name="taxonomyValue" type="String" use="optional"/><attribute name="taxonomyCode" type="integer" use="optional"/>
</complexContent></complexType>
</element>
• Category element– Adopted from OWL-S for use with UDDI
• An extension to the WSDL interface element
15
Relationship of WSDL-S to WSMO/L/X
• WSMO can be used for semantic annotation of WSDL with WSDL-S• WSDL-S defines Preconditions and Effects (WSMO postconditions)
– Could be extended to include Effects (WSMO) and Assumptions
• WSMX WG co-operation with the LSDIS lab underway:– http://www.wsmo.org/TR/d13/d13.8/v0.1/d13.8.pdf
– Linking Semantic Web Services Efforts. (Second International Workshop on Semantic and Dynamic Web Processes (SDWP), 2005)
• There is no mechanism to describe Choreography or Orchestration• There is no mechanism to describe Preconditions, Effects etc. for a
Web Service as an entity (they are defined at operation level)
16
Usefulness for WSMO Grounding
• Bottom approach may appeal to those used to WSDL• The schemaMapping attribute allows for complex
mappings to be identified by a URI• The modelReference assumes that the XML Schema
and corresponding ontology stay in sync• Semantics and syntax are tightly coupled
– Different WSDL-S for each ontology language?– WSDL of existing services would have to be modified
• Seems an incomplete mix of semantics and syntactics– Choreography and Orchestration etc. missing
An additional semantic description still required
17
Conclusion
• Bottom-up approach – Lightweight and WSDL friendly
• WSDL for existing services would have to be rewritten– In contrast to WSMO grounding– Semantics and syntax coupled in WSDL-S approach
• Choreography and Orchestration not addressed– Would still need a second semantic service description
• Is not WSML– Is not processable by WSMX
• May be a intermediate approach to adding semantics to Web service descriptions (outside WSMX)
• DERI and LSDIS have started discussing co-operation