Articulo de referencia

API de Java para mensajería XML

La API de Java para mensajería XML (JAXM) permite que las aplicaciones de software distribuidas se comuniquen mediante XML (y SOAP ). JAXM admite mensajería tanto asíncrona como...

La API de Java para mensajería XML (JAXM) permite que las aplicaciones de software distribuidas se comuniquen mediante XML (y SOAP ). JAXM admite mensajería tanto asíncrona como síncrona.

JAXM es una de las API de programación XML de Java.

Descripción general

La API de Java para mensajería XML (JAXM) permite a los desarrolladores utilizar la mensajería XML mediante la plataforma Java. Los desarrolladores pueden crear y enviar mensajes XML a través de Internet utilizando la API JAXM. [ 1 ]

La siguiente figura presenta una relación conceptual entre JAXM y otros elementos arquitectónicos necesarios para la mensajería web entre empresas.

Además, la API de Java para mensajería XML tiene varias ventajas sobre la llamada a procedimiento remoto, tales como las siguientes:

  • Mensajería unidireccional (asíncrona)
  • Enrutamiento de un mensaje a más de una parte
  • Mensajería confiable con funciones como entrega garantizada.

La API JAXM completa viene con dos paquetes: [ 2 ]

  • javax.xml.soap: Este paquete contiene la API para crear y rellenar un mensaje SOAP.
  • javax.xml.messaging: Este paquete permite enviar mensajes unidireccionales a través de un proveedor de mensajería.

Mensajes

Los mensajes en JAXM son mensajes XML que siguen el formato y los estándares SOAP prescritos. Existen dos tipos principales de mensajes SOAP: los que tienen archivos adjuntos y los que no. Por ejemplo, si desea que su mensaje contenga una imagen, debe enviar un archivo adjunto con el mensaje. La API SAAJ proporciona la clase AttachmentPart para archivos adjuntos en mensajes SOAP. [ 3 ]

Conexiones

Se requiere una conexión para enviar y recibir todos los mensajes SOAP. La conexión puede dirigirse a un proveedor de mensajería o a un destino específico. [ 4 ] La API JAXM proporciona la clase y la interfaz para representar dos tipos de conexiones:

  • javax.xml.soap.SOAPConnection: una conexión del remitente directamente al receptor (una conexión punto a punto).
  • javax.xml.messaging.ProviderConnection Enlace obsoleto archivado el 13/04/2013 en archive.today —una conexión a un proveedor de mensajería

Conexión SOAP

Una SOAPConnection es una conexión punto a punto para enviar mensajes directamente a una parte remota. [ 5 ] Un objeto SOAPConnection, que representa una conexión punto a punto, es sencillo de crear y usar. No es necesario realizar ninguna configuración para usar un objeto SOAPConnection, ya que no necesita ejecutarse en un contenedor de servlets (como Tomcat) ni en un servidor J2EE. Es la única forma en que un cliente puede tener una conexión sin un proveedor de servicios. [ 6 ]

Conexión con el proveedor

Un objeto ProviderConnection representa una conexión con un proveedor de mensajería. (La siguiente sección explica con más detalle qué son los proveedores de mensajería). Cuando se envía un mensaje a través de un objeto ProviderConnection, este se dirige al proveedor de mensajería. El proveedor de mensajería reenvía el mensaje, siguiendo las instrucciones de enrutamiento del mismo, hasta que llega al proveedor de mensajería del destinatario final, quien a su vez lo reenvía a dicho destinatario. [ 7 ]

Proveedores de mensajería

Un proveedor de mensajería realiza un seguimiento de los mensajes y los enruta al destino o destinos correctos. Es un servicio que gestiona la transmisión y el enrutamiento de mensajes. [ 8 ]

Cuándo utilizar un proveedor de mensajería

Un cliente JAXM puede o no utilizar un proveedor de mensajería. Generalmente, no se necesita un proveedor de mensajería si solo se desea ser un consumidor de servicios web. Algunas limitaciones de no utilizar un proveedor de mensajería son las siguientes:

El cliente solo puede enviar mensajes de solicitud-respuesta. El cliente solo puede actuar como cliente.

Algunas ventajas de no utilizar un proveedor de mensajería son las siguientes:

  • La aplicación se puede escribir utilizando la plataforma J2SE.
  • No es necesario que la aplicación se implemente en un contenedor de servlets o en un contenedor J2EE.
  • No se requiere configuración [ 9 ]

Referencias

  1. "API de Java para mensajería XML" .
  2. "API de Java para mensajería XML" .
  3. "The Java XML Pack" . Archivado del original el 10 de mayo de 2017. Consultado el 5 de febrero de 2013 .
  4. "The Java XML Pack" . Archivado del original el 10 de mayo de 2017. Consultado el 5 de febrero de 2013 .
  5. "SOAPConnection (Java EE 5 SDK)" .
  6. "Descripción general de JAXM" .
  7. "Descripción general de JAXM" .
  8. "The Java XML Pack" . Archivado del original el 10 de mayo de 2017. Consultado el 5 de febrero de 2013 .
  9. "Descripción general de JAXM" .

Véase también

  • JSR 67: API de Java(TM) para mensajería XML
  • Especificación 1.1 de la API de Java para mensajería XML (JAXM)
  • Especificación 1.3 de la API SOAP con adjuntos para Java (SAAJ)
  • javax.xml.messaging Archivado el 4 de marzo de 2016 en Wayback Machine : este paquete está especificado en la especificación JAXM 1.1.
  • javax.xml.soap : este paquete está especificado en la especificación SAAJ 1.3.
  • Descripción general de JAXM archivada el 10 de mayo de 2017 en Wayback Machine.
  • Ejemplo de "Hola Mundo" para JAXM