Mark Fussell on Binary XML


Mark Fussell, currently working on WSE, let’s loose on the W3C work on binary XML.

Mark makes some good points.  A few points of mine:

I realize that you could trivially come up with a binary format that could replace XML, but then you need to get everyone to buyoff on it and ship implementations.  I think the time is better spent on some transport efficiencies like MTOM and GZIP’ed HTTP bodies.

By the way, I don’t see anyone screaming for coming up with a binary HTML replacement which is arguably just as inefficient as XML.

And finally, XML is not successful because it is easily read by people…it is successful because it is easy to write code that parses it.  That’s why there were so many XML implementations so quickly.  It may seem a lot easier to parse a binary format, but if the engines are already out there to work with what we have, then why are we worried about it.

   -Matt

Comments (5)

  1. Pankaj Patel says:

    The next step will be to make Binary XML instruction processor hardware chip and associated architecture. XML is not going away anytime soon. Processors have language and XML is the language waiting for the processor to be invented.

  2. Bill King says:

    If I understand correctly, Microsoft has positioned Web services to replace DCOM. DCOM has a lot of problems, but it is extremely efficient at passing lots of packets of large amounts of data – and it is efficient because the data is binary. If the same data is to be passed and explained using XML, the data (as well as the overhead to parse and interpret the data) will be quite large.
    <br>
    <br>For this reason, binary XML may have some future potential.

  3. What about Wireless devices; pda’s, cell phones? Wouldn’t a binary format increase their performance? Wireless is all the jazz, this is the only implementation I could think of that would benefit from a binary format right now. If the wireless world could make use of trimming the fat xml footprints and we could agree on a standard, couldn’t it be a better way in the long run?
    <br>
    <br>Thoughts?

  4. William says:

    IMO, binary XML is not about me or you parsing it. The framework will parse it. It is about a level *under your xml as tcp is under your sockets. You don’t parse IP or TCP, so you don’t need to parse binary xml. The binary xml will be deflated to normal string xml so you don’t know the difference. It should just reduce the fat wire format of string xml but allow me to deserialize into a class from binary like I can today with XmlSerializer using strings. For small soap bodies, this may not buy us anything. However, if you have millions of soap requests and responses with XML, think of all the redundant strings and bandwidth your wasting? Could be some real savings. Now multiply that by all the folks who use or will use XML…



    William Stacey [MVP]