Skip to Content.
Sympa Menu

xom-interest - Re: [XOM-interest] NUX compatibility

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: Wolfgang Hoschek <whoschek AT lbl.gov>
  • To: Elliotte Harold <elharo AT metalab.unc.edu>
  • Cc: Ryan Bayhonan <rsvp_rfb AT yahoo.com>, xom-interest AT lists.ibiblio.org
  • Subject: Re: [XOM-interest] NUX compatibility
  • Date: Mon, 31 Jan 2005 09:55:23 -0800


hi everyone.
just would like to ask if the binary serialization of
NUX can be deserialize by an application other than
NUX?

No, which is a strong argument against using any such binary serialization formats. Basically, you're throwing interoperability out the window. Data you want anybody besides yourself (or. for that matter, yourself three years down the road) to be able to use is much better served and stored in plain vanilla XML.

I think the javadoc is rather clear in that the bnux binary xml codec is neither intended for long term storage, nor for long term interop. That's mainly because it is not a "standard" binary format. Standard textual XML is much better here. So there are advantages and disadvantages here, and it's not considered the right approach for all scenarios.

Specifically the javadoc states:

The algorithm is primarily intended for tightly coupled high-performance systems exchanging large volumes of XML data over networks, as well as for compact main memory caches and for short-term storage as BLOBs in backend databases or files (e.g. "session" data with limited duration).

While the Java API is considered stable, the bnux data format should be considered a black box: Its internals are under-documented and may change without notice from release to release in backwards-incompatible manners. It is unlikely that support for reading data written with older Nux versions will ever be available. bnux is an exchange format but not an interoperability format.

This approach is expressly not intended as a replacement for standard textual XML in loosely coupled systems where maximum long-term interoperability is the overarching concern. It is also expressly not intended for long-term data storage. If you store data in bnux format there's every chance you won't be able to read it back a year or two from now, or even earlier. Finally, it is probably unwise to use this class if your application's performance requirements are not particularly stringent, or profiling indicates that the bottleneck is not related to XML serialization/deserialization anyway.





Archive powered by MHonArc 2.6.24.

Top of Page