- From: Ugo Corda <UCorda@SeeBeyond.com>
- Date: Mon, 7 Jun 2004 11:25:10 -0700
- To: "Glen Daniels" <gdaniels@sonicsoftware.com>, "Hugo Haas" <hugo@w3.org>, "Marc Hadley" <Marc.Hadley@Sun.COM>
- Cc: "Jonathan Marsh" <jmarsh@microsoft.com>, <www-ws-desc@w3.org>, <xml-dist-app@w3.org>
Glen, As I discussed before in the specific case of optional MTOM optimization, I prefer the client and server to behave symmetrically with respect to optional features declared at the operation level, unless otherwise explicitly specified. So I support your questioning of current asymmetric assumptions regarding optional features. Ugo > -----Original Message----- > From: www-ws-desc-request@w3.org > [mailto:www-ws-desc-request@w3.org] On Behalf Of Glen Daniels > Sent: Monday, June 07, 2004 8:49 AM > To: Hugo Haas; Marc Hadley > Cc: Jonathan Marsh; www-ws-desc@w3.org; xml-dist-app@w3.org > Subject: RE: Describing which blobs are to be optimized. > > > > > Hi Hugo, Marc: > > The interesting part of this, if you interpret it as Hugo has > below, is that a feature marked optional at the operation > level might imply that the response from the server is in a > format that a client who does not understand that feature > cannot accept. With respect to MTOM/XOP over HTTP, I would > think we could use the "accept" header to indicate the > client's ability to accept optimized responses, but the > general case is perhaps more interesting. > > The way we've been talking about it up until this point is > that optional features are optional in that the originator > may or may not engage them, but the server must support them. > In other words, if a WSDL specifies that a security feature > is optional for a given SOAP binding, and you want to > implement a service that uses that binding, you must > understand and accept whatever rules are specified by the > security feature. No such requirement exists on the client, > though - that guy is free to simply ignore the feature > declaration if it's optional. This way of looking at it is > focused on the originator making the decision to engage the > feature, not the server. > > If we want to allow "server engaged" optional features, I > think we get into the same kind of pattern which might > require the client to understand them in order to claim full > understanding of the WSDL. If I can say that the server > *might* send back an encrypted response, then mightn't the > client need to understand the encryption mechanism in order > to successfully communicate? > > We can deal with this in a number of ways. First, the simple > way - optional extensions may be ignored by clients, but > failures may always happen at runtime, perhaps as a result of > a server engaging something which was marked optional. To > some extent this can happen anyway, in that a given service > may decide to use an extension that wasn't mentioned in the > WSDL, but putting in optional extension declarations at least > gives both sides more of a clue as to what is supported. I > think this is pretty much status quo. > > Second, we could add something like a "mustUnderstand" > attribute to feature/module declarations, which indicates > that anyone using the WSDL must understand the given > extension, but that the usage of that extension is still > optional unless "required='true'" is specified. Required > extensions would remain as they are - where both usage and > understanding are mandated. This would allow specifying > features which may or may not be used, but whose use affects > the syntax/semantics of the exchange enough that failure to > understand them would completely screw things up in the event > they were used. > > In general, I think we need to be as crystal clear as we can > be about which kinds of extension declarations might affect > which portions of an interaction described by WSDL. That > said, a third option entails making sure we have the > expressive capability to indicate that a particular extension > may be in use, and which side(s) of an interaction may use it > - which probably involves the kind of things Hugo discusses > below (i.e. it's pretty clear that an optional feature on the > <output> of a given request-response interaction is going to > be something the server may do), combined with clear text > which tells us what it means when extensions are used at the > higher levels. > > This is just some off-the-cuff thinking. We probably want to > talk about this on a call soon or at the F2F. > > --Glen > > > -----Original Message----- > > From: www-ws-desc-request@w3.org > > [mailto:www-ws-desc-request@w3.org] On Behalf Of Hugo Haas > > Sent: Monday, June 07, 2004 10:16 AM > > To: Marc Hadley > > Cc: Jonathan Marsh; www-ws-desc@w3.org; xml-dist-app@w3.org > > Subject: Re: Describing which blobs are to be optimized. > > > > Hi Marc. > > > > * Marc Hadley <Marc.Hadley@Sun.COM> [2004-06-04 16:03-0400] > > > On a related note I'm unclear on the semantics implied by > > marking the > > > MTOM/XOP feature as optional. I can see several interpretations: > > > > > > (i) a service will never use it but a client may > > > (ii) a service will not use it unless client does first > > > (iii) a service will always use it but a client isn't obliged to > > > > Section 2.7.1[1] specifies: > > > > | The presence of a feature component in a WSDL description > indicates > > | that the service supports the feature and may require a requester > > | agent that interacts with the service to use that feature. > > > > When the use of the MTOM feature is not required, it just > > means that the service supports it, which means that the > > requester agent or the provider agent may use it, depending > > on the direction of the message > > > > Your interpretations can be described with: > > > > (i) the input message description has an optional MTOM > > feature component associated with it, and the output > message doesn't. > > > > (iii) the input message description has an optional MTOM > > feature component associated with it, and the output message > > has a required MTOM feature component associated with it. > > > > If an optional MTOM feature were specified on an operation, > > both the requester and provider agent may use it. > > > > I don't believe that (ii) is describable with WSDL 2.0. It > > goes into the domain of policies, I think. > > > > Regards, > > > > Hugo > > > > 1. http://www.w3.org/TR/2004/WD-wsdl20-20040326/#Feature_details > > -- > > Hugo Haas - W3C > > mailto:hugo@w3.org - http://www.w3.org/People/Hugo/ > > > >
Received on Monday, 7 June 2004 14:25:41 UTC