Martin Heller
Contributing Writer

Oxymoron of the Day: Efficient XML

analysis
Jan 22, 20082 mins

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 Gro

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?

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author