Personalizando WebSphere MQ V7 para pequeñas y medianas empresas

Este artículo describe retos comunes que puede encontrar al implementar WebSphere MQ con base en soluciones de pequeñas y medianas empresas (SMBs) y le muestra cómo superar estos retos.

Mohit Arora, Solutions Developer, IBM

Photo of Mohit AroraMohit Arora es parte del Personal de Ingeniería de Software en el equipo de Servicios de Laboratorio en el Laboratorio de Software de IBM en Bangalore, India. Ha trabajado para IBM durante seis años en diversas tecnologías de middleware. Pude contactar a Mohit escribiendo a arora.mohit@in.ibm.com.



Amit M. Mangalvedkar, Senior Staff Software Engineer, IBM

Photo of Amit M. MangalvedkarAmit M. Mangalvedkar es Sénior del Personal de Ingeniería de Software en el equipo de Servicios de Laboratorio en el Laboratorio de Software de IBM en Bangalore, India. Ha trabajado para IBM durante 10 años en desarrollo de productos y contrataciones de clientes involucrando diversas tecnologías de middleware. Puede contactar a Amit escribiendo a amitmangalvedkar@in.ibm.com.



25-07-2011

Introducción

Para mostrarle cómo enfrentar retos comunes al implementar IBM® WebSphere® MQ con base en soluciones de pequeñas y medianas empresas (SMBs), este artículo usa el escenario común de una sola oficina central y varias sucursales o tiendas, cada una con su propio servidor de WebSphere MQ. Para muchas SMBs, invertir en infraestructura de backend puede ser limitado, y por lo tanto enfrenta retos de tiempo de inactividad de la red o conectividad lenta. Pero antes de profundizar en los retos de tal entorno, considere las características de un entorno robusto o ideal para WebSphere MQ:

  • Infraestructura VPN
  • Direcciones IP estáticas
  • ISP único
  • Alta velocidad de red de banda ancha
  • Supervisión de herramientas tales como IBM Tivoli® OMEGAMON para XE Messaging
  • Configuraciones de hardware recomendadas

Como se mencionó anteriormente, dos de los retos de red más comunes en las SMBs son:

  • Fallas en la conexión a Internet -- Las SMBs que no invierten en una conexión de Internet inalámbrica satelital generalmente optarán por diversas conexiones de distintos proveedores de servicio con direcciones IP estáticas. Cuando hay una falla en alguna de las conexiones, las SMBs se cambian (algunas veces manualmente) a otro proveedor de servicio.
  • Comunicación lenta entre la oficina central y las sucursales -- Para este problema, una SMB frecuentemente optimiza aplicaciones para enviar datos mínimos a los servidores de sucursal y difiere comunicaciones adicionales para la noche u otros periodos de bajo uso. Este arreglo puede requerir una significativa personalización de las aplicaciones.

El resto del artículo describe las siguientes condiciones subóptimas y cómo atender los problemas relacionados, así como la forma de utilizar WebSphere MQ Performance Monitor (SupportPac MP08).

  • Direcciones IP dinámicas
  • Diversas ISPs
  • Velocidades bajas de banda ancha entre la oficina central y las sucursales

Configurando WebSphere MQ entre dos servidores remotos

Dirección IP dinámica en el extremo receptor

Considere un típico escenario de comunicación interfila entre dos servidores de WebSphere MQ, uno en la oficina central y uno en una sucursal, con un canal emisor-receptor:

fComunicación interfila
fComunicación interfila

En este escenario, el gestor de filas HQ.QM envía un mensaje al gestor de filas STORE.QM. El gestor de filas HQ.QM tiene los siguientes objetos de WebSphere MQ:

  • REMOTEQ (fila remota)
  • TRANSQ (fila de transmisión)
  • HQ.STORE.CNL (canal emisor de HQ.QM a STORE.QM)

De forma similar, el gestor de filas STORE.QM tiene los siguientes objetos de WebSphere MQ:

  • LOCALQ (fila local)
  • HQ.STORE.CNL (canal receptor de HQ.QM a STORE.QM)

