It sounds to me like somebody is trying to use Microsoft's public
skepticism about EXI (Efficient XML Interchange) for some purpose or another
that is hard to guess at without knowing who is doing the off-the-record
whispering. I assume the event 4 years ago was the W3C workshop on
binary XML, and the rival compression "standard" is the internal format
that WCF can use to communicate with other WCF implementations.
I've been close to this discussion within Microsoft for some
time. We have been quite transparent all along. Here's what I understand
our collective impression of EXI and other binary XML efforts to be:
- XML text is admittedly inefficient for certain scenarios, such as high
volume web services messages. We, and many others, have looked at a
variety of ways to alleviate that situation. Bottom line, however, is that XML
1.0 text is the format of choice when interoperability concerns are paramount,
and we're leery of diluting that message by supposed improvements such as XML
1.1, EXI, etc.
- We and others use a variety of binary XML formats for optimizing
internal communication channels, e.g. between WCF nodes and between SQL Server
clients and servers. These are optimized for very different purposes -
the WCF one only has to deal with SOAP messages, and the SQL one is
essentially a fast dump of an internal data structure. There have been
internal efforts to see if a single internal binary XML format would suffice,
and they always conclude that it won't. Thus, we have been extremely
skeptical of the W3C effort to find a one-size-fits-all binary XML standard,
and have not joined the XBC or EXI working groups.
- None of the binary XML formats we've seen greatly reduce the bandwidth
or processor burden of XML in general. If you have a very specific
scenario, you can get some good results, but those same techniques seldom
carry over to other scenarios. Likewise our internal formats are
not particularly better than those of other platform vendors with
proprietary binary XML formats, they are just optimized for our platform
and our customer scenarios. Standardizing them would serve little
purpose, so
- We're keeping an open mind, however, and looking at the EXI
working draft and the measurements note. My personal impression from
spending a day or so on this is that the spec is technically quite impressive,
but that comes at a very high cost in complexity and the need for some
out-of-band schema interchange to get the most impressive results.
- We have no a priori position on whether EXI should advance to a W3C
Recommendation or not. What we want to see is the questions raised by
the TAG
http://lists.w3.org/Archives/Public/public-xml-binary/2005May/0000.html answered.
I personally am not able to extract these answers from the EXI measurements
note, and the TAG hasn't show much inclination yet to revisit this
question, so I have no idea what will happen next.
- If a W3C Recommendation emerges and/or there is
customer demand (or, ahem, de jure government demand) to support
interoperability on the basis of EXI (or ITU FastInfoset, an existing binary
XML standard), we'd be able to support it in the .NET architecture. We
haven't yet seen that demand, and the other major platform vendors don't seem
to be any more excited about meeting that hypothetical demand than we
are.
Again, this is my personal understanding, not some official MS
position.