Fast Infoset

Fast Infoset

Fast Infoset (or FI) is an international standard that specifies a binary encoding format for the XML Information Set ("XML Infoset") as an alternative to the XML document format. It aims to provide more efficient serialization than the text-based XML format.

One can think of FI as "gzip" for XML, though FI aims to optimize both document size and processing performance, whereas gzip optimizes only the size. While the original formatting is lost, no information is lost in the conversion from XML to FI and back to XML.

The Fast Infoset specification is defined by both the ITU-T and the ISO standards bodies. FI is officially named "ITU-T Rec. X.891" and "ISO/IEC 24824-1 (Fast Infoset)," respectively. However, it is commonly referred to by the name "Fast Infoset". The standard was published by ITU-T on May 14, 2005, and by ISO on May 4, 2007.

The Fast Infoset standard can be downloaded for free from the ITU website at [http://www.itu.int/rec/T-REC-X.891-200505-I/en] . There are no intellectual property restrictions on its implementation and use.

A common misconception is that FI requires ASN.1 tool support. Although the formal specification uses ASN.1 formalisms, ASN.1 tools are not required by implementations.

Implementations

Reference Implementation

A [https://fi.dev.java.net/ Java implementation] of the FI specification is available as part of the GlassFish project. The library is open source and is distributed under the terms of the Apache License 2.0. Several projects use this implementation, including the reference implementation for JAX-RPC and JAX-WS used in JWSDP.

Alternative Implementations

The [http://www.oss.com/xml/products/fi.html OSS Fast Infoset Tools] are designed for use with applications written in C or C++.

[http://www.liquid-technologies.com/Product_XmlCompression.aspx Liquid Technologies] provides both C++ and C# .NET implementations of Fast Infoset with its XML Data Binding product Liquid XML.

[http://fastinfoset.net/ FastInfoset.NET] is a C# implementation for the .NET Framework. It is licensed under a proprietary licence.

Performance

In addition to a significant reduction in document size of Fast Infoset with respect to standard XML 1.0, SAX-type parsing performance of Fast Infoset is much greater than parsing performance of XML 1.0. Typical increases in parsing speed observed for the reference Java implementation are a factor of 10 compared to Java Xerces, and a factor of 4 compared to the [http://piccolo.sourceforge.net/ Piccolo driver] (one of the fastest Java-based XML parsers). [cite web
url=https://fi.dev.java.net/performance.html
title=Fast Infoset performance reports
date=2005-10-06
accessdate=2007-10-11
] [cite web
url=https://fi.dev.java.net/reports/parsing/report.html
title=Japex Report: ParsingPerformance
date=2005-01-10
accessdate=2007-10-11
] [cite web
url=https://fi.dev.java.net/reports/size/report.html
title=Japex Report: SizePerformance
date=2005-01-10
accessdate=2007-10-11
] However, the parsing performance building DOM [http://webservices.sys-con.com/read/250512.htm The performance woe of binary XML ] (needed for doing transformation and repetitive random access) remains a challenge.

Typical Applications

Portable Devices - With mobile devices typically having access to low bandwidth data connections, and have slower CPUs. This can make Fast Infoset a better choice, lowering both data transmission and data processing times.

Persisting Large Volumes of Data - When persisting XML either to file or a database, the volume of data your system produces can often get out of hand. This has a number of detrimental effects; the access times go up as you're reading more data, CPU load goes up as XML data takes more effort to process, and your storage costs go up. By persisting your XML data in Fast Infoset format, you can reduce your data volume by up to 80 percent.

Passing XML via the internet - As soon as an application starts passing information over the internet, one of the main bottlenecks is bandwidth. If you send reasonable chunks of data, this bottleneck can seriously degrade the performance of your client applications and limit your server's ability to process requests. By reducing the amount of data moving across the internet, you can reduce the time it takes a message to be sent or received, while increasing the number of transactions your server can process per hour.

ee also

* Binary XML
* EXI

References

External links

* [http://www.itu.int/rec/T-REC-X.891-200505-I/en Free public download of the Fast Infoset standard]
* [http://asn1.elibel.tm.fr/xml/finf.htm Fast Infoset page at the ASN.1 site]
* [http://asn1.elibel.tm.fr/xml/example-of-Fast-Infoset-for-UBL.htm Examples of encoding XML infosets as Fast Infoset documents]
* [http://fi.dev.java.net/ FI project home page]
* [http://www.fastinfoset.net/ FastInfoset.NET home page]
* [http://www.oss.com/xml/products/fi.html OSS Fast Infoset Tools page]
* [http://www.liquid-technologies.com/Product_XmlCompression.aspx C# and C++ Fast Infoset implementation]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Fast Infoset — (ou FI) spécifie un XML binarisé, c est à dire un format de codage binaire pour l ensemble des informations XML (XML Infoset (en)) comme alternative au format de document XML. Il souhaite fournir une sérialisation plus efficace que le XML… …   Wikipédia en Français

  • XML — Infobox file format name = Extensible Markup Language icon = logo = extension = .xml mime = application/xml, text/xml (deprecated) type code = uniform type = public.xml magic = owner = World Wide Web Consortium genre = Markup language container… …   Wikipedia

  • Liquid Technologies — [ [http://www.liquid technologies.com Liquid Technolgies] ] . is a software company specializing in the development of XML tools.The company was founded in 2000 by Simon Sprott and Andrew Farrell.ProductsLiquid XML Data BindingLiquid XML Data… …   Wikipedia

  • Binary XML — For information on the generalized binary file format, see Extensible Binary Meta Language. Binary XML, or Binary Extensible Markup Language, refers to any specification which defines the compact representation of XML in a binary format. While… …   Wikipedia

  • XML binarise — XML binarisé For information on the generalized binary file format, see Extensible Binary Meta Language. Le Binary XML, ou Binary Extensible Markup Language est un format de fichier XML binarisé. Il fait référence à toute spécification qui essaye …   Wikipédia en Français

  • XML binarisé — For information on the generalized binary file format, see Extensible Binary Meta Language. Le Binary XML, ou Binary Extensible Markup Language est un format de fichier XML binarisé. Il fait référence à toute spécification qui essaye de coder un… …   Wikipédia en Français

  • Xml binarisé — For information on the generalized binary file format, see Extensible Binary Meta Language. Le Binary XML, ou Binary Extensible Markup Language est un format de fichier XML binarisé. Il fait référence à toute spécification qui essaye de coder un… …   Wikipédia en Français

  • Java Web Services Development Pack — The Java Web Services Development Pack (JWSDP) is a free software development kit (SDK) for developing Web Services, Web applications and Java applications with the newest technologies for Java.JWSDP has been… …   Wikipedia

  • Efficient XML Interchange — (EXI) is a proposed data format from the Efficient XML Interchange Working Group of the World Wide Web Consortium (W3C). It is one of the various efforts to encode XML documents in a binary data format, rather than plain text.Using a binary XML… …   Wikipedia

  • Efficient XML Interchange — (EXI) Dateiendung: .exi MIME Type: application/exi (proposed) Magische Zahl …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”