Cómo se conectan las aplicaciones JMS a un motor de mensajería de un bus

Existen varios factores que afectan al modo como las aplicaciones JMS se conectan a un bus de integración de servicios para que puedan utilizar los recursos proporcionados por el bus.

Para conectarse a un bus de integración de servicios, una aplicación se conecta a un motor de mensajería del bus.

De forma predeterminada, el entorno conecta automáticamente aplicaciones a un motor de mensajería disponible en el bus. Sin embargo, puede especificar información detallada de configuración adicional para influir en el proceso de conexión. Por ejemplo, para identificar los servidores de rutina de carga especiales o para limitar la conexión con un subgrupo de motores de mensajería disponibles, o mejorar la disponibilidad o el rendimiento o para garantizar el proceso secuencias de los mensajes recibidos.

Aplicaciones que se ejecutan en un servidor de aplicaciones: Configuración predeterminada

El entorno de WebSphere Application Server dirige las aplicaciones que se ejecutan en un servidor de aplicaciones a un motor de mensajería disponible.

Si el motor de mensajería se encuentra en el mismo servidor, se crea una conexión que proporciona a la aplicación la conexión más rápida disponible con un motor de mensajería. De lo contrario, si el motor de mensajería se encuentra en otro proceso, en el mismo host o en uno diferente, se efectúa una conexión remota. Si no se encuentra un motor de mensajería adecuado la aplicación no puede conectarse al bus.

Figura 1. Conexión predeterminada con un motor de mensajería: Aplicaciones que se ejecutan en un servidor de aplicaciones Esta figura se describe en el texto que la rodea.

La figura muestra dos aplicaciones que se ejecutan en servidores de aplicaciones. La aplicación X, en server3, se ha conectado al motor de mensajería que se ejecuta en el mismo servidor. La aplicación Y, situada en server1, se ha conectado al motor de mensajería que se ejecuta en el mismo bus pero en un servidor y host distinto, porque server1 no tiene un motor de mensajería adecuado.

Aplicaciones que se ejecutan fuera de un servidor de aplicaciones

Las aplicaciones cliente que se ejecutan fuera de un servidor de aplicaciones (por ejemplo, se ejecuta en un contenedor de cliente o fuera del entorno WebSphere Application Server) no pueden localizar por su cuente un motor de mensajería idóneo y deben completar un proceso de rutina de carga a través de un servidor de rutina de carga. Un servidor de rutina de carga es un servidor de aplicaciones que ejecuta el servicio SIBService, pero no ejecuta necesariamente un motor de mensajería. El servidor de rutina de carga selecciona un motor de mensajería que se ejecuta en un servidor de aplicaciones que da soporte a la cadena de transporte de destino necesaria.

Figura 2. Conexión con un motor de mensajería: Aplicaciones que se ejecutan fuera de un servidor de aplicacionesEsta figura se describe en el texto que la rodea.

Esta figura muestra una aplicación cliente que se ejecuta fuera de un servidor de aplicaciones. Para conectar con un motor de mensajería, la aplicación se conecta en primer lugar a un servidor de rutina de carga. El servidor de rutina de carga selecciona un motor de mensajería e indica a la aplicación cliente que se conecte con el motor de mensajería.

Un servidor de rutina de carga utiliza un puerto y una cadena de transporte de rutina de carga específicas con las que se forma la dirección de punto final del nombre de host del servidor de rutina de carga.

Las propiedades de una fábrica de conexiones JMS que utiliza una aplicación cliente controlan que se seleccione un motor de mensajería adecuado y el modo en que el cliente se conecta con el motor de mensajería seleccionado. De forma predeterminada,una fábrica de conexiones espera utilizar un servidor de rutina de carga con una dirección de punto final de este tipo localhost:7276:BootstrapBasicMessaging. En otras palabras, la aplicación cliente espera utilizar un servidor de rutina de carga que esté en el mismo host que el cliente y que utilice el puerto 7276 y la cadena de transporte de rutina de carga predefinida denominada BootstrapBasicMessaging.
[IBM i]Nota: Para la plataforma IBM® i, debe (como mínimo) cambiar la dirección del punto final predeterminada de localhost:7276:BootstrapBasicMessaging a su.nombre.servidor:7276:BootstrapBasicMessaging.

