Search This Blog

Friday, September 21, 2007

Boost Web Service Performance in JAX-WS with Fast Infoset

XML message transmission and processing are at the foundation of the
web service programming model. To effectively improve web service
performance, you need to reduce the overhead associated with parsing,
serializing, and transmitting XML-based data. Fast Infoset is an
open, standards-based solution for doing just that. It specifies
several techniques for minimizing the size of XML encodings and
maximizing the speed of creating and processing those encodings.
Using these techniques, you can tune Fast Infoset encoding according
to your specific domain requirements, whether that means favoring
compression over processing performance or requiring efficient
compression but not at the expense of processing performance. In
general, Fast Infoset documents are smaller and therefore faster to
process than corresponding XML representations. As such, they can
be very useful when the size and processing time of XML documents
are a concern. For an example, the W3C's XML Binary Characterization
Working Group has identified two such use cases: (1) Web services
for small devices that have bandwidth constraints, and (2) Web
services within an enterprise that has high throughput requirements.
This article introduces Fast Infoset, demonstrates it in an example
based on the reference implementation of JAX-WS, and presents some
empirical data comparing the effects of Fast Infoset and MTOM/XOP
(another technology for optimizing XML data transmission and
processing) on web service performance. Fast Infoset is on its way
to being widely supported in various platforms and frameworks such
as Microsoft .NET and .NET CF, Sun GlassFish, BEA WebLogic, IBM SDK
for Java 6.0, and TMax Soft JEUS 6, as well as in the Linux, Solaris,
and Win32 operating systems, where Fast Infoset support in JAX-WS
is based on the FI project at java.net. Developers -- particularly
those in the SOA domain -- should explore this promising technology
and learn how they can work more efficiently with XML to deliver
high-performing web services.

1 comment:

Unknown said...

The W3C has done quite a bit more than identify use cases for binary XML. They are standardizing a single binary XML format for the web [1].

As part of this effort, the W3C completed an extensive analysis of candidate formats [2], benchmarking compactness, encode speed, decode speed, etc. Fast Infoset was one of the candidates evaluated, but it didn't achieve the compactness required for several of the W3C use cases and was not selected.

The binary XML format the W3C selected is called Efficient XML [3]. It was one of the fastest technologies tested and consistently achieved the best compactness on every test group, every use case and every class of applications. There was nothing else quite like it.

Efficient XML 3.0, which implements the draft Efficient XML Interchange standard published by the W3C [4], was just released. Those interested in checking it out can download a free eval of the software from http://www.agiledelta.com/efx_download.html.

Enjoy!,

John

[1] http://www.w3.org/XML/EXI/
[2] http://www.w3.org/TR/2007/WD-exi-measurements-20070725/
[3] http://www.agiledelta.com/product_efx.html
[4] http://www.w3.org/TR/2007/WD-exi-20070716/