Wednesday, July 25, 2007

2-way race for "The Binary Xml Standard"

Although there have been multiple viable contestants for the nomination of "the binary xml standard" (such as XBS and my personal favorite BNux), the leading candidate for the title so far has been the Fast Infoset. But now a new kid on the block, Efficient Xml Interchange (EXI), seems to be gaining momentum. Reading through the draft proposal as well as rationale for design decisions seems quite promising. Especially the fact that use of schema is optional while keeping alternatives orthogonal (same algorithm independent of whether extra schema information is used for not) looks good. There are obviously some areas for improvement (why the heck are unsigned ints included in addition to signed ones? 70s called, they want their C-types back!) but generally seems to be of "this might work" quality.

Additionally I am a big believer in competition: having 2 potentially viable standards in domain where there are so many design trade-offs to makes, and where no standard can quickly address all the concerns should be a Very Good thing. Time will tell which of the two (if either) will become more popular. But until then, I seriously hope both get enough TLC so that there are decent implementations (for FI there is fortunately already at least one good implementation).

But beyond the immediate question of binary serialization of the XML Information Set there is another important thing here: given that many binary serializations have heavy emphasis on typed data presentations, this should also help on-going efforts to provide Typed Access to the Infoset (being able to read and write underlying values as native datatypes such as ints, instead of having to always deal with textual representations). More users there would be for such APIs (like Stax extensions that are being worked on), more likely it is that there will be enough open source developers to develop high-quality implementations, and more users there will be evaluate best of the best.

At any rate, it will be interesting to see how the EXI project will proceed, and whether the format specification will both gain momentum and more importantly, whether there will be high-quality implementation(s) to make use of the specification.

Woodstox usage within Geronimo

From the latest news: it looks like Geronimo (open source Application Server) project is officially using Woodstox as its default Stax implementation: see this article. Nice! "First we take Manhattan... then we take Berlin!" (as reported earlier, Glassfish is switching to Woodstox also, and if I am not mistaken, JBoss is already using Woodstox). Maybe this is how interoperability of Stax implementations will converge to 100%... :-)

It is of course also nice to see more tutorials on Stax usage, especially when the cursor API is present along with the Event API, explaining the performance difference. But here's hoping that soon there will be more articles about intermediate or expert-level usage of Stax: by now there a few tutorials (check out reference list at the end of the aforementioned article!).

Also coming soon: I will try to find time to write something about the "Typed Stax API extensions" (see Santiago's blog for some discussion), since it will probably be the most significant new feature for Woodstox 4.0.

Related Blogs

(by Author (topics))

Powered By

About me

  • I am known as Cowtowncoder
  • Contact me
Check my profile to learn more.