OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsrf message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [wsrf] Proposed resolution to WSRF 174 - references to instances ofMDDs

I still don't understand how, given the following MDD lifted straight from
lines 298-314 of the spec, the targetNamespace attribute of the Definitions
element is represented in a derived metadata resource RPDoc.

            http://example.com/wsdl/Identification.wsdl” >
          <Property name=”id:ResourceID”
                    modifiability=”read-only” />
          <Property name=”id:ResourceType”
                    modifiability=”read-only” />

If we want to successfully conclude this issue we need a concrete proposal
that illustrates:
1. precisely how the MetadataDescriptor schema needs to modified
2. precisely how the above RMDDocument instance is transformed into a
metadata resource RPDoc instance.


             "Murray, Bryan                                                
             <bryan.murray@hp.                                          To 
             com>                      Ian Robinson/UK/IBM@IBMGB           
             01/05/2006 18:55          "David Snelling"                    
                                       "Wilson, Kirk D"                    
                                       <Kirk.Wilson@ca.com>, Tim           
                                       RE: [wsrf] Proposed resolution to   
                                       WSRF 174 - references to instances  
                                       of MDDs                             


I am not sure I am understanding what you are saying. I will try to
restate it - let me know if I have it correct.

A MetadataDescriptor element will always be the root element of a
metadata resource. This element will always be in the rmd namespace.
This root element has a child element named 'interface' that indicates
the Qname of the portType for which this metadata document adds
additional information. The namespace portion of that portType Qname is
the namspace for the WSDL document in which the portType resides and is
probably different from the namespace of the resource property document
that the metadata document is describing. The namespace of the resource
property document can be discovered by accessing and observing the
namepsace portion of the value of the metadataDescriptor attribute on
the portType or by using GetResourcePropertyDocument on the resource and
observing the namespace of the root element.

I think this will work. It is a little difficult to find the namespace
that the metadata is describing, but there is a way to do so. It would
probably help a client to include the targetNamespace.

My understanding is that the metadata document will still use the
Definitions element for its root and have a targetNamespace attribute.
Is this correct?

Regarding one or several MetadataDescriptor child elements of a
Definitions element, the metadata document was designed to closely mimic
a WSDL document (root element is the same, MetadataDescriptor is roughly
equivalent to portType), thus, some designers may want the same
flexibility in being able to define multiple portTypes in one WSDL
document, and thus want to be able to define multiple MetadataDescriptor
elements in one metadata document. It seems artificial and short sighted
to limit the number of MetadataDescriptor elements because our current
myopic view of the world does not need more than one.

Allowing more than one MetadataDescriptor element does not change what
we see as a metadata resource, and only offers more than one
MetadataDescriptor element in a metadata document. Developers are
already familiar with how to find one of several elements with the same
name, as they iterate through a WSDL document to find a specific
portType or binding element. I do not feel that allowing more than one
MetadataDescriptor element adds significant complexity since developers
already know how to handle more than one portType element.


-----Original Message-----
From: Ian Robinson [mailto:ian_robinson@uk.ibm.com]
Sent: Sunday, April 30, 2006 11:53 AM
To: Murray, Bryan P.
Cc: David Snelling; Wilson, Kirk D; Tim Banks; wsrf@lists.oasis-open.org
Subject: RE: [wsrf] Proposed resolution to WSRF 174 - references to
instances of MDDs

Having <targetNamespace> as a child element of MetadataDescriptor is
taking this too far. The resolution to this issue needs to state that
the xmlns for a <MetadataDescriptor> in a MDD needs to be preserved in
any derived metadata resource RPDoc; both should use XML namespaces in
the normal way.
If any WS-Resource requester needs to determine the xmlns of the root
element of an RPDoc then it should use GetResourcePropertyDocument.

Assuming this assertion is accepted, then there is one primary
difference between the options 'b' and 'f' - 'f' restricts a MDD to a
single MetadataDescriptor element and eliminates the <name> child
element (previously attribute) from <MetadataDescriptor>.

