JiBX

RECU-0233 (Recurso Ficha Técnica)

Descripción

Introducción

Es un framework de libre distribución que permite trabajar con datos desde documentos XML usando nuestras propias estructuras de clases. JiBX maneja todo lo referente a la conversión de datos en XML y viceversa basándose en nuestras instrucciones. las principales características de esta herramienta:

  • Flexibilidad: puedes usar la estructura de clases que prefieras, así como puedes indicar cómo traducirla a XML y viceversa. Es interesante realizar el mapeo de forma manual, porque de esta manera aseguramos el correcto tratamiento de los datos y el formato que deseamos en al transformación. Si se utiliza un interprete automático se corre el riesgo de una transformación inadecuada.
  • Rendimiento: el parseo y las técnicas de mejora de los ficheros class permiten a JiBX construir código de marshalling y unmarshalling de alto rendimiento partiendo directamente de sus clases.
  • Código limpio: nosotros escribimos el código y JiBX trabaja con él, y no al revés.

La herramienta esta diseñada para hacer traslaciones de la estructura de código JAVA a formato XML. Para llevar a cabo este proceso, se han de definir mediante reglas como han de ser transformados los objetos Java en XML o en la definir la transformación inversa. Provee de un alto control sobre el proceso de transformación. El proceso es el siguiente:

  1. Compilar nuestro código, obteniendo los ficheros .class
  2. Se ejecuta el Binding Compiler del framework que produce una mejora en las clases compiladas añadiendo código para controlar la transformación de las instancias de clases a XML o viceversa.
  3. Se ejecuta le compilador y se realiza el despliegue habitual de la aplicación
  4. Se ejecuta el binding runtime, y los ficheros .class son mejorados para construir objetos desde un documento XML de entrada o para generar documentos XML de salida partiendo de objetos. Si existe un documento de entrada, se usa un parseador para interpretarlo, mientras que la conversión inversa es de ejecución autocontenida.

Usos y recomendaciones conocidas

  • Se usa en el framework AME de Endesa.
  • IBM recomienda su uso

Ventajas e inconvenientes

Como Ventajas:

  • Es muy flexible, se crea a partir de reglas de traslación
  • Está diseñado para llevar a cabo la traducción entre las estructuras internas de datos y el XML con una eficacia muy alta, así como permite un alto grado de control sobre el proceso de conversión.
  • Esta considerado como el el framework de Data Binding XML para Java, más rápido.
  • Dada su flexibilidad difiere de otros Data Binding XML, no se crean a partir uno del otro si no que se mapea en base a reglas. Este concepto lo acerca firmemente a la arquitectura orientada a servicios.

Como Desventajas

  • Se recomienda hacer los mapeos a mano en vez de utilizar la herramienta XSD2JiBX, ya que se trata de un componente que carece de mantenimiento y se ha quedado anticuado desde hace tiempo, en espera de que la empresa cumpla su promesa de crear algo que la sustituya.

Requisitos e incompatibilidades

  • Existe un plugin para su integración con Eclipse
  • Se puede incluir en Ant y Maven
  • Se basa en la especificación JSR-222 (JAXB 2.0) y JSR-224 (JAX-RPC 2.0).
  • Soporta Xerces 2.2 (SAX).
  • Soportado por Axis 2.