Acerca de esta tarea
Para la mensajería entre servidores de aplicaciones, con interacción con un sistema IBM MQ,
puede utilizar el proveedor de mensajería predeterminado o el proveedor de IBM MQ. Ninguno de los dos proveedores es mejor que el otro. El proveedor que seleccione dependerá
principalmente de los factores relativos al entorno empresarial y los cambios planificados para ese entorno, así como de lo que cada aplicación JMS necesite realizar. Además, estos dos tipos de proveedor de mensajería no se excluyen entre sí:
- Puede configurar los dos tipos de proveedor en una célula.
- Las diferentes aplicaciones pueden utilizar los mismos proveedores o diferentes.
Los factores relativos al entorno empresarial incluyen lo siguiente:
- Requisitos de mensajería
- Conjunto de técnicas existente
- Infraestructura de mensajería existente
- Cambios planeados para esta infraestructura
La configuración y la gestión de la infraestructura de mensajería es más sencilla si únicamente utiliza un proveedor. Si la mensajería se realiza ante todo en IBM MQ,
probablemente debería elegir el proveedor de mensajería de IBM MQ. De forma parecida, si la mensajería se
realiza principalmente en WebSphere Application Server, probablemente debería elegir el proveedor de mensajería predeterminado.
Si el entorno de la empresa no indica claramente que deba utilizar un proveedor, debería considerar utilizar una combinación de los dos, y elegir el proveedor de mensajería más apropiado para cada aplicación. Una forma útil de hacerlo es identificar los tipos de destino (bus de integración de servicios, o cola o tema de
IBM MQ)
que la aplicación utiliza. Si la aplicación sólo utiliza destinos de bus, la opción
natural es utilizar el proveedor de mensajería predeterminado (solución
"DMP"). Si la aplicación necesita comunicarse con uno o más destinos de
IBM MQ, puede elegir cualquiera de las siguientes
soluciones en función del entorno empresarial, ejemplos de uso y topologías del sistema:
- Utilice el proveedor de mensajería de IBM MQ
(solución "MQP").
- Utilice el proveedor de mensajería predeterminado para integrar un servidor
IBM MQ (un gestor de colas o un grupo de
compartimiento de colas de IBM MQ) como miembro de
bus (solución "miembro de bus de interoperación DMP").
- Utilice el proveedor de mensajería predeterminado para integrar una red de
IBM MQ como bus foráneo, mediante enlaces de
IBM MQ (solución "interoperación DMP, bus
foráneo").
Para obtener más información sobre estas soluciones, consulte
Interoperación con IBM MQ: Comparación de características clave.
Para ayudarle a elegir entre estas soluciones, en varios de los pasos encontrará tablas en las que cada fila representa un requisito del sistema o empresarial, y los asteriscos (*) indican las soluciones que deberían resultar más eficaces para cumplir los requisitos. Estas
tablas se han diseñado para proporcionar una orientación general, en
lugar de identificar soluciones precisas. La mayoría de los requisitos tienen varias soluciones posibles y la ausencia de un asterisco no indica necesariamente que no se pueda utilizar una solución. Para obtener la mejor guía para utilizar cada una de las tablas:
- Céntrese en las filas que reflejen los requisitos más importantes.
- Para todas las filas que tenga en cuenta, cuente el número de asteriscos de cada solución.
Las soluciones con un mayor número de asteriscos deberían ser las más eficaces.
- Si tiene poca experiencia con IBM MQ o WebSphere Application Server y está
intentando decidir qué producto se adapta mejor a sus necesidades de mensajería, consulte Comparación de la mensajería de WebSphere Application Server e IBM MQ.
Nota: Independientemente de estos productos que elija como el foco principal de la mensajería, podrá seguir utilizando el proveedor de mensajería
predeterminado o el proveedor de IBM MQ para la interoperación entre los productos.
- Considere el entorno empresaria para ver si puede utilizar solo un proveedor.
Al decidir qué proveedor utilizar, considere las siguientes restricciones:
- Requisitos de mensajería actuales y futuros
- Infraestructura de mensajería existente
- Conjunto de capacidades que tiene en su organización
Si la mayoría de la mensajería actualmente se lleva a cabo en IBM MQ, continúe con ese enfoque y
configure IBM MQ como un proveedor de JMS externo (es decir, utilice el proveedor de mensajería de
IBM MQ) en WebSphere Application Server. Si los requisitos JMS de las
aplicaciones de WebSphere Application Server son limitados, es discutible si vale la pena utilizar un bus de integración de servicios
para estas aplicaciones.
Si tiene aplicaciones de mensajería en WebSphere Application Server que no tienen requisitos para interoperar con la
red de IBM MQ, utilice el proveedor de mensajería predeterminado (el bus de integración de servicios). Si los
requisitos de mensajería de WebSphere Application Server requieren una integración más estrecha con
WebSphere Application Server, el bus de integración de servicios proporciona las ventajas siguientes:
- Administración integrada
- Prestaciones de alta disponibilidad de WebSphere Application Server
- Escalabilidad de WebSphere Application Server
Si opta por utilizar el proveedor de mensajería predeterminado para interoperar entre la integración de servicios y
IBM MQ, tenga en cuenta que existe un coste añadido implicado en convertir mensajes
entre el formato de integración de servicios y el formato de IBM MQ.
Considere también los siguientes casos de ejemplo de mensajería:
- Una estructura de gestores de colas de IBM MQ de gran tamaño instalados, posiblemente con el producto Message Broker.
Si desea utilizar
WebSphere Application Server para ejecutar una aplicación de mensajería que se acabe de introducir, puede desplegar
una aplicación de mensajería de WebSphere Application Server(JMS) que intercambie mensajes con una aplicación existente
que utilice una cola o tema de IBM MQ.
- Una instalación de WebSphere Application Server, quizás con aplicaciones web y empresariales existentes,
pero no una aplicación de mensajería de WebSphere Application Server.
Si no tiene una infraestructura de mensajería
existente, puede desplegar una aplicación de mensajería de WebSphere Application Server (JMS) para intercambiar mensajes con una
aplicación de mensajería existente de WebSphere Application Server que utilice un destino de bus de integración de servicios.
- Una infraestructura que utiliza WebSphere Application Server para conectarse a aplicaciones de mensajería de
WebSphere Application Server.
Introduzca la mensajería de WebSphere Application Server (JMS)
entre un par de aplicaciones WebSphere Application Server.
- Una infraestructura que incluye IBM MQ y buses de integración de servicios. Esto puede ser el resultado de
una fusión o debido a que el tráfico de mensajes suele ser de WebSphere Application Server a
WebSphere Application Server, o de
IBM MQ a IBM MQ, pero generalmente no entre
WebSphere Application Server y IBM MQ.
Despliegue una aplicación de mensajería de
WebSphere Application Server (JMS) para intercambiar mensajes con una aplicación que utiliza una cola o tema de IBM MQ.
- Si el entorno de la empresa no indica claramente que deba utilizar un solo proveedor de mensajería, debería considerar utilizar una combinación de los dos, y elegir el proveedor más apropiado para cada aplicación, según los tipos de destino que la aplicación utiliza.
La aplicación podría intercambiar mensajes con servicios o aplicaciones asociadas existentes que utilizan uno o más destinos conocidos de tipo conocido. Como alternativa, es posible que los servicios o las aplicaciones asociadas todavía no se hayan desplegado y la selección del tipo de destino podría seguir estando abierta, en cuyo caso el arquitecto de soluciones necesitará decidir la mejor manera de conectar las aplicaciones o los servicios.
Si la aplicación utiliza varios destinos, hay cuatro salidas posibles:
Nota: Si no hay ninguna razón de empresa o técnica del porqué la aplicación utiliza destinos de IBM MQ
en lugar de destinos de bus, y la aplicación asociada también es una aplicación JMS de WebSphere Application Server,
considere migrar los destinos existentes a la integración de servicios para que la aplicación sólo utilice destinos de bus.
- Si la aplicación sólo utiliza destinos de bus, configure la aplicación y sus recursos JMS para que utilicen el proveedor de mensajería predeterminado.
- Si la aplicación sólo utiliza destinos de IBM MQ (colas o temas), utilice la siguiente lista de
comprobación para determinar qué solución de proveedor utilizar.
Tabla 1. Lista de comprobación de proveedores para una aplicación que utiliza sólo destinos de
IBM MQ.. La primera columna de esta tabla lista las preguntas de la lista de comprobación para los requisitos de empresa o sistema para una aplicación que utiliza sólo destinos de IBM MQ . En la segunda columna, los requisitos que son cumplidos por el proveedor de mensajería de IBM MQ (MQP) de la solución se marcan con un asterisco. En la tercera columna, los requisitos que cumple el miembro bus del proveedor de mensajería predeterminado (interop DMP, miembro de bus) de la solución se marcan con un asterisco. En la cuarta columna, los requisitos que cumple la solución del bus foráneo de proveedor de mensajería por defecto (interop DMP, bus foráneo) se marcan con un asterisco. En las columnas de dos a cuatro, los requisitos que no cumple la solución que se muestran en esa columna no están marcados con un asterisco. Pregunta: |
MQP |
DMP interoperar, miembro de bus |
DMP interoperar, bus foráneo |
¿Es el rendimiento crítico? (Si es así, utilice IBM MQ directamente en lugar de realizar la conversión de mensajes.)
|
* |
|
|
¿Es necesario que la aplicación envíe o reciba grandes mensajes? (de más de 500 k)? |
* |
|
|
¿Es deseable la transparencia de ubicación para simplificar la programación y el despliegue de aplicaciones? |
|
* |
* |
¿Es necesario que la aplicación consuma de una cola de IBM MQ, cuya configuración es fija? (Es decir, la cola no se puede mover a la integración de servicios y no se desea desplegar una aplicación
IBM MQ de estilo "push" para enviar mensajes a un destino de bus).
|
* |
* |
|
¿Es la aplicación asociada una aplicación de JMS que se ejecutará fuera de WebSphere Application Server,
como un bus o un cliente de IBM MQ? (No mezcle integración de servicios y
IBM MQ salvo que tenga que hacerlo; una solución IBM MQ
o de integración de servicios pura es más sencilla y evita el coste de convertir mensajes entre los formatos de integración de servicios y
IBM MQ.)
|
* |
|
|
¿Es la aplicación asociada una aplicación que no es de JMS (no es de WebSphere Application Server)? (Siempre que sea posible elija una solución
IBM MQ o de integración de servicios pura. Utilice el cliente de IBM MQ de MQI
o el cliente IBM MQ de XMS, o el cliente de bus XMS en función de la preferencia de API.)
|
* |
|
|
¿Prefiere que el tráfico pase entre la red de IBM MQ
y las aplicaciones de WebSphere Application Server para canalizarlas en una sola conexión de larga ejecución? |
|
|
* |
¿Desea utilizar las características de alta disponibilidad de
WebSphere Application Server? |
|
|
* |
¿Se necesita la confirmación de dos fases (2PC) XA entre la aplicación y un grupo de compartimiento de colas de
IBM MQ? |
* Consulte 1 |
* |
Consulte 2 |
¿Se necesita la confirmación de dos fases (2PC) XA entre la aplicación y un clúster de
IBM MQ? |
|
* |
|
¿Utiliza WebSphere Enterprise Service Bus para mediar mensajes
de, o entregarlos a, una cola de IBM MQ? (Por ejemplo, si utiliza adaptadores
de WebSphere Business Integration o si se conecta a un proveedor de servicios como CICS.)
|
* |
|
|
¿Es necesario que la aplicación consuma de una cola de IBM MQ, cuya configuración es fija? (Es decir, la cola no se puede mover a la integración de servicios y no se desea desplegar una aplicación
IBM MQ de estilo "push" para enviar mensajes a un destino de bus).
|
* |
* |
|
Nota: - 1 Siempre que se utilice IBM MQ Versión
7.0.1.
- 2 Se puede utilizar la confirmación de dos fases XA con el enlace IBM MQ,
pero sólo cubre el envío del mensaje al enlace de IBM MQ.
No cubre el envío posterior del mensaje desde el enlace da IBM MQ a un gestor de colas
de IBM MQ mediante operaciones de almacenar y reenviar.
- Si la aplicación utiliza una combinación de bus y destinos de IBM MQ,
por ejemplo, si consume de la integración de servicios y envía a IBM MQ,
cualquiera de los dos modelos de interoperación del proveedor de mensajería predeterminado puede darle soporte utilizando
una sola fábrica de conexiones o especificación de activación. Utilice la siguiente lista de comprobación para ayudar a decidir entre una solución de tipo miembro de bus o bus foráneo.
Tabla 2. Lista de comprobación de proveedores para una aplicación que utiliza una combinación de bus y destinos de
IBM MQ.. La primera columna de esta tabla lista las preguntas de la lista de comprobación para los requisitos de empresa o sistema para una aplicación que utiliza una combinación de destinos de IBM MQ . En la segunda columna, los requisitos que cumple el miembro bus del proveedor de mensajería predeterminado (interop DMP, miembro de bus) de la solución se marcan con un asterisco. En la tercera columna, los requisitos que cumple la solución del bus foráneo de proveedor de mensajería por defecto (interop DMP, bus foráneo) se marcan con un asterisco. En las columnas de dos a tres, los requisitos que no cumple la solución que se muestran en esa columna no están marcados con un asterisco. Pregunta: |
DMP interoperar, miembro de bus |
DMP interoperar, bus foráneo |
¿Es necesario que la aplicación consuma de una cola compartida de IBM MQ? |
* |
|
¿Prefiere que el tráfico pase entre la red de IBM MQ
y las aplicaciones de WebSphere Application Server para canalizarlas en una sola conexión de larga ejecución? |
|
* |
¿Necesita IBM MQ distribuido en versiones anteriores a
WebSphere Application Server Versión 7 y IBM MQ Versión 7? |
|
* |
¿Desea que las funciones de almacenamiento y reenvío permitan que la aplicación siga enviando mensajes cuando el gestor de colas
de IBM MQ no esté disponible? |
|
* |
¿Prefiere no configurar canales de conexión de servidor? (Porque abren un puerto, lo que se puede considerar un riesgo para la
seguridad.)
|
|
* Consulte 1 |
¿Desea definir un canal de conexión de servidor en lugar de un par de canales remitente y receptor? |
* |
|
¿Sólo desea utilizar las conexiones de enlaces? |
* |
|
Nota: - 1 Esto sólo es aplicable si desea enviar mensajes desde IBM MQ al bus de integración de servicios a través del enlace IBM MQ, aunque sí es necesario abrir un puerto para el servidor de aplicaciones. El envío
de mensajes desde el bus de integración de servicios a IBM MQ a través del enlace
IBM MQ requiere que se abra un puerto al gestor de colas a través del cortafuegos.
- Si todavía no se conocen los tipos de destino, decida las prioridades relativas de los problemas conocidos y, a continuación, utilice la siguiente lista de comprobación para evaluar si las soluciones de proveedor posible son adecuadas.
La opción subyacente es el tipo de destinos que debe utilizar esta aplicación. Los tipos de destinos todavía no se han fijado, por lo que será posible cualquiera de las cuatro soluciones, pero como regla general debe utilizar la solución "DMP" o "MQP", porque una solución de
IBM MQ o de integración de servicios pura es más sencilla y evita el coste de convertir mensajes entre los formatos de integración de servicios y IBM MQ.
Tabla 3. Lista de comprobación de proveedores para una aplicación para la que los tipos de destinos todavía no se conocen.. La primera columna de esta tabla lista las preguntas de la lista de comprobación para los requisitos de empresa o sistema para una aplicación para la que los tipos de destinos todavía no se conocen. En la segunda columna, los requisitos que son cumplidos por el proveedor de mensajería de por defecto (DMP) de la solución se marcan con un asterisco. En la tercera columna, los requisitos que son cumplidos por el proveedor de mensajería de IBM MQ (MQP) de la solución se marcan con un asterisco. En la cuarta columna, los requisitos que cumple el miembro bus del proveedor de mensajería predeterminado (interop DMP, miembro de bus) de la solución se marcan con un asterisco. En la quinta columna, los requisitos que cumple la solución del bus foráneo de proveedor de mensajería por defecto (interop DMP, bus foráneo) se marcan con un asterisco. En las columnas de dos a cinco, los requisitos que no cumple la solución que se muestran en esa columna no están marcados con un asterisco. Pregunta: |
DMP |
MQP |
DMP interoperar, miembro de bus |
DMP interoperar, bus foráneo |
¿Dispone de una base existente de personal cualificado para gestionar IBM MQ? |
|
* |
* |
* |
¿Desea que la gestión de toda la mensajería la maneje el equipo de IBM MQ? |
|
* |
|
|
¿Tiene administradores expertos en WebSphere Application Server
pero no en IBM MQ? |
* |
|
|
|
¿Desea un producto de mensajería con una base instalada grande (incluidas referencias) y una amplia opción de herramientas de ISV? |
|
* |
|
|
¿Es reacio a comprar un producto con licencia por separado además de
WebSphere Application Server? |
* |
|
|
|
¿Es reacio a instalar y gestionar un producto con licencia aparte además de
WebSphere Application Server? |
* |
|
|
|
¿Ya está utilizando
IBM Integration Bus, conocido en releases
anteriores como WebSphere Message Broker? (Si es así, necesita IBM MQ de todas formas).
|
|
* |
* |
* |
¿Es necesario que la aplicación envíe o reciba grandes mensajes? (de más de 500 k)? |
|
* |
|
|
¿Es deseable la transparencia de ubicación para simplificar la programación y el despliegue de aplicaciones? |
* |
|
* |
* |
¿Es necesario que los requisitos de rendimiento tengan varias rutas o varios canales paralelos? |
|
* |
* |
* |
¿Es la aplicación asociada una aplicación de JMS que también se ejecutará en
WebSphere Application Server? (La integración de servicios
se ejecuta en el servidor de aplicaciones WebSphere Application Server. En las plataformas distribuidas, significa que es un proceso interno. En la plataforma
z/OS
está en otra región. Por lo tanto, el uso del proveedor de mensajería
predeterminado ofrece una ventaja de rendimiento en plataformas distribuidas,
pero no en la plataforma
z/OS.
|
* |
|
|
|
¿Es la aplicación asociada una aplicación de JMS que se ejecutará fuera de WebSphere Application Server,
como un bus o cliente de IBM MQ? (No mezcle integración de servicios y
IBM MQ salvo que tenga que hacerlo; una solución IBM MQ
o de integración de servicios pura es más sencilla y evita el coste de convertir mensajes entre los formatos de integración de servicios y
IBM MQ.)
|
* |
* |
|
|
¿Es la aplicación asociada una aplicación que no es de JMS (no es de WebSphere Application Server)? (Siempre que sea posible elija una solución
IBM MQ o de integración de servicios pura. Utilice el cliente de IBM MQ de MQI
o el cliente IBM MQ de XMS, o el cliente de bus XMS en función de la preferencia de API.)
|
* |
* |
|
|
¿Es importante el mantenimiento del orden de mensajes estricto? |
* |
|
|
|
¿Es necesario para la aplicación la flexibilidad y comodidad de un clúster de
IBM MQ? La agrupación en clúster de IBM MQ
facilita la administración y proporciona un paralelismo selectivo de colas agrupadas en clúster. Es decir, las instancias de una cola agrupada en
clúster se pueden crear en cualquier gestor de colas del clúster de IBM MQ
(aunque no necesariamente todos). Los mensajes enviados a una cola agrupada en clúster se puede dirigir a una instancia específica de la cola, o permitir que seleccione una instancia de forma dinámica en base a las estadísticas de gestión de carga de trabajo. La agrupación en clúster de WebSphere Application Server
proporciona parte de esta flexibilidad, pero no se pueden crear particiones de un destino de bus en un subconjunto de los motores de mensajería en
un miembro de bus del clúster.)
|
|
* |
* |
* |
¿Es necesario que la aplicación tenga el nivel de alta disponibilidad que proporcionan las colas compartidas de
IBM MQ for z/OS? |
|
* |
* |
* |
¿Desea utilizar las características de alta disponibilidad o escalabilidad de la agrupación en clúster de
WebSphere Application Server? |
* |
|
* |
* |