Free Newsletters

  
Strategic Developer | Martin Heller » Oxymoron of the Day: Efficient XML

January 22, 2008 | Comments: (0)

Oxymoron of the Day: Efficient XML

My title is a bit unfair: "Efficient XML" does sound like a contradiction in terms, but the Efficient XML design chosen to be the basis for the proposed encoding specification by the W3C Efficient XML Interchange (EXI) Working Group is demonstrably efficient both in transmission size and in encoding and decoding speed, at least according to the authors.

The news here is a bit dated: the EXI Working Group (WG) published working drafts of 3 key EXI documents on December 19th:

  • Efficient XML Interchange Format 1.0 specification, 2nd draft: includes significant new functionality.
  • Efficient XML Interchange Primer: Describes Efficient XML for mere mortals, including useful diagrams and examples
  • Efficient XML Interchange Best Practices: Specifies best practices for e.g. maintaining backward compatibility with plain-old-XML, using Efficient XML with XML Digital Signatures, etc.

All three documents can be accessed from the EXI WG page. I would start with the Primer (obviously).

I had a long telephone conversation about this with John Schneider last week. John is both one of the members of the EXI WG, and CEO of AgileDelta Technologies; AgileDelta wrote the winning Efficient XML proposal for the EXI WG based on its own products. This is yet another case of a proprietary product opening up into a standard: I think that's a good thing.

John did a podcast with Jon Udell in October 2006. It's a wide-ranging discussion; if you don't have time for the audio, there's a transcript.

In my conversation with Schneider, he said that Efficient XML is "the data format to end all data formats," and that it was proven to be both the most compact and the least demanding (in terms of CPU for encoding and decoding) of the formats tested by the EXI WG. It has Web service plug-ins for most of the major Web service platforms (for example Apache Axis, BEA, and Microsoft .NET), and by using HTTP content negotiation it can fall back to standard XML when needed.

Efficient XML sounds like just what the doctor ordered for slow Web service connections. But I haven't played with it myself, so I'd bow to superior experience.

Have you evaluated Efficient XML or any of its competitors? Have you built services that use Efficient XML or any of its competitors? Is this a subject you'd like to hear more about?

Posted by Martin Heller on January 22, 2008 01:03 PM


RATE THIS ARTICLE:





 

  •  
  • COMMENTS




Hello,
I am a web services developer and architect working for a DoD contractor. I worked an experiment in San Diego last year where I integrated Efficient XML into both Axis and Weblogic. I have seen XML thru from its infancy and I have seen where consumers have forced the incorporation of XML in places where it was not a good fit for reasons of bandwidth, but because of "BUZZ" word compliance, we were forced to do so anyway, with less than pleasant results. The experiment that I worked with was just such a test. The test was to see how much latency was involved with delivering large amounts of SOAP/XML payloads over varying bandwidths. This was clearly a "you had to be there" experience. We saw data delivery times over bad comms go from literally hours to seconds, with the received XML validated to be exactly the same as the transmitted XML. Many times new technology requires more memory, more hard drive space, more CPU, etc, etc, and for once a technology comes along that makes old and degraded comms capable of send data like it was on gigabit. And yes, the CPU cycles was less as well. In every way, this was a win-win. I have been working lately with the new JAXB standards in Java 5 & 6, and if Agile has their stuff working with that the way they did with StAX and SAAJ, I can't wait to work with them again. The quicker this product becomes the standard, the better for all web users.

Posted by: George Turner at January 22, 2008 06:36 PM

Just a quick clarification -- creating the "binary data format to end all binary data formats" was a design objective, not a claim to fame. Its a wee bit early to be declaring victory on that one. ;-)

In essense, our objective was more than just creating something smaller and faster than XML. Rather, we set out to create a web data format that is competitive with the best hand-optimized binary data formats, but still maintains the extensibility of XML and compatibility with the rich set of XML technologies, tools and products.

At the end of the day, its all about enabling more people to tap into the thriving XML community by making XML efficient enough for even the most demanding applications.

Posted by: John Schneider at January 22, 2008 09:03 PM

I am working for a government project. I have evaluated EFX and liked it and now integrated it into our webservices. The main factor we chose this product is that the XML compression (schema-based) is way more efficient than Zip compression.
AgileDelta also provides great support on this product.

Posted by: Mingsheng Xie at January 24, 2008 10:06 AM

I was technical director of an independent technology assessment program involving the Navy, Air Force, Army and Marine Corp. We conducted extensive testing of AgileDelta's Efficient XML software in 2006 and 2007 on several different web service platforms. Our independent assessors measured aggregate data transfer speeds of 100 times faster using less than 1% the bandwidth of text XML. Individual SOAP messages ranged from 20 to 450 times smaller than XML (depending on size and content). We also tested the ability of AgileDelta's products to detect clients/servers that don't yet support Efficient XML and automatically fall back to XML as needed. This worked very well and there was no measurable delay caused by the negotiation.

We compared the size of Efficient XML messages with several other data formats, including gzipped XML and a some extremely efficient custom binary data formats. To our surprise, Efficient XML was actually smaller than everything we tried. For our SOAP message traffic, it was 10-15 *times* smaller than gzipped XML, but without any compression/decompression overhead.

NSA also provided independent assessors that looked at the impact of Efficient XML on XML security, XML gateways/guards and SAML decisions.
Again, Efficient XML worked very well and they ended up using it to eliminate some unexpected XML security bottlenecks that surfaced during the tests.

Our final report identified Efficient XML as a transformational capability and recommended it be incorporated as a standard in all our future data sharing systems.

Posted by: Harry Hunter at January 24, 2008 10:25 AM

I'm not familiar with the Efficient XML effort, but I hope that they've taken any lessons learned from the ASN.1 Encoding Rules development of many years ago.

ASN.1 and XML serve the same purpose in very similar ways but XML has won out because it is easier for humans to read and doesn't suffer from a lack of free or inexpensive tools.

Posted by: Peter Kryszak at January 25, 2008 02:11 PM

The Army has experimented with Efficient XML to solve network bandwidth constraints on strategic and tactical data at the Army Central Test Support Facility (CTSF) and the 2006 Joint Expeditionairy Forces Experiment (JEFX06). At both venues Efficient XML provided greater compression ratios and the Agile Delta support team was absolutely stellar in all faucets of assistance and integration.

At JEFX06, FCS joint interoperability was successful across Army, Air Force, Marines and Special Operations Forces (AF SOF) commands, including E-XML messages with Live Army and Air Force Live-Fly systems for Joint Close Air Support. Efficient XML achieved roughly 100:1 data compression ratios. Efficient XML achieved up to 50% transmission size reduction with JPEG image files. FCS and Army High Altitiude Balloon Combat SkySAT image transfers were 2.6 times faster with Efficient XML. The Efficient XML Army Battle Command Server Publish and Subscribe (PASS) Air Control Order (ACOs) were 76 times faster across echelon headquarters and vehicles.

These demonstrations were vital in providing large amounts of data to bandwidth constrained tactical edges for time sensitive strikes, imagery assessment and preventing fratracide.

Army FCS plans to include EXML in future venues and Army Battle Command Systems are exploring implementation of the W3C EXML standard.

Posted by: Robert Masnik at January 29, 2008 02:14 PM

Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Receive instant email notification when resources on this topic become available.
 
» BUY A LINK NOW

Sponsored Technology Links