Cuando crea un servidor de aplicaciones, se asigna automáticamente un puerto de rutina de carga no seguro exclusivo, SIB_ENDPOINT_ADDRESS, y un puerto de rutina de carga seguro, SIB_ENDPOINT_SECURE_ADDRESS. Si desea utilizar un servidor de aplicaciones como servidor de rutina de carga y se ha asignado al servidor un puerto no seguro distinto a 7276 o si desea utilizar el puerto seguro, entonces tiene que especificar la dirección de punto final del servidor de la propiedad de puntos finales de proveedor de la fábrica de conexiones.

Las direcciones de punto final de los servidores de rutina de carga se deben especificar en cada fábrica de conexiones que utilizan las aplicaciones fuera de un servidor de aplicaciones. Para no tener que especificar una lista larga de servidores de rutina de carga, puede proporcionar algunos servidores de alta disponibilidad como servidores de rutina de carga dedicados. A continuación, sólo tiene que especificar una lista corta de servidores de rutina de carga en cada fábrica de conexiones.

El proceso de selección del motor de mensajería

El proceso de selección se utiliza para seleccionar un motor de mensajería al que debe conectarse una aplicación para poder utilizar los recursos de un bus de integración de servicios. La información que controla el proceso de selección se configura en uno de los siguientes lugares:
  • Para las aplicaciones cliente JMS, esta información se configura en la fábrica de conexiones.
  • Para las aplicaciones de beans controlados por mensajes (MDB), esta información se configura en la especificación de activación.
  • Para otros tipos de aplicación, esta información la configura la aplicación mediante programa.
Aunque de puede establecer una conexión con cualquier motor de mensajería disponible, el proceso de conexión aplica algunas reglas sencillas para encontrar el motor de mensajería más adecuado. Para una aplicación que se ejecuta en un servidor de aplicaciones, el proceso es el siguiente:
  1. Si un motor de mensajería se ejecuta en el bus obligatorio dentro del mismo servidor de aplicaciones, se establece una conexión de la aplicación al motor de mensajería. Si no existe ningún motor de mensajería adecuado, se comprueba la siguiente regla.
  2. Si un motor de mensajería se está ejecutando en el mismo host que la aplicación, la aplicación efectúa una conexión remota con el motor de mensajería seleccionado. Si no existe ningún motor de mensajería adecuado, se comprueba la siguiente regla.
  3. Si un motor de mensajería se está ejecutando en cualquier ubicación del bus, la aplicación efectúa una conexión remota con el motor de mensajería seleccionado. Si no existe ningún motor de mensajería adecuado, el intento de conexión falla.
Para una aplicación que se ejecuta fuera de un servidor de aplicaciones, se equilibran las cargas de las peticiones de conexión entre todos los motores de mensajería disponibles en el bus.

En ambos casos (es decir, una aplicación que se ejecuta en un servidor de aplicaciones y una aplicación que se ejecuta fuera de una servidor de aplicaciones), puede limitar el rango de motores de mensajería disponibles para la conexión, a un subgrupo de los mismos en el bus de integración de servicios. Para conseguirlo configure las propiedades de conexión siguientes de la fábrica de conexiones o de la especificación de activación:

Destino

Antes de que se realice la búsqueda de proximidad de conexiones para seleccionar un motor de mensajería adecuado, se selecciona el conjunto de motores de mensajería que son miembros del grupo de destino especificado. De este modo, la búsqueda de proximidad de conexiones queda limitada a estos motores de mensajería. Si no se especifica un grupo de destino (el valor predeterminado), durante la búsqueda de proximidad de conexiones se tienen en cuenta todos los motores de mensajería del bus.

Por ejemplo, si la propiedad Tipo de destino se establece en Nombre de miembro de bus, la propiedad Destino especifica el nombre del miembro de bus del que se pueden elegir motores de mensajería adecuados.

