Skip to main content

Simple, Fast, no-Loss binary XML - Fast Infoset

Posted by pelegri on June 4, 2004 at 8:13 AM PDT

XML has some very nice properties, but the textual encoding is verbose. That is not a problem in many applications, but it is a real issue in some others, specially when dealing with large documents
that are transmitted across a slow communication link, or when many of them are sent. For instance,
traditional Web Services are sent encoded as textual XML over HTTP; as WS are being adopted
more and more widely, I believe deployers will expect efficiencies comparable to RMI.

There have been a number of attempts to address this problem by using some sort of binary encoding of XML. But the benefits of the approaches have not been researched carefully, and the lack of a standard has indered their adoption. I've been involved in a group that investigated this problem some time ago; the explicit goal was to match RMI-performance using WS interfaces and we discovered that if we exploited the type (schema) information in the WSDL we got very close to that goal. We coined the approach
Fast Web Services
and the approach is being standarized in ISO/ITU-T.

Fast Web Services relies on Schema information, but in some applications the Schema is not available (or even when we have a Schema information, whenever type Any appears), so some complementary solution is needed. Also Fast Web Services does not preserve the XML infoset - think of "sending the content, not the form" - while in many applications that is key. Both requirements are addressed by a technology we call Fast Infoset. The solution has good performance characteristics and is not hard to implement, and Fast Infoset is also being standarized at ISO/ITU-T.

One way to think of Fast Infoset is as a GZIPed XML. It has the same property that you only need to know it is encoded to recover the original. The main difference is that Fast Infoset is customized for XML and leads to better encoding and decoding times. Check out the article by Paul, Alessandro and Santiago to get all the details.

I believe that both Fast Infoset and Fast WebServices are useful; we will find out how much when the standards are finalized later this year and we start seing implementations. There is also a W3C Working Group in XML Binary Characterization that will consider the role of this and other technologies.

Related Topics >>