Fast Infoset
# Fast Infoset

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 basé sur du texte.

On pourrait penser que FI est comme gzip pour XML, alors que FI vise à optimiser à la fois la taille du document et les performances de traitement, alors que gzip n’optimise que la taille. Même si le format original est perdu, le passage de XML à FI et vice-versa se fait à iso-information.

La spécification du Fast Infoset est définie à la fois par l'ITU-T et les corps de standards de l’ISO (organisation internationale de normalisation). FI est officiellement appelé ITU-T Rec. X.891 et ISO/IEC 24824-1 (Fast Infoset), respectivement. Cependant, il est souvent connu (en anglais) comme Fast Infoset. L’ITU-T a approuvé/validé le standard le 14 mai 2005. ISO initia la publication le 30 mars 2007.

Un malentendu fréquent est que FI nécessite ASN.1. Bien que la description formelle utilise les formalismes ASN.1, ASN.1 n'est pas requis pour les implémentations.

## Mises en œuvre

### Étalon de référence

Une mise en œuvre en Java de spécification de FI est disponible dans le projet GlassFish. La bibliothèque est libre et est distribuée sous les termes de la licence Apache 2.0. Plusieurs projets utilisent cette implémentation, y compris la mise en œuvre de référence de JAX-RPC et de JAX-WS utilisé(s) dans JWSDP.

### Mises en œuvre alternatives

FastInfoset.NET est une implémentation en C# pour la plateforme .NET Framework. Il était disponible sous licence duale, disponible sous la licence libre LGPL et sous licence commerciale, mais il ne reste plus maintenant que l’option commerciale.

Les OSS Fast Infoset Tools sont conçus pour être utilisés par les applications écrites en langage C ou C++.

## Performance

Les performances de Parsing de FastInfoset sont bien meilleures que pour du XML antérieur, à la fois pour la vitesse de l'analyse et pour la taille (facteur 10 pour la mise en œuvre java comparé à Xerces Java, facteur 4 en comparant à Piccolo driver, l'un des plus rapides analyseur XML en $Java)^,.$