Tipo de destino
Nombre de miembro de bus
Nombre de un miembro de bus. Esta opción recupera los motores de mensajería activos alojados en el miembro del bus indicado (servidor de aplicaciones o clúster de servidores).
Nombre de grupo de motores de mensajería personalizado
El nombre de un grupo personalizado de motores de mensajería (que forman un clúster de autodeclaración). Esta opción recupera los motores de mensajería activos que se han registrado con el grupo personalizado indicado.
Nombre de motor de mensajería
Nombre de un motor de mensajería. Esta opción recupera los puntos finales que pueden utilizarse para llegar al motor de mensajería indicado.
Importancia del destino
Esta propiedad define si la búsqueda de proximidad de conexiones está restringida sólo a los motores de mensajería del grupo de destino.
Preferido
Es preferible que se seleccione un motor de mensajería en el grupo de destino. Se seleccionará un motor de mensajería del grupo de destino si hay uno disponible. Si no hay un motor de mensajería disponible en el grupo de destino, se seleccionará un motor de mensajería fuera del grupo de destino, si está disponible en el mismo bus de integración de servicios.
Obligatorio
Es necesario que se selecciona un motor de mensajería en el grupo de destino. Se seleccionará un motor de mensajería del grupo de destino si hay uno disponible. Si no hay un motor de mensajería disponible en el grupo de destino, el proceso de conexión dará error.
Cadena de transporte de entrada de destino

El nombre de la cadena de transporte de entrada del motor de mensajería al que debe dirigirse la aplicación al conectarse a un motor de mensajería en un proceso diferente para la aplicación.

Estas cadenas de transporte especifican los protocolos de comunicaciones que se pueden utilizar para comunicarse con el servidor de aplicaciones con el que está conectada la aplicación cliente. Si selecciona un motor de mensajería de otro proceso, se puede realizar una conexión sólo si el motor de mensajería está en un servidor que ejecuta la cadena de transporte de entrada especificada.

Se proporcionan las siguientes cadenas de transporte de entrada del motor de mensajería predefinidas:
InboundBasicMessaging
JFAP sobre TCP/IP
InboundSecureMessaging
JFAP sobre SSL sobre TCP/IP
Proximidad de conexión
En una aplicación que se ejecuta en un servidor de aplicaciones, esta propiedad define la proximidad de los motores de mensajería en relación con el servidor de aplicaciones. En una aplicación que se ejecuta fuera de un servidor de aplicaciones, esta propiedad define la proximidad de los motores de mensajería relativos al servidor de rutina de carga.
Bus
Pueden realizarse conexiones con los motores de mensajería en el mismo bus.

Se selecciona un motor de mensajería en el mismo servidor antes que un motor de mensajería adecuado del mismo host y, éste a su vez, antes que un motor de mensajería adecuado de otro host.

Clúster
Pueden realizarse conexiones con los motores de mensajería en el mismo clúster de servidores. Si la aplicación no se ejecuta en un servidor de un clúster, o si el servidor de rutina de carga no está en un clúster, entonces no hay ningún motor de mensajería adecuado.

Se selecciona un motor de mensajería en el mismo servidor antes que un motor de mensajería adecuado del mismo host y, éste a su vez, antes que un motor de mensajería adecuado de otro host.

Host
Pueden realizarse conexiones con los motores de mensajería en el mismo host. Se ha seleccionado un motor de mensajería adecuado en el mismo servidor antes que un motor de mensajería adecuado del mismo host.
Servidor
Pueden realizarse conexiones con los motores de mensajería en el mismo servidor de aplicaciones.
Para las aplicaciones MDB que se conectan a un miembro de bus del clúster, también puede habilitar cualquiera de las siguientes configuraciones adicionales:
  • Todos los servidores del clúster pueden recibir mensajes de la aplicación MDB para aprovechar al máximo la potencia de proceso del clúster.
  • Para asegurar el proceso secuencial de los mensajes, sólo un servidor a la vez puede recibir mensajes de la aplicación MDB.

Para obtener más información, consulte Cómo se conecta un bean controlado por mensajes en un clúster.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjb0001_
File name: cjb0001_.html