W3C home > Mailing lists > Public > www-ws-desc@w3.org > April 2002

RE: Open Content Model

From: Matt Long <mlong@phalanxsys.com>
Date: Fri, 26 Apr 2002 06:12:18 -0500
To: "'Sanjiva Weerawarana'" <sanjiva@watson.ibm.com>, <www-ws-desc@w3.org>
Message-ID: <000e01c1ed13$3bb28000$3cfff6d0@gulag>
Asking for clarification...

My understanding of wsdl:required is that the processor is 'required' to
understand the extension element (not that the extension element is
'required' to be present in the message) encoded with wsdl:required. It
seems that under certain situations (for instance a security-ish
soap:header) that this soap:header may be 'required' to be present in
the message.  As I understand it, it is not possible to communicate this
directly under WSDL 1.1.

Considering that security is a significant issue *and* that requirements
for security headers in messages are a given for specific use cases, how
can this be addressed?

Comments!

Thx,

-Matt Long
Phalanx Systems, LLC

> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]
On
> Behalf Of Sanjiva Weerawarana
> Sent: Friday, April 26, 2002 4:38 AM
> To: www-ws-desc@w3.org
> Subject: Re: Open Content Model
> 
> Hi Glen,
> 
> IMO there's a semantic difference between "mustUnderstand" and
> "required." We may need both, but what WSDL 1.1 has is "required",
> of course.
> 
> Sanjiva.
> 
> ----- Original Message -----
> From: "Glen Daniels" <gdaniels@macromedia.com>
> To: <www-ws-desc@w3.org>
> Sent: Thursday, April 25, 2002 12:24 PM
> Subject: FW: Open Content Model
> 
> 
> >
> > Oops!  This should have gone to the list.  --G
> >
> > -----Original Message-----
> > From: Jeffrey Schlimmer [mailto:jeffsch@windows.microsoft.com]
> > Sent: Thursday, April 25, 2002 11:54 AM
> > To: Glen Daniels
> > Subject: RE: Open Content Model
> >
> >
> > Glen, did you want this message to go to the list or just me? --Jeff
> >
> > -----Original Message-----
> > From: Glen Daniels [mailto:gdaniels@macromedia.com]
> > Sent: Thursday, April 25, 2002 8:29 AM
> > To: Jeffrey Schlimmer
> > Subject: RE: Open Content Model
> >
> >
> > Two comments about wsdl:required.
> >
> > 1) If in fact the purpose of this is to indicate that the processor
who
> > is reading this document must comprehend the extension in question
for a
> > valid interpretation of the WSDL, why don't we change it to
> > wsdl:MustUnderstand to mirror the SOAP attribute which indicates
> > precisely the same semantics?
> >
> > 2) Assuming these are the semantics, you can use this, as in SOAP,
to
> > require understanding of anything, not just EIIs.  Example:
> >
> > <operation name="foo" myNS:fancyAttribute="idempotent">
> >   ...
> > </operation>
> > <service>
> >   <myNS:fancyExtension wsdl:MustUnderstand="true"/>
> >   ...
> > </service>
> >
> > So a reader of this document would see the MU="true" on the
> > myNS:fancyExtension element, which means that they are required to
> > "understand" all semantics and rules indicated by the specification
> > which defines this element.  In this case, I'm positing that said
spec
> > indicates that you must process the "myNS:fancyAttribute" attribute
when
> > dealing with operations to indicate various characteristics such as
> > idempotency.
> >
> > Elements like myNS:fancyExtension can be defined for fine-grained
> > extensions, and then it's easy to aggregate these into groups of
> > commonly used stuff which can be indicated with a single MU="true"
> > element, something like "<myNS:allMyExtensions>", whose
specification
> > indicates that understanding it implies understanding
"fancyExtesion",
> > "superExtension", and "megaExtension".
> >
> > Does this get us what we want here?  A potential performance problem
> > with this is that you need to go and find all the required stuff
before
> > doing any real work comprehending the document, since the semantics
of
> > how you parse the rest might be affected.  This also precisely
matches
> > the SOAP 1.2 processing model, and allows for safe extensibility.
> >
> > --Glen
> >
> > > -----Original Message-----
> > > From: Jeffrey Schlimmer [mailto:jeffsch@windows.microsoft.com]
> > > Sent: Wednesday, April 24, 2002 9:41 PM
> > > To:
> > > Subject: RE: Open Content Model
> > >
> > >
> > > As appealing as it is, wsdl:required can only be used to annotate
> > > element information items (EII) but not attribute information
items
> > > (AII).
> > >
> > > So, we're going to have to commit to either: (a) AII extensions
must
> > > _always_ be understood, or (b) AII extensions must always be
> > > ignorable.
> > > Right?
> > >
> > > If we choose (a), we have a split rule for interpreting whether an
> > > extension is required "by default". That is, an EII without
> > > wsdl:required is ignorable but an AII without wsdl:required
> > > (which they
> > > all will be) must be understood.
> > >
> > > For the sake of consistency, seems like (b) is a better choice.
Can we
> > > live with extension AII always being ignorable?
> > >
> > > --Jeff
> > >
> > > -----Original Message-----
> > > From: Jonathan Marsh
> > > Sent: Wednesday, April 24, 2002 4:20 PM
> > > To: www-ws-desc@w3.org
> > > Subject: RE: Open Content Model
> > >
> > > > -----Original Message-----
> > > > From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com]
> > > > Sent: Wednesday, April 24, 2002 1:26 PM
> > > > To: www-ws-desc@w3.org
> > > > Subject: Re: Open Content Model
> > > >
> > > > I would personally preferred to have open-content on
> > > selected elements
> > > > rather than saying "arbitrary XML can be inserted
> > > anywhere." That is,
> > > > I prefer architected open-content rather than flat-out openness.
> > >
> > > I think open content models are only a small factor in the total
> > > extensibility of the language.  The main parts are the
> > > processing model
> > > and the conformance clauses.
> > >
> > > > Example: If we decide that the language should not have portType
> > > > (interface) inheritance, then having an open-content model would
> > > > allow one to easily supplant that restriction by adding an
attribute
> > > > or element to <portType>. IMO that's bad.
> > >
> > > You can imagine lots of ignorable annotations on <portType> like
> > > my:lastUpdatedOn="20020424"
my:lastUpdatedBy="jmarsh@microsoft.com".
> > > Ignorable annotations are the 90% case.  How do you distinguish
> > > ignorable annotations from behavioral extensions?  Perhaps an open
> > > content model together with a processing model like this
> > > would meet your
> > > concern:
> > >
> > > 1) extension attributes are allowed everywhere, but cannot change
the
> > > behavior of elements or attributes described in the spec.
> > > 2) extension elements are allowed everywhere, but cannot change
the
> > > behavior of elements or attributes described in the spec unless
marked
> > > with wsdl:required="true".
> > > 3) it is an error to process a WSDL document with extension
elements
> > > marked with wsdl:required="true" if the extension is not supported
by
> > > the processor.
> > >
> > > > Jonathan: If I recall correctly XSLT is not fully open-content:
> > > > weren't there some restrictions on top-level elements and
> > > their impact
> > > > on the processing model? That's akin to what I would prefer;
> > > > architected extensionsibility with good rationale.
> > >
> > > XSLT has a mechanism for identifying extension elements, and
> > > distinguishing them from literal result elements inside of
templates.
> > > Such extension elements are given an implicit
> > > required="true", that is,
> > > a processor that doesn't understand the extension must halt and
catch
> > > fire.  Outside of templates, where there is no ambiguity,
arbitrary
> > > elements are allowed.  Attribute extensibility is allowed
everywhere.
> > > The rules given are pretty much like those I give above, although
> > > wsdl:required provide a granularity of control not available in
XSLT.
> > >
> > > > Sanjiva.
> > > >
> > > > ----- Original Message -----
> > > > From: "Keith Ballinger" <keithba@microsoft.com>
> > > > To: <www-ws-desc@w3.org>
> > > > Sent: Monday, April 22, 2002 10:06 PM
> > > > Subject: Open Content Model
> > > >
> > > >
> > > > One item I've had on my plate is to describe why the open
content
> > > model
> > > > is something we should try to take advantage of as much as
possible
> > > with
> > > > the WDSL revision.
> > > >
> > > > To begin with, when I say open content model, I mostly mean
allowing
> > > > extra element and attributes from other namespaces within a
schema.
> > > This
> > > > is typically done with the <any/> and <anyAttribute/> schema
tags.
> > > These
> > > > elements also allow you to specify which namespace
> > > (including ##other,
> > > > which means any namespace but the one in the schema), as well as
the
> > > > default processing of these elements. An example of this
> > > can be found
> > > > with the <binding> element in WSDL today. This element allows
child
> > > > elements of the type: <any namespace="##other" minOccurs="0"
> > > > maxOccurs="unbounded" />
> > > >
> > > > Working with SOAP and WSDL over the past few years has shown me
the
> > > > value in allowing this open content model. It is very useful
> > > especially
> > > > for extending a specification in new ways. As authors of
> > > specs, we may
> > > > cover many use cases and requirements in a first class way, but
we
> > > need
> > > > to provide for those other requirements that come to us
> > > that we don't
> > > > anticipate. The open content model allows us to handle many
> > > of these.
> > > >
> > > > I would also recommend that we keep WSDLs mustUnderstand feature
for
> > > > extensions, the wsdl:required attribute.
> > > >
> > > > As a matter of technique, I feel that we should be overly open
as
> > > > opposed to overly closed. This would lead to putting this
> > > open content
> > > > model on all elements, and then finding reasons why it
> > > shouldn't be on
> > > > one.
> > > >
> > > > Cheers,
> > > > Keith
> > > >
> > >
Received on Friday, 26 April 2002 09:02:14 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:19 GMT