Los comandos mqsc para realizar esta configuración son mostrados a continuación (1414 es el número de puerto que escucha):

Definición del canal emisor
define channel (HQ.STORE.CNL) chltype(SDR) + 
conname('192.168.1.2(1414)') +
xmitq(TRANSQ)
Definición del canal receptor
define channel (HQ.STORE.CNL) chltype(rcvr)

Si el receptor (servidor de sucursal en nuestro caso) tiene una dirección IP dinámica asignada a él, es virtualmente imposible para el sistema emisor comunicarse con el sistema receptor, y el canal emisor se mantendrá en modo de reintento -- un problema común en las SMBs.

Canal emisor-receptor

El nombre de host / dirección IP del sistema de destino en un canal emisor-receptor, debe ser conocido desde antes y debe configurarse en el canal emisor.

El canal emisor no puede comunicarse
El canal emisor no puede comunicarse

Puede resolver este problema haciendo que el sistema receptor inicie la comunicación, lo que se hace en WebSphere MQ utilizando el canal solicitante-servidor:

Canal solicitante-servidor

El nombre de host / dirección IP del sistema emisor en un canal solicitante-servidor, debe ser conocido desde antes y debe configurarse en el canal solicitante (el sistema de destino de los mensajes)

Canal solicitante-servidor
Canal solicitante-servidor

En el caso de un canal solicitante-servidor, el sistema receptor (servidor de sucursal) inicia la conexión. Una vez que la iniciación es exitosa, el mensaje fluye del servidor de la oficina central al servidor de la sucursal. El gestor de filas HQ.QM tiene los siguientes objetos de WebSphere MQ:

  • REMOTEQ (fila remota)
  • TRANSQ (fila de transmisión)
  • HQ.STORE.CNL (canal de servidor)

De forma similar, el gestor de filas QM2 tiene los siguientes objetos de WebSphere MQ:

  • LOCALQ (fila local)
  • HQ.STORE.CNL (canal solicitante)

Estos son los comandos mqsc para crear esta configuración:

Definición del canal de servidor
define channel (HQ.STORE.CNL) chltype(SVR) +
xmitq(TRANSQ)
Definición del canal solicitante
define channel (HQ.STORE.CNL) chltype(RQSTR) +
conname('192.168.1.1(1414)')

Otras combinaciones de canales posibles

Además de Emisor-Receptor y Solicitante-Servidor, otras posibles combinaciones incluyen los canales Emisor de Clúster-Receptor de Clúster, Servidor-Receptor y Solicitante-Emisor.

Hay una gran diferencia en función entre un canal emisor-receptor y un canal solicitante-servidor -- para obtener más información, vea el Centro de información de WebSphere MQ V7.

Varios ISPs en la oficina central

El escenario anterior involucrando un canal solicitante-servidor funciona bien siempre que la dirección IP del sistema emisor (192.168.1.1) no cambie. ¿Pero qué pasa si el sistema emisor tiene varios ISPs y uno se cae, y entonces el sistema se cambia a otro ISP? En ese caso, aún si el lado emisor tiene una dirección IP estática, cada ISP asignaría una dirección IP desde un dominio distinto. Una vez más el canal solicitante no podrá iniciar la solicitud al canal de servidor, y entraría en un modo de reintento porque la dirección IP del sistema de Servidor HQ habría cambiado.

Canal solicitante para dirección IP cambiada
Canal solicitante para dirección IP cambiada

Puede resolver este problema al proporcionar varias direcciones IP y el número de puerto en el CONNAME, que es un nuevo dispositivo de WebSphere MQ V7 Refresh 1 (WebSphere MQ V7.0.1). La definición de canal para el canal de servidor permanece igual:

Definición del canal de servidor
define channel (HQ.STORE.CNL) chltype(SVR) +
xmitq(TRANSQ)

Sin embargo, la definición de canal para el canal solicitante se modifica a:

