wsrf message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: RE: [wsrf] Issue 10: Concrete proposals for Metadata (Action Item)
- From: Steve Graham <sggraham@us.ibm.com>
- To: "Springer, Ian P." <ian.springer@hp.com>
- Date: Tue, 21 Sep 2004 13:20:17 -0400
Hi Ian:
A concern with this approach is that
it works only if the person responsible for the meta-data values also has
access to the XSD declaration. Frequently, the XSD schema is "fixed"
by some organization (such as a standards body) and is not available to
decorate in this way.
++++++++
Steve Graham
(919)254-0615 (T/L 444)
STSM, On Demand Architecture
Member, IBM Academy of Technology
<Soli Deo Gloria/>
++++++++
"Springer, Ian P." <ian.springer@hp.com>
wrote on 09/21/2004 12:59:50 PM:
> Hi Tom,
>
> A fourth possiblity is defining the metadata as fixed attributes in
the resource
> properties document schema. The WS-RP spec schema would define the
available
> metadata attributes as follows:
>
> <attribute name="readable" type="xsd:boolean"
form="qualified" />
> <attribute name="writeable" type="xsd:boolean"
form="qualified" />
> <attribute name="deleteable" type="xsd:boolean"
form="qualified" />
>
> etc...
>
> Then, in the resource properties document schema, metadata attributes
would be
> specified as follows:
>
>
> <xsd:import namespace="http://www.ibm.com/xmlns/stdwip/web-services/WS-
> ResourceProperties"
> schemaLocation="../spec/wsrf/WS-ResourceProperties-1_1.xsd"
/>
>
> <element name="BlockSize">
> <complexType><simpleContent>
> <extension base="xsd:int">
> <attribute ref="wsrp:writeable"
fixed="false" />
> <attribute ref="wsrp:deleteable"
fixed="false" />
> </extension>
> </simpleContent></complexType>
> </element>
>
> <element name="Manufacturer">
> <complexType><simpleContent>
> <extension base="xsd:string">
> <attribute ref="wsrp:writeable"
fixed="false" />
> <attribute ref="wsrp:deleteable"
fixed="false" />
> </extension>
> </simpleContent></complexType>
> </element>
>
> etc...
>
>
>
> --Ian
>
> | -----Original Message-----
> | From: Tom Maguire [mailto:tmaguire@us.ibm.com]
> | Sent: Tuesday, September 21, 2004 10:12 AM
> | To: Tom Maguire
> | Cc: wsrf@lists.oasis-open.org
> | Subject: Re: [wsrf] Issue 10: Concrete proposals for Metadata
> | (Action Item)
> |
> |
> |
> |
> |
> | Perhaps I was a bit too subtle with the analysis of potential
> | resolutions
> | and what I believe
> | is the preferred proposal. The 3 choices are:
> |
> | 1) Add metadata to portType in annotations
> | 2) Add metadata to portType through attachments (ala policy
> | attachments)
> | 3) Separate metadata document that is related to the portType
> |
> | The pros and cons of each choice are detailed below. The
> | conclusion I draw
> | is
> | that choice 3 met most of the requirements and had the most
> | desirable set
> | of attributes.
> |
> | This choice would likely require our adding another
> | specification to the
> | WSRF suite
> | of specifications and deliverables.
> |
> | Thoughts?
> |
> | Tom
> |
> | Tom Maguire/Hawthorne/IBM@IBMUS wrote on 09/17/2004 03:46:26 PM:
> |
> | >
> | >
> | >
> | >
> | > There are several ways for WSRF to capture metadata
> | associated with a
> | > particular portType.
> | >
> | > Add metadata to portType in annotations
> | > Use the xs:documentation element to annotate components in
> | WSDL1.1 and
> | xsd
> | > with additional metadata.
> | >
> | > <element name="pt1ResourceProperties">
> | > <complexType>
> | > <sequence>
> | > <element ref="type1" minOccurs="0"
maxOccurs="1">
> | > <documentation>
> | > <wsrf:propertyMetadata
> | > mutability="mutable"
> | > modifiability="read-only"
/>
> | > </documentation>
> | > </element>
> | > <element ref="type2" minOccurs="0"
maxOccurs="1">
> | > <documentation>
> | > <wsrf:propertyMetadata
> | > mutability="mutable"
> | > modifiability="read-write"
/>
> | > </documentation>
> | > </element>
> | > </sequence>
> | > </complexType>
> | > </element>
> | >
> | > <element name="type1" type="xs:string"/>
> | > <element name="type2" type="xs:string"/>
> | >
> | > <portType name="pt1"
> | wsrp:ResourceProperties="pt1ResourceProperties">
> | > <operation name="GetResourceProperty">
> | > <documentation>
> | > <wsrf:operationMetadata
> | > idempotent="true" />
> | > </documentation>
> | > <input name="GetResourcePropertyRequest"
> | > message="wsrp:GetResourcePropertyRequest"
/>
> | > <output name="GetResourcePropertyResponse"
> | > message="wsrp:GetResourcePropertyResponse"
/>
> | > <fault name="ResourceUnknownFault"
> | > message="wsrp:ResourceUnknownFault"
/>
> | > <fault name="InvalidResourcePropertyQNameFault"
> | > message="wsrp:InvalidResourcePropertyQNameFault"
/>
> | > </operation>
> | > </portType>
> | >
> | > Pros:
> | > Uses established extensibility mechanism
> | > Cons:
> | > Mixed content of xs:documentation pretty
ugly
> | > Metadata is spread all over the place
> | > Does not allow implementation specific
extension of metadata;
> | > metadata is only expressible at the type
level
> | > Confuses roles of authorship; the person
with the
> | knowledge of the
> | > metadata might not have write access to
xsd or wsdl
> | > Substantial change to existing specifications;
granularity of
> | > expression forces lots of wsdl and xsd
changes
> | > No ability to have metadata on XML Schema
attributes
> | > Not sure how to add metadata for components
that are
> | not reflected
> | in
> | > WSDL or xsd (notifications, relationships,
others?)
> | >
> | > Add metadata to portType through attachments (ala policy
> | attachments)
> | > Use open attribute capabilities to attach metadata to components
in
> | WSDL1.1
> | > and xsd.
> | >
> | > <xs:schema>
> | > <xs:attribute name="metadataURIs" type="list
of xs:anyURI"/>
> | > </xs:schema>
> | >
> | > <element name="pt1ResourceProperties">
> | > <complexType>
> | > <sequence>
> | > <element ref="type1" minOccurs="0"
maxOccurs="1"
> | >
> | wsrf:metadataURIs="http://example.com/metadata#MUTABLE
> | >
> | "http://example.com/metadata#READ-ONLY" />
> | > <element ref="type2" minOccurs="0"
maxOccurs="1"
> | >
> | wsrf:metadataURIs="http://example.com/metadata#MUTABLE
> | >
> | "http://example.com/metadata#READ-WRITE" />
> | > </sequence>
> | > </complexType>
> | > </element>
> | >
> | > <element name="type1" type="xs:string"/>
> | > <element name="type2" type="xs:string"/>
> | >
> | > <portType name="pt1"
> | wsrp:ResourceProperties="pt1ResourceProperties">
> | > <operation name="GetResourceProperty"
> | >
> | wsrf:metadataURIs="http://example.com/metadata#IDEMPOTENT"
> | />
> | > <input name="GetResourcePropertyRequest"
> | > message="wsrp:GetResourcePropertyRequest"
/>
> | > <output name="GetResourcePropertyResponse"
> | > message="wsrp:GetResourcePropertyResponse"
/>
> | > <fault name="ResourceUnknownFault"
> | > message="wsrp:ResourceUnknownFault"
/>
> | > <fault name="InvalidResourcePropertyQNameFault"
> | > message="wsrp:InvalidResourcePropertyQNameFault"
/>
> | > </operation>
> | > </portType>
> | >
> | > Pros:
> | > Mechanism that is proposed for WS-Policy
> | > Metadata in a separate document
> | > Cons:
> | > URI dereferencing is not clear
> | > Confuses roles of authorship (less then
documentation
> | approach)
> | > Metadata attachments are spread all over
the place
> | (potentially
> | > metadata is spread all over the place
as well)
> | > Does not allow implementation specific
extension of metadata
> | > list of xs:anyURI is problematic for some
tools
> | (could use QName I
> | > guess)
> | > Substantial change to existing specifications;
granularity of
> | > expression forces lots of wsdl and xsd
changes
> | > No ability to have metadata on XML Schema
attribute
> | > Not sure how to add metadata for components
that are
> | not reflected
> | in
> | > WSDL or xsd
> | > Need to detail separate document structure
for metadata
> | >
> | > Separate metadata document that is related to the portType
> | > Define a separate metadata document that has composition
> | and separate
> | > lifetime from WSDL. Allow
> | > connection to metadata document through portType open
> | attributes (QName
> | and
> | > location ala wsdlLocation) for
> | > design time introspection. Alloc connection to
> | implementation specific
> | > metadata through resourceProperty
> | > element or MetadataExchange or both for runtime introspection.
> | >
> | > <element name="pt1ResourceProperties">
> | > <complexType>
> | > <sequence>
> | > <element ref="type1" minOccurs="0"
maxOccurs="1"/>
> | > <element ref="type2" minOccurs="0"
maxOccurs="1"/>
> | > </sequence>
> | > </complexType>
> | > </element>
> | >
> | > <element name="type1" type="xs:string"/>
> | > <element name="type2" type="xs:string"/>
> | >
> | > <portType name="pt1" wsrp:ResourceProperties="pt1ResourceProperties"
> | >
> | xxx:metadataDescriptor="tns1:pt1MetadataDocument"
> | >
xxx:metadataDescriptorLocation="
> | > http://example.com/md/pt1
> | >
> | > http://example.com/md/pt1.md">
> | > <operation name="GetResourceProperty" />
> | > <input name="GetResourcePropertyRequest"
> | > message="wsrp:GetResourcePropertyRequest"
/>
> | > <output name="GetResourcePropertyResponse"
> | > message="wsrp:GetResourcePropertyResponse"
/>
> | > <fault name="ResourceUnknownFault"
> | > message="wsrp:ResourceUnknownFault"
/>
> | > <fault name="InvalidResourcePropertyQNameFault"
> | > message="wsrp:InvalidResourcePropertyQNameFault"
/>
> | > </operation>
> | > </portType>
> | >
> | > The metadata description document would be structured something
like
> | below.
> | > It could allow
> | > for non-WSDL component metadata, as well as specialization
and
> | > reconcilation.
> | >
> | > <Definitions
> | >
> | xmlns="http://www.proposedstandards.org/xmlns/MetadataDescriptor"
> | > xmlns:tns="http://example.com/ns/pt1"
> | > targetNamespace="http://example.com/ns/pt1">
> | > <MetadataDescriptor
> | > name="pt1MetadataDescriptor"
> | > interface="tns:pt1"
> | > wsdlLocation="http://example.com/ns/pt1
> | >
http://example.com/wsdl/pt1.wsdl" >
> | > <Property path="tns:type1"
> | > mutability="constant"
> | > modifiability="read-only"
/>
> | > <Property path="tns:type2"
> | > mutability="constant"
> | > modifiability="read-only"
/>
> | > </MetadataDescriptor>
> | > </Definitions>
> | >
> | > Pros:
> | > Metadata in a separate document
> | > URI dereferencing is clear (follows wsdlLocation
model)
> | > Roles of authorship are clear and separated
> | > Metadata is namespaced and in a single
place
> | > WSDL tooling and xml tooling minimal impact
> | > Allows implementation specific extensions
of metadata
> | > No change to existing specifications
> | > Metadata on attributes should be no problem
> | > Cons:
> | > New mechanism
> | > New specification
> | > Need to detail separate document structure
for metadata
> | >
> | >
> | >
> | > Issue WSRF10: Need mechanism to express metadata on
> | properties such as
> | > 'read-only'
> | > It is currently not possible to determine property behavior
based on
> | > examining a property document schema. OGSI ServiceData defined
some
> | > metadata for properties to express behaviors such as
> | 'read-only'. It is
> | > useful to a client to have access to this and similar
> | metadata about a
> | > property.
> | >
> | > Discussion occurred at the face-to-face July 27, 2004 about
> | this issue.
> | It
> | > was generally accepted that there is a need to express
> | meta-data about
> | > properties.
> | >
> | >
> | >
> | > Specifications
> | >
> | > · WS-ResourceProperties, Version 1.1, March 5,
2004
> | >
> | >
> | > Notes
> | >
> | >
> | >
> | > Proposed Recommendations
> | >
> | > One possible solution is to use the annotation element from
> | schema to add
> | > meta-data about the property.
> | >
> | > Another possible solution is to have a secondary document
> | that includes
> | > meta-data about some or all of the properties in a resource
property
> | > document.
> | >
> | > Some interesting resource property meta-data includes:
> | >
> | > § Insertable:bool
> | > § Updateable: bool
> | > § Deleteable: bool
> | > § Readable: bool
> | > § Initial Value(s): <any>
> | > § Constant: bool
> | > § ValidValue: <any> (??)
> | >
> | > Concrete proposals to be sent to the list.
> | >
> | >
> | >
> | > Status: Open since April 28, 2004
> | >
> | >
> | >
> | > Contact: Bryan Murray
> | >
> | >
> | >
> | > Cross Reference:
> | >
> | >
> |
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]