Visión general del servicio de mensajería web

El servicio de mensajería web es una implementación de publicación y suscripción que conecta el navegador al bus de integración de servicios de WebSphere® Application Server para el envío de sucesos del lado del servidor. La comunicación de cliente/servidor se obtiene mediante el protocolo Bayeux. El protocolo Bayeux es un protocolo de direccionamiento de mensajería basado en HTTP. Para obtener más información, consulte el sitio web de Bayeux y cometd. Dojo Toolkit proporciona el soporte de cliente del protocolo Bayeux. Actualmente, Dojo Toolkit es la única biblioteca JavaScriptTM que da soporte al protocolo Bayeux. Aunque cualquier biblioteca JavaScriptTM o cliente HTTP que implemente el soporte del protocolo Bayeux puede comunicarse con el servicio de mensajería web. La implementación del servicio de mensajería web hace de puente entre las peticiones de Bayeux entrantes y el bus de integración de servicios, y permite que los servicios Web, los clientes JMS o cualquier elemento conectado al bus de integración de servicios pueda publicar sucesos en clientes basados en Web. Puede utilizar el servicio de mensajería web en una aplicación existente o en una nueva si coloca un archivo JAR (Java archive) de tiempo de ejecución en WebSphere Application Server, coloca un archivo JAR de biblioteca de archivos de programas de utilidades en un módulo Web de la aplicación, configura un archivo de configuración simple y configura correlaciones de servlet.

Figura 1: Arquitectura general:

Diagrama general


Figura 2: Arquitectura de servidor:
Diagrama de servidor

Escalabilidad

En una aplicación típica, un navegador solicita periódicamente actualizaciones de un servidor con un intervalo o un sondeo específico. Los tipos de comunicación de protocolo Bayeux son distintos del modelo de sondeo tradicional; la comunicación se produce a través de una conexión HTTP de larga duración en la que un servidor mantiene abierta una conexión durante un tiempo a la espera de que un suceso se envíe al navegador. Con este estilo de comunicación, el contenedor Web no puede escalarse ya que cada cliente en espera consume una hebra mientras espera el suceso. Otros servidores que manejan este estilo de petición tiene distintos métodos de escalado. Como el servicio de mensajería web está diseñado para trabajar con las versiones existentes de WebSphere Application Server y el contenedor Web actual no tiene capacidad para escalar correctamente con este método de comunicación, se introduce un nuevo mecanismo en el servicio de mensajería web para garantizar la escalabilidad.

Este mecanismo aprovecha la arquitectura de infraestructura de canal y crea un nuevo canal de infraestructura de canal que amplía el canal HTTP para hacer de puente entre las peticiones Bayeux entrantes y el bus de integración de servicios.

Integración de Dojo Toolkit

El soporte de navegador actual para el servicio de mensajería web es posible gracias al módulo de cliente cometd de Dojo Toolkit. Las operaciones de inicialización, suscripción, anulación de suscripción y publicación son fáciles de ejecutar con el cliente cometd. En el cliente cometd, los sucesos controlados por servidor se integran en el sistema de temas y sucesos de Dojo. En la guía de desarrolladores Ajax y la aplicación de ejemplo QuoteStreamer, se proporcionan ejemplos de uso de cometd de Dojo.

Conectividad del bus de integración de servicios

El servicio de mensajería web conecta los clientes de navegador con el motor de mensajería incorporado y el bus de integración de servicios para la suscripción y la publicación de sucesos y la recepción mensajes. El puente subyacente con el bus de integración de servicios se realiza mediante llamadas de API directas a un espacio de temas de bus de integración de servicios. Existen varias formas de publicar mensajes en los clientes Web, ya que los clientes Web están conectados al bus de integración de servicios. Algunas de estas opciones son: publicación de Enterprise JavaBeans (EJB) estándar en un tema, publicación de clientes JMS en un tema, un servicio Web o el propio cliente Web publicando en otros clientes Web.



Condiciones de uso | Comentarios