Definición del canal solicitante
define channel (HQ.STORE.CNL) chltype(RQSTR) + 
conname('192.168.0.1(1414),192.168.0.3(1414)')

Por lo tanto, aún si existen varios ISPs sirviendo el lado emisor, es posible añadirlos, separados por comas, a los valores de CONNAME del canal solicitante:

Varios ISPs en el lado emisor
Varios ISPs en el lado emisor

En esta configuración, todas las direcciones IP serán intentadas por turnos. Tan pronto como el canal solicitante haga una conexión con el canal de servidor, entra en un estado de enlace y eventualmente en un estado de ejecución.

Baja velocidad de banda ancha

De forma predeterminada, WebSphere MQ permite mensajes de hasta 4MB para que sean publicados en una fila, y es posible incrementar este límite hasta a 100MB sin usar la segmentación. También de forma predeterminada, WebSphere MQ permite hasta 5.000 mensajes, y, una vez más, puede incrementar este límite. Suponga que 300 mensajes de 4MB son enviados en una red con una velocidad de banda ancha de 1 Mpbs. La transmisión tomaría aproximadamente 9.600 segundos o unas 2 horas y 40 minutos. El tiempo se incrementa drásticamente a medida que cae la banda ancha: si la velocidad de banda ancha cae a 256 Kbps, el tiempo de transmisión se incrementa a 10 horas y 40 minutos.

Tales situaciones hacen que la compresión a nivel de canal sea muy valiosa. Esto no requiere muchos cambios de configuración, e incrementa en gran medida la velocidad de transferencia. Considere una relación de compresión de 95% (lo que es factible si el mensaje de WebSphere MQ es en texto ASCII). En ese caso, un mensaje de 4MB es comprimido a 200KB, y la transferencia anterior de 300 mensajes de 4MB requerirá sólo unos 8 minutos a 1 Mbps y 32 minutos a 256 kbps.

Para implementar la compresión, debe aplicar el mismo algoritmo de compresión al emisor, al receptor o solicitante y al canal de servidor, lo que puede hacer usando WebSphere MQ Explorer o scripts de runmqsc:

Compresión usando WebSphere MQ Explorer

De forma predeterminada, los canales no tienen ningún algoritmo de compresión habilitado, como se muestra a continuación:

Modificando propiedades de canal para la compresión
Modificando propiedades de canal para la compresión

Para habilitar la compresión, haga clic en el botón Edit junto a Message Compression, lo que abre una lista desplegable que muestra diversos algoritmos de compresión:

Varios algoritmos de compresión soportados
Varios algoritmos de compresión soportados
  • RLE -- Compresión de codificación Run-lenght. Si los mismos valores de datos ocurren en un bloque contiguo, ese bloque es reemplazado por un número que denote las ejecuciones y los datos.
  • ZLIBFAST -- Algoritmo de compresión más rápida
  • ZLIBHIGH -- Relación de compresión más alta
  • ANY -- Cualquiera de los tres algoritmos anteriores puede ser utilizado

También puede seleccionar varios algoritmos de compresión, que son intentados en orden de preferencia. El mismo algoritmo de compresión debe ser utilizado en el otro lado.

Orden de preferencia para la compresión
Orden de preferencia para la compresión

Compresión usando scripts runmqsc

Puede conseguir el mismo resultado usando runmqsc. Los siguientes scripts runmqsc modifican las definiciones de canal para el canal solicitante y el de servidor:

Definición del canal solicitante
alter channel(HQ.STORE.CNL) +
chltype(RQSTR) +
COMPMSG(ZLIBFAST,ZLIBHIGH,RLE,NONE)
Definición del canal de servidor
alter channel(HQ.STORE.CNL) +
chltype(RQSTR) +
COMPMSG(ZLIBFAST,ZLIBHIGH,RLE,NONE)

Aunque el canal solicitante permite todos los algoritmos de compresión (ZLIBHIGH, ZLIBFAST, RLE, ANY y NONE), el canal de servidor no permite TODOS.