Bryan - you asked:
> what is the advantage of restricting a Definitions element to a single

The advantage is that we have not a single scenario where it makes sense
to have more than one (that I am aware of). The "flexibility" of
multiple MetadataDescriptor elements which have to be qualified by name
seems an unnecessary complication. Please correct me if this is wrong.
But if not, I tend towards option 'f' for simplicity.

Ian Robinson
STSM, WebSphere Messaging and Transactions Architect IBM Hursley Lab, UK

             "Murray, Bryan


             com>                      Tim Banks/UK/IBM@IBMGB

             25/04/2006 22:43          <wsrf@lists.oasis-open.org>,


                                       "Wilson, Kirk D"

                                       <Kirk.Wilson@ca.com>, Ian


                                       RE: [wsrf] Proposed resolution to

                                       WSRF 174 - references to
                                       of MDDs


This whole discussion began when Dave brought up his use case for
"dynamic" metadata due to the existance of resources having new
properties created at runtime. Thus, we allowed the metadata property to
reference a live resource instead of a static document. This does not
mean the metadata property is required nor that the metadata document no
longer exists. My understanding is that the document must exist in order
to support design time use of metadata.

I believe you are right that the targetNamespace property should be
added to the metadata resource to allow a client of that metadata
resource to learn which namespace it is associated with. This namespace
should certainly be the same as the namespace used in the metadata doc,
but it has nothing to do with a WSDL portType and a reference to the
metadata doc. The WSDL portType refers to the metadata doc (it is just a
URL and QName), not the metadata resource (which requires an EPR as a
reference). At runtime, the metadata property refers to the metadata
resource, not the metadata doc.

The metadata resource is just like any other resource. It happens to
have a root element named rmd:MetadataDescriptor and a bunch of
properties that describe the metadata of another resource. But there is
no XML magic for referencing this resource - it uses an EPR just like
any other resource. This EPR can use any value for the wsa:Address and
wsa:ReferenceParameters fields that is reasonable for its deployment.


-----Original Message-----
From: Tim Banks [mailto:tim_banks@uk.ibm.com]
Sent: Tuesday, April 25, 2006 2:48 AM
To: Murray, Bryan P.
Cc: wsrf@lists.oasis-open.org; David Snelling; Wilson, Kirk D; Ian
Subject: RE: [wsrf] Proposed resolution to WSRF 174 - references to
instances of MDDs

Hi Bryan,

As described by Ian in [1]...

> (b) requires the schema of the MetadataDescriptor element to be
> In psuedo schema terms, this would be a change from this:
> <MetadataDescriptor
>       name="xsd:NCName"
>       interface="xsd:QName"
>       wsdlLocation="pairs of xsd:anyUri"?
>       {anyAttribute}* >
>   <documentation />?
>   <Property /> *
>   {any}*
> </MetadataDescriptor>
> to this:
> <MetadataDescriptor>
>     <name>xsd:NCName</name>
>      <interface>xsd:QName</interface>
>       <wsdlLocation>pairs of xsd:anyUri</wsdlLocation>?
>      <documentation />?
>      <Property /> *
>      {any}*
> </MetadataDescriptor>

But... (b) also requires the declaration of the targetNamespace  for the
Metadata descriptor, without which it cannot be referenced (from a
portType) via a Qname.  So,  is this targetNamespace information also to
be provided as a child element,  like this?

 >>>       <targetNamespace>xsd:anyUri</targetNamespace>
           <wsdlLocation>pairs of xsd:anyUri</wsdlLocation>?
           <documentation />?
           <Property /> *

I worry that this is getting into the realms of extreme-XML, and can
find no precedent for this kind of construction; can you help me?

Regards, Tim Banks.



"Murray, Bryan P." <bryan.murray@hp.com> wrote on 24/04/2006 21:55:16:

> If MetadataDescriptor is the root of the resource properties document,

> what is the advantage of restricting a Definitions element to a single

> MDD?
> I like (b) the best.
> Bryan

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]