Fast Infoset and use with scientific data
By sandoz on Jun 08, 2006
I read with interest a paper called A Binary XML for Scientific Applications:
And it concludes:
"Web services will not solve all format problems. They are a promising, widely-adopted approach, however, with an active research and development community. By unifying control and data into one framework with binary XML efforts such as BXSA, the promise of web services can be more fully realized for scientific computing."
I agree very much with the conclusions that binary XML efforts can very useful in network communication for scientific computing purposes.
However, what i do not agree with is their review of Fast Infoset:
On the contrary, i think Fast Infoset is very much suited for the needs of scientists as discussed in the paper.
Fast Infoset was standardarized jointly in the ITU-T and ISO organizations. It is true that the Fast Infoset standardization process at ITU-T and ISO does not have a public review period like the W3C, but the standard will soon be available for free at ITU-T and ISO. A disadvantage of not having a public review period does mean that information about Fast Infoset is not always obviously available. However, a search will quickly give all you need. For a clear and precise description see the Wikipedia entry.
Fast Infoset is specified using all the formal semantics of ASN.1 but a Fast Infoset implementation does not require an ASN.1 toolkit. The Fast Infoset implementation at java.net is an entirely stand alone Java-based implementation of Fast Infoset that supports the SAX, StAX and DOM APIs, and this implementation is used in our application server (and soon to be used in Glassfish).
Fast Infoset supports the direct encoding of arrays of floats and doubles as specified by IEEE 754. The Fast Infoset specification is being used by Web3D as the foundation for specifying the binary encoding of X3D constructs. X3D makes extensive use of numeric data. Fast Infoset has an extension mechanism that allows X3D to specify optimal encodings of numeric data.
Fast Infoset supports many of the properties that the BXSA format supports. It would be interesting to compare the performance of Fast Infoset with BXSA and the scientific data formats netCDF and HDF5.
An example of using Fast Infoset with arrays of Java primitive types can be found here.
I would be very interested in understanding how better to make Fast Infoset and Web services more useable to the scientific community. If you are a member of such a community and have investigated or want to investigate Fast Infoset or binary XML in general then feel free to drop me an email.