Algoritmos de Compresión

No todos los canales permiten todos los algoritmos de compresión. El canal solicitante permite ZLIBHIGH, ZLIBFAST, RLE y ANY.

Herramientas de supervisión

Esta sección le muestra cómo usar WebSphere MQ Performance Monitor (WebSphere MQ SupportPac MP08).

Instalación y configuración

  1. Descargar WebSphere MQ Performance Monitor.
  2. Instale y configure WebSphere MQ Performance Monitor siguiendo las instrucciones en la Documentación de WebSphere MQ Performance Monitor.

Supervisión

WebSphere MQ Performance Monitor le permite recolectar y analizar datos de rendimiento para filas, canales y llamadas MQI para gestores de filas. Los administradores de sistema pueden usar el mismo WebSphere MQ Explorer para supervisar el estado del sistema de WebSphere MQ durante cortos periodos.

WebSphere MQ Performance Monitor contiene los siguientes dos componentes:

  • Performance Monitor Agent para WebSphere MQ para Windows -- Instale este componente en el servidor de gestor de filas de la oficina central. Obtiene los datos del gestor de filas del servidor de WebSphere MQ y los envía a través del plug-in Performance Monitoring. Si hay varios gestores de filas en el servidor de la oficina central, entonces cada gestor de filas necesita tener un agente en ejecución, lo que significa que una vez que este componente es instalado, necesita ser configurado para cada gestor de filas que desea supervisar.
  • Plug-in Performance Monitor para WebSphere MQ para Windows y Linux -- Este componente obtiene los datos del agente de supervisión y los muestra en formato gráfico par análisis de tendencias a corto plazo. Este plug-in es instalado en el servidor donde reside WebSphere MQ Explorer.

WebSphere MQ Performance Monitor proporciona análisis de tendencias a corto plazo en WebSphere MQ Explorer para:

  • Contabilidad de aplicaciones recientes (para gestores de filas)
  • Estadísticas MQI recientes (para gestores de filas)
  • Estadísticas de fila recientes (para filas)
  • Contabilidad de fila reciente (para filas)
  • Estadísticas de fila MQI recientes (para filas)
  • Rendimiento de canal reciente (para canales)
  • Estadísticas de canal MQI recientes (para canales)

Para obtener más detalles sobre estos plug-ins y agentes, vea la Documentación de WebSphere MQ Performance Monitor.

Listadas a continuación están unas instantáneas del análisis realizado por el plug-in:

Supervisión a nivel de canal

La supervisión a nivel de canal proporciona una representación gráfica de diversos atributos, tales como bytes y almacenamientos intermedios enviados y recibidos, velocidad de transmisión y tasas de compresión a corto y largo plazo para diversos intervalos de tiempo.

Supervisión a nivel de canal
Supervisión a nivel de canal

Supervisión a nivel de fila

La supervisión a nivel de fila proporciona una representación gráfica de diversos atributos de frecuencia, tales como tasa de apertura, tasa de cierre, tasa de obtención de byte, tasa de colocación de byte y tasa de examinación, para cualquier intervalo de tiempo dado:

Supervisión a nivel de fila 1
Supervisión a nivel de fila 1

La supervisión a nivel de fila también proporciona atributos tales como profundidad actual, profundidad más alta, mensajes colocados, mensajes leídos y mensajes examinados:

Supervisión a nivel de fila 2
Supervisión a nivel de fila 2

Conclusión

Este artículo describió algunos escenarios comunes cuando se usa WebSphere MQ en entornos de SMB, y habló sobre los problemas de las direcciones IP dinámicas en el punto de destino, varios ISPs y banda ancha baja. El artículo también explicó algunas técnicas de resolución de problemas para entornos de SMB, y le mostró cómo realizar la supervisión utilizando WebSphere MQ Performance Monitor.

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=742249
ArticleTitle=Personalizando WebSphere MQ V7 para pequeñas y medianas empresas
publish-date=07252011