atom feed2 messages in org.oasis-open.lists.wsrfNew RMD issue: Simplification of meta...
FromSent OnAttachments
Ian RobinsonApr 24, 2006 7:06 am 
Tim BanksApr 24, 2006 8:56 am 
Subject:New RMD issue: Simplification of metadataDescriptorLocation type
From:Ian Robinson (ian_@uk.ibm.com)
Date:Apr 24, 2006 7:06:54 am
List:org.oasis-open.lists.wsrf

I would like to separate the following concern out from the discussion on issue WSRF174 into a new issue in its own right, independent of the outcome of WSRF174.

This relates back to the final observation in [1] that, since we now define at most one MDD per WS-Resource, we can simplify the type of MetadataDescriptorLocation from "list of pairs of URIs" to a single URI that provides information on the location of the MDD. The reason there is currently a list of pairs or URIs is so that we could (in the past) accomodate a number of different MDDs, each of which pertains to a specific namespace (the first URI in the pair). We have moved away from this and now need only a single URI for the location of the single MDD.

In order to have a single, consistent story for locating the MDD, I propose the following additions to the resolution of issue 174:

Change the definition of the wsrmd:MetadataDescriptorLocation from "wsrmd:PairsOfURIType" to "xsd:anyURI" Specifically, change the schema from this:

<!-- ======================== Utility Types ======================= --> <xsd:simpleType name="PairsOfURIType"> <xsd:list itemType="xsd:anyURI" /> </xsd:simpleType>

<!-- ================ PortType Attribute Extensions ================ --> <xsd:attribute name="metadataDescriptorLocation" type="wsrmd:PairsOfURIType" />

to this:

<!-- ================ PortType Attribute Extensions ================ --> <xsd:attribute name="metadataDescriptorLocation" type="xsd:anyURI" />

Further, change XML snippets to reflect this - for example lines 235-241 become: <portType name="OperatingSystem" wsrf-rp:ResourceProperties="os:OSResourceProperties" ..wsrmd:metadataDescriptor=”os:OperatingSystemMetadataDescriptor” ..wsrmd:metadataDescriptorLocation= ”http://example.com/metadataDescriptors/OperatingSystem.wsrmd” > … </portType>

Change "10.1 Extending WSDL 1.1 PortType" to read:

"...

<wsdl:definitions …> <wsdl:portType … wsrmd:metadataDescriptor=”xs:QName”? wsrmd:metadataDescriptorLocation=”xs:anyURI”? … > … </wsdl:portType>

This definition is further constrained as follows:

/wsdl:portType/@wsrmd:metadataDescriptor

If this attribute appears on a WSDL 1.1 portType element its value MUST be a QName that corresponds to a MetadataDescriptor component. Further, the value of the MetadataDescriptor component contained in that document MUST have {interface} that matches the QName of the portType containing @wsrmd:metadataDescriptor. Any service that implements this portType MUST be associated with a MetadataDescriptor that is, or specializes the MetadataDescriptor identified by the value of this attribute.

/wsdl:portType/@wsrmd:metadataDescriptorLocation

If this attribute appears on a WSDL 1.1 portType element its value MUST be a URI that corresponds to a URL at which can be found more information about the MetadataDescriptor document, such as an XML document containing a MetadataDescriptor Definitions element as its root element.

"

We should make the same change for the MetadataDescriptor @wsdlLocation which is currently defined on lines 493 - 495 as:

"{wsdlLocation} a set of URI pairs, each pair associating a namespace URI with a URL of a document containing a WSDL definition of that namespace. This is a similar mechanism to that used in WSDL 2.0 [WSDL2.0]. "

The new definition of this attribute would be:

"{wsdlLocation} a URI that corresponds to the URL of a document containing the WSDL definition of the WS-Resource."

is attribute should should be changed from "a set of" to "a pair of" indicating the location of a single WSDL document.

[1] http://www.oasis-open.org/apps/org/workgroup/wsrf/email/archives/200603/msg00006.html