¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. XML práctico
  3. Optimización del XML: el EXI
Extrait - XML práctico Bases esenciales, conceptos y casos prácticos (2ª edición)
Extractos del libro
XML práctico Bases esenciales, conceptos y casos prácticos (2ª edición) Volver a la página de compra del libro

Optimización del XML: el EXI

El EXI

1. Presentación

El EXI (Efficient Xml Interchange) es un formato binario, resultante del cifrado de archivos XML. Aquí, la finalidad del archivo binario es la de resultar imposible de entender por un ser humano. Para poder entenderlo, se debe acudir a una aplicación que pueda convertirlo en una versión legible. La transformación realizada por esta aplicación generará un archivo XML.

El EXI se utiliza en las comunicaciones entre varios dispositivos, como ordenadores y smartphones. Es una solución eficaz para ahorrar ancho de banda durante los intercambios en la red. Este formato es perfectamente adecuado para comunicaciones hacia o desde dispositivos que requieran un ahorro de espacio en disco y de ancho de banda, como los teléfonos móviles. El formato es tan popular que el W3C ha hecho una recomendación.

2. Los inconvenientes del XML

El XML no es un formato fácil de entender. En lo que respecta a la estructura básica de un documento, no tiene mayor dificultad. Esta es la gran ventaja del XML. Es muy fácil de leer. Sin embargo, cuando se trata de trabajar en la descripción del documento, ya sea mediante la DTD o los esquemas XML, la dificultad se incrementa.

Analizar un documento (o examinarlo para procesar los datos) dependiendo del contexto puede consumir mucha memoria. Cuando se usa una biblioteca como JDom, es necesario cargar la totalidad de un documento...

Funcionamiento

En este párrafo se presenta la biblioteca OpenExi para mostrar el funcionamiento del EXI. Esta biblioteca, disponible en Java y C#, se puede descargar de la siguiente dirección: http://openexi.sourceforge.net/.

El sitio también ofrece un archivo ejecutable en Java que servirá para ilustrar el funcionamiento del formato EXI.

 Asegúrese de tener la última versión de Java instalada en su equipo o descárguela en el sitio web http://www.oracle.com.

 Inicie el archivo ejecutable de Java.

 Copie el archivo inv1000_encode.xml (que es una demostración que contiene más de 1000 líneas) en un directorio.

 Haga clic en Encode.

 Abra el directorio en el que se encuentra el archivo inv1000.xml.

Aquí ahora podemos ver un archivo binario inv1000_encode.exi de 232 KB.

El archivo inv1000.xml ocupa 939 KB.

images/7_01.png

Ejemplo de codificación con OpenEXI

A continuación, se presentan las grandes líneas del algoritmo de codificación del EXI para comprender el funcionamiento de este formato a nivel de XML.

Como lo haría un analizador SAX (Simple API for XML, que se aborda en el capítulo El protocolo SOAP y los analizadores XML), OpenEXI lee un archivo XML. Cada vez que encuentra un elemento o un atributo, este último se considera un evento.

Sólo la información importante se almacena en el archivo binario. El prólogo se sustituye por un documento de inicio o SD. Cuando se lee el último elemento, el evento ED (final del documento) se agrega al archivo codificado.

Por ejemplo, para este código XML:


<?xml version="1.0"?>   
<promoción>   
    <ámbito tipo="papelería"></ámbito >   
    <nombre>cuaderno</nombre>   ...

Conclusión

El EXI ya se utiliza mucho en el intercambio de dados entre los diferentes dispositivos informáticos que usamos en nuestra vida cotidiana. El W3C, que ha elevado al EXI al rango de recomendación, prevé un futuro brillante en el XML binario.