Re: Describing which blobs are to be optimized.

Speaking only for myself and not the XMLP WG, my feeling is that XOP/MTOM 
are neutral on this question.  They explicitly defer to other layers the 
decision as to which elements should be optimized, what controls should be 
used to make such determination etc., with the one critical caveat that 
(of course) the data to be optimized must be in a form which is a 
canonical lexical representation of xsd:base64Decimal.  Note that, because 
XOP/MTOM/SOAP are oblivious to schema validation, I don't think we even 
prohibit optimization of an element such as:

        <e xsi:type="xsd:string">...legal base64Binary canonical lexical 
rep here...</e>

though certain such use is not particularly intended or encouraged.  In 
short, my tentative view is that the WSDL workgroup should evaluate the 
needs of its users, and should provide whatever controls if any are deemed 
appropriate. 

I would also note some personal preference for making any indications a 
hint rather than a requirement.  Insofar as all of this is intended as an 
optimization, I would think that we ultimately want to leave it to the 
implementation to decide whether on balance a given optimization is 
desirable.  Consider a tag meant to hold an image.  There is a range of 
overhead in code, data structures, and serialized bytes for creating a 
minmimal XOP part and related link.  If a particular image happens to be 
smaller than most, is it inappropriate to allow an implementation to 
decline to optimize it, even if the WSDL suggests optimziation?  In 
general, I'm a bit concerned about going down a slippery slope of 
increasing complexity in defining controls over such optimizations. 
Perhaps the right middle ground is to provide a hook that designates 
elements that are guaranteed to be in base64 canonical form, and that are 
suggested as optimization candidates?

Again, I have no strong personal feelings, except that I believe XOP and 
MTOM (as opposed to WSDL) should remain neutral as to how elements to be 
optimized are designated.

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------








"Jonathan Marsh" <jmarsh@microsoft.com>
Sent by: xml-dist-app-request@w3.org
06/04/2004 02:27 PM

 
        To:     <xml-dist-app@w3.org>
        cc:     <www-ws-desc@w3.org>, (bcc: Noah Mendelsohn/Cambridge/IBM)
        Subject:        Describing which blobs are to be optimized.



The WS Description WG is working through an issue (#207 [1]), which is
XOP-related.  As we communicated to you earlier [2], the ability of a
service to accept and transmit XOP can be indicated by indicating the
HTTP Transmission Optimization Feature is in use through the WSDL
feature syntax.  This syntax also allows the MTOM feature to be
"required", which we interpret as, the service must be sent a XOP
envelope and media type, though XOP itself doesn't constrain which parts
of the XML within that envelope have been optimized (it could be none).

A question arises ([3] continuing on [4]) that if XOP is required,
whether it further makes sense to say precisely which parts of the
message are to be optimized.  As we understand it, this allows a service
to place additional restrictions on the use of XOP beyond what the XOP
spec describes, but not leaving it completely up to the application
layer.  These additional restrictions could be along the lines of
"anything marked with an expectedMediaType attribute must be optimized",
to a fine level of granularity through an xop:optimize="true" attribute
on the schema.

The working group has a preference (straw poll 7 to 4 [5]) to indicate
in some fashion which parts must be optimized.  However, since you own
the HTTP Transmission Optimization Feature, we wanted to ask you two
questions:

1) Do you feel that such descriptive hints would be useful or is it
contrary to the expected usage patterns of XOP?
2) If it is useful, would you be willing to describe these hints,
including introducing syntax, in the MTOM or XOP specs?  (Splitting a
feature and it's descriptive hints across multiple specs seems
suboptimal to us.)

[1] http://www.w3.org/2002/ws/desc/2/06/issues.html#x207
[2] http://lists.w3.org/Archives/Public/www-ws-desc/2004May/0077.html
[3] http://lists.w3.org/Archives/Public/www-ws-desc/2004May/0089.html
[4] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jun/0000.html
[5] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jun/0019.html

Received on Friday, 4 June 2004 17:03:46 UTC