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
status.
[1] W3C Efficient XML Interchange http://www.w3.org/XML/EXI/
[2] XML Binary Characterization http://www.w3.org/XML/Binary/
[3] http://sdw.st/gres
[4] Current Open-EXI Apache Incubator Proposal introduction to EXI:
Abstract
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.
Proposal
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.
Background
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 disruption.
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.
Thanks,
Stephen
--
Stephen D. Williams s...@lig.net stephendwilli...@gmail.com LinkedIn:
http://sdw.st/in
V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407
AIM:sdw Skype:StephenDWilliams Yahoo:sdwlignet Resume: http://sdw.st/gres
Personal: http://sdw.st facebook.com/sdwlig twitter.com/scienteer