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.
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.
En el siguiente diagrama se muestra una configuración típica de un cliente consumidor de JMS.
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.
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.
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.
|