- From: John J. Barton <John_Barton@hpl.hp.com>
- Date: Fri, 28 Feb 2003 10:01:09 -0800
- To: rayw@netscape.com (Ray Whitmer)
- Cc: Don Box <dbox@microsoft.com>, xml-dist-app@w3.org
Ray,
Sorry I wasn't clear. I certainly don't believe that XML needs to
do anything about a universal object model. I was only agreeing with
Box et al that mechanisms to work with a mixture of XML and binary
are not limited to SOAP.
If I am an application writer and I am writing code to traverse
through the
data structure returned by parsing XML, then I will encounter some
references to non-XML data. Surely this must be true! It happens for
HTML all the time, with references to GIF and JPEG. I don't know how XML's
open nature could be violated by referencing non-XML data. And if the tools
cannot handle references to binary then what are they good for?
We should have a standard that allows a sender to combine XML with some
non-XML data in a way that a receiver can parse the XML and access the
non-XML data. It shouldn't matter if the XML is SOAP or not.
John.
At 08:44 AM 2/28/2003 -0800, Ray Whitmer wrote:
>John J. Barton wrote:
>
>>
>>Don,
>>
>> Your note is nicely written and in one critical regard I agree with
>> you 100%:
>>binary data is not a SOAP issue but an issue for XML to solve generally.
>
>Why XML? That was not the purpose of XML -- to be a universal object
>model. XML has the use of URIs to reference things. XML or its
>predacessors was never designed to be a universal envelope, there are
>obvious reasons why it should not be one, and if SOAP designers wanted to
>design for that, they should have chosen another envelope format that is
>designed to deal with binary data.
>
>There is no good reason to place large binary data into the infoset
>representation, such as DOM. Placing very small binary data into the
>infoset, while not a performance concern, still violates the open nature
>and structure of XML. It is clear that it serves the purposes of anyone
>who wants to wrap proprietary binary structure and call it open XML.
>Referencing from a binary envelope clarifies this seperation, and a binary
>envelope would have been a better choice for the SOAP envelope for those
>who want to transmit binary data for a number of reasons which have been
>expressed repeatedly. When it was brought up, the argument was that SOAP
>with attachments was somehow a much superior design for transmitting
>data. Big suprise that now we discover it is not and has problems.
>
>Placing huge binary data into the XML, by breaking the model and
>associated tools, defeats the stated purposes for using XML in the first
>place making it unreasonable to use many XML tools and processing models
>on it. XML features, standardized tools such as DOM, processing models,
>and so on are far from ideal for dealing with large binary data that is
>encapsulated. If it is not encapsulated, then it is not an XML issue,
>since URIs tie XML to whatever else it may be.
>
>It is now not a SOAP issue because the SOAP standard refused to deal with
>it, limiting it's scope of applicability itself in the process. Once the
>spec reached W3C under the name of XML Protocol, attempts to fix this
>fundamental problem at the SOAP envelope level were ruled out of
>scope. If the original SOAP designers left it out because they thought it
>should go in the XML, IMO it is another clear sign that they misunderstood
>XML and the surrounding tools.
>
>Thus, we get SOAP with attachments, which adds another layer to drill down
>through and complicate the organization, optimization, and perhaps make
>it difficult to deploy existing tools for SOAP.
>
>> Extending XInclude as the way to specify the connection between XML and
>>binary data would be close to SwA. That is, an XML document using XInclude
>>would look quite a bit like the SwA XML. If extending XInclude makes a
>>specification easier, great, but I don't see that it changes the problem
>>all that
>>much.
>>
>> Specifically you still have to come up with a wire format
>> standard. You say that you
>>can have "multiple serialization formats, effectively unifying multiple
>>messaging technologies",
>>but that cannot be true. Multiple serialization formats means
>>fragmentation in
>>an open system, not unification. W3C has to pick one, not punt.
>
>I agree with this 100%. SOAP was the specification that should have
>picked one, because that is where the deficiency is. If W3C picks one, it
>will I hope be for the SOAP specification, and I hope it does not mandate
>encapsulation inside of XML, which is generally counter to the purposes of
>markup languages. W3C had an activity for envelopes, which was
>abandoned. You really gain nothing by making the envelope be XML. Even
>MIME is a much better envelope than XML, and you might instead choose ZIP,
>etc. depending upon the anticipated needs.
>
>> And I cannot understand what possible value one can derive from you
>> last point:
>>"Finally (and perhaps most importantly), ALL SOAP messages can be
>>represented in
>>pure text". What does "pure text" mean? 16 bit Unicode? So what? Is
>>this any
>>more significant than saying its "pure binary"? If I attach an image to a
>>SOAP message
>>and send it to you, what pure-text processing can you do to the mixed
>>message?
>
>If it is 16-bit Unicode (aka UTF-16), then the article was completely
>wrong when it claimed that it was such an efficient mechanism, because an
>extra 8 bits are wasted.
>
>> I want to reiterate that the application developer will see a unified
>> DOM no matter
>>what is done with XML/binary mixing at the messaging layer. The API they use
>>will have do deal with binary because the bits are not text.
>
>The proper model which exposes this will need to be a unified Web Message
>Object Model. It is not a Document Object Model, or even a SOAP Object
>Model, because it goes beyond where these two specifications define
>themselves to stop -- at the infoset, just as a SOAP with Attachments
>model based on MIME or DIME goes way beyond the infoset.
>
>Ray Whitmer
>rayw@netscape.com
______________________________________________________
John J. Barton email: John_Barton@hpl.hp.com
http://www.hpl.hp.com/personal/John_Barton/index.htm
MS 1U-17 Hewlett-Packard Labs
1501 Page Mill Road phone: (650)-236-2888
Palo Alto CA 94304-1126 FAX: (650)-857-5100
Received on Friday, 28 February 2003 13:01:24 UTC