API's recomendadas para la serialización del XML

PAUT-0044 (Pauta)

MADEJA recomienda el uso de las librerías JIBX y Xstream para los proceso de serialización que sean necesarios

La serialización consiste en un proceso de codificación de un Objeto (programación orientada a objetos) en un medio de almacenamiento (como puede ser un archivo, o un buffer de memoria) con el fin de transmitirlo a través de una conexión en red como una serie de bytes o en un formato humanamente más legible como XML o JSON, entre otros.

La serie de bytes o el formato pueden ser usados para crear un nuevo objeto que es idéntico en todo al original, incluido su estado interno (por tanto, el nuevo objeto es un clon del original).

La serialización es un mecanismo ampliamente usado para transportar objetos a través de una red, para hacer persistente un objeto en un archivo o base de datos, o para distribuir objetos idénticos a varias aplicaciones o localizaciones. EL XML es un formato estándar de documentos basados en texto para almacenar datos legibles para aplicaciones que proporciona un fácil procesamiento. 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.

Las principales características de ambos:

JIBX

  • 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.

XStream

  • Se caracteriza por su eficiencia y simplicidad de uso, generando documentos XML relativamente legibles.
  • Los objetos Java no requieren ningún tipo de adaptación ni modificación para poder ser serializados empleando XStream, por lo que su uso no es intrusivo.
  • Es capaz de integrarse con otras APIs para el procesado y manejo de documentos XML.

Contenidos relacionados

Recursos
Área: Desarrollo » Aplicaciones Java » Librerías y Utilidades para Aplicaciones Java
Código Título Tipo Carácter
RECU-0232 XStream Ficha Técnica Recomendado
RECU-0233 JiBX Ficha Técnica Recomendado