Directriz: Java Messaging Service (JMS)
En esta directriz se muestra la forma en que utilizar JMS (Java Message Service), así como la forma en que diseñar y modelarlo para una aplicación J2EE.
Relaciones
Elementos relacionados
Descripción principal

Introducción

JMS (Java Message Service) sirve para proporcionar comunicación entre componentes. Las características de JMS como, por ejemplo, la comunicación síncrona y la entrega garantizada, hacen que JMS sea elegido con frecuencia para las aplicaciones empresariales. JMS también se puede utilizar para comunicaciones síncronas, pero lo habitual es utilizarlo para comunicaciones asíncronas.

Estas directrices describen cuándo utilizar JMS, cómo modelarlo así como algunas consideraciones de diseño aplicables.

Consulte la sección Concepto: Java Messaging Service (JMS) para obtener más información sobre JMS.

Modelado de JMS

Los clientes JMS se modelan como clases. El siguiente diagrama ilustra una interacción típica de un productor de mensajes para enviar mensajes con JMS. En este ejemplo se utiliza una cola como destino.

Diagrama descrito en el texto adjunto.

Un cliente JMS debe implementar la interfaz de escucha de mensajes. El proveedor JMS se asegura de que se llama al método especial onMessage siempre que llega un mensaje.

Diagrama descrito en el texto adjunto.

En el siguiente diagrama se muestra una configuración típica de un cliente consumidor de JMS.

Diagrama descrito en el texto adjunto.

Diseño de JMS

Principalmente hay dos formas de diseñar las aplicaciones JMS: punto a punto y publicación y suscripción.

En un modelo punto a punto, se utiliza JMS para entregar un mensaje a un ÚNICO cliente.

Diagrama descrito en el texto adjunto.

Los productores de mensajes se comunican con un consumidor de mensajes mediante el envío de mensajes a una cola. De forma conceptual, una cola sólo tiene un consumidor, pero muchos proveedores JMS permiten a varios consumidores para dar soporte al equilibrio de carga. Cuando se utilizan varios consumidores, uno y sólo uno de los consumidores maneja el mensaje. Los mensajes quedan retenidos en la cola hasta que son consumidos o hasta que caducan.

En un modelo de publicación y suscripción, el patrón de comunicación permite que varios productores envíen mensajes a varios consumidores. Los consumidores se suscriben a temas, y el middleware entrega los mensajes a los consumidores.

Diagrama descrito en el texto adjunto.

A diferencia del modelo de punto a punto, el modelo de publicación y suscripciónmantiene los mensajes en un tema hasta que todos los clientes lo han recibido.

Nota: desde JMS 1.1 existe la posibilidad de combinar estos dos modelos en la misma aplicación JMS.