incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Williams <>
Subject Ready to propose EXI incubator candidate
Date Fri, 03 Dec 2010 19:52:58 GMT
This is a call for a champion and mentors for an incubator project we are about to propose
formally for implementations of the 
W3C EXI specification and related technologies.  The current proposal abstract, proposal,
and background for EXI can be found at 
the end of this message for reference[4].

Some current and former members of the W3C EXI [1] / XBC [2] working groups are interested
in submitting an Apache Incubator 
proposal for EXI.  Open EXI is an existing open-source project with a partial EXI implementation
under the Apache 2.0 license.  
Another more-complete commercially-developed implementation is being released soon, also under
the Apache 2.0 license.  Further 
contributions will be made soon.

We have a proposal, to be released shortly, that seems complete with an initial set of five
committers.  We believe we now need 
a champion and nominated mentors.  I have agreed to lead this effort and would be happy to
act as a mentor if promoted to that 

[1] W3C Efficient XML Interchange
[2] XML Binary Characterization

[4] Current Open-EXI Apache Incubator Proposal introduction to EXI:


Efficient XML Interchange (EXI) is a forthcoming W3C Recommendation for compression and high
performance decompression of XML. This standard has wide applicability to all forms of XML
documents and consistently beats zip/gzip in terms of compactness. Multiple software implementations
are beginning to emerge. This work will establish a high performance open source codebase
in both Java and C++ that can immediately be used in bandwidth-limited environments and other
software applications that are not currently well served by XML. It may later may integrated
into http servers and clients.


This proposal seeks to create a project within the Apache Software Foundation to develop an
implementation of the current EXI Candidate Recommendation, and to track changes to the Candidate
Recommendation as is progresses to an approved W3C standard. The initial implementation will
be in Java, and a subsequent C++ implementation will follow. Once implemented the EXI standard
could be used in many other Apache projects, such as the web server, web services, etc.

The EXI specification is available at the EXI Working Group Public Page. A Primer on EXI is
available there, as are an evaluation of the likely impacts and best practices. An evaluation
and measurement note are available; these notes are a product of the test framework results.


Since the inception of XML, it has been noticed that a good number of data exchange application
scenarios seemed to fit the use of XML very appealing, only to find XML inhibitive given its
sometimes very costly inefficiency of inherent verbosity. Legacy applications involving data
exchange, for example, typically use non-XML data formats (e.g. ASN.1 PER) that predate XML,
are often far more efficient and in some cases hand-optimized to achieve the best performance
result. When such applications attempt to harness the numerous benefits of XML, it is not
unusual that they find XML helplessly bulky to adopt given the bandwidth constraints of the
existing communication infrastructures that were designed with the currently used format in
mind. Another example is a data-intensive mobile application for which bandwidth is at a premium
and the use of XML is not very realistic due to its substantive disadvantage at bandwidth
conservation. While there are some other use cases that address the bloated message size issue
with general-purpose compression methods such as GZip, the application of such methods unfortunately
more often than not compound the efficiency issue for those use cases aforementioned because
GZip usually degrades the processing efficiency dramatically and has little or no impact on
the message size when individual message is short.

Over the years, there have been developed numerous file formats purported to serve as alternative,
efficient representation of XML data. W3C's (World Wide Web Consortium) XBC WG (XML Binary
Characterization Working Group) in 2005 found that most, if not all of those formats are not
very general in the sense that they had been each designed to target a particular problem
domain and do not serve well use cases of other domains. In 2006, W3C launched the EXI (Efficient
XML Interchange) WG with the charter to conduct study and formulate a single alternative format
that provides utmost efficiency better than the customarily used formats (e.g. ASN.1 and GZip)
do and even competes with hand-optimized formats, with broadest coverage of use cases and
platforms including those that had not been well served by XML, and yet is compatible with
XML and integrates well with existing XML family of standards and applications without major

As of this writing, EXI is a W3C Candidate Recommendation, and is well on its way towards
becoming the W3C Recommendation around mid-2010. The status of Candidate Recommendation indicates
that W3C calls for implementations of the specification in order to foster interoperability
between various implementations before the technology becomes a W3C Recommendation.

Stephen D. Williams LinkedIn:
V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407
AIM:sdw Skype:StephenDWilliams Yahoo:sdwlignet Resume:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message