Introducción A MQSeries
sdanielcc30 de Septiembre de 2014
3.940 Palabras (16 Páginas)264 Visitas
WebSphere MQSeries
WebSphere MQSeries o simplemente MQSeries es un sistema de comunicaciones que proporciona una entrega de datos segura, asíncrona y una sola vez, a través de una amplia gama de plataformas de hardware y software.
Estas características hacen que MQSeries sea la infraestructura ideal para las comunicaciones entre aplicaciones y lo convierten en una solución apropiada tanto si las aplicaciones se ejecutan en la misma máquina como si se ejecutan en máquinas diferentes que están separadas por una o más redes.
MQSeries da soporte a todos los protocolos de comunicaciones más importantes e incluso proporciona funciones de direccionamiento entre redes que utilizan protocolos diferentes. Los productos de puente y pasarela de MQSeries permiten un fácil acceso (con muy poca o sin ninguna programación) a muchos sistemas y entornos de aplicaciones actuales, por ejemplo, Lotus Notes, navegadores de la Web, Java, C, C++ y muchos más.
MQSeries ofrece posibilidades de entrega segura de datos que quedan reflejadas en las numerosas funciones que se han incorporado para que no se pierdan los datos a causa de anomalías en la infraestructura subyacente del sistema o de la red. Con esta posibilidad de entrega segura de datos, MQSeries se convierte en la red troncal de los sistemas críticos de comunicaciones, a la que se puede confiar la entrega de datos de gran valor. También contiene opciones que le permiten seleccionar una calidad de servicio menor, cuando se necesite. Por ejemplo, puede darse el caso de que prefiera una entrega rápida a una entrega tan segura.
El soporte de procesos asíncronos en MQSeries significa que el intercambio de datos entre las aplicaciones emisora y receptora es independiente del tiempo. De este modo las aplicaciones emisora y receptora se pueden desacoplar, y la aplicación emisora puede continuar su proceso sin tener que esperar a que la aplicación receptora indique que ha recibido los datos. De hecho, no es necesario que la aplicación de destino esté ejecutándose cuando se envían los datos. Del mismo modo, no es necesario que toda la vía de acceso de la red entre la aplicación emisora y la receptora esté disponible cuando los datos se están transfiriendo.
La entrega de datos una sola vez es una cuestión importante, sobretodo para aplicaciones financieras y de la empresa, en las que precisamente lo que no se desea es que se dupliquen las peticiones de transferencias de grandes cantidades de dinero de una cuenta a otra.
Los principales objetos de MQseries son:
- Gestor de colas (Queue Manager)
- Mensajes (Messages)
- Colas (Queues)
- Canales (Channels)
MQSeries y gestión de colas de mensajes
MQSeries permiten a las aplicaciones utilizar la gestión de colas de mensajes para participar en el proceso dirigido por el flujo de mensajes. Con el proceso dirigido por mensajes, las aplicaciones se pueden comunicar dentro de una misma plataforma o entre distintas plataformas utilizando los productos de software de gestión de colas de mensajes adecuados. Por ejemplo, las aplicaciones OS/390 y OS/400 pueden comunicarse a través de MQSeries para OS/390 y MQSeries para AS/400 respectivamente. Con los productos MQSeries, todas las aplicaciones utilizan los mismos tipos de mensajes y los protocolos de comunicaciones permanecen ocultos para las aplicaciones.
La MQI – una interfaz común de programación de aplicaciones
Los productos MQSeries implementan una interfaz común de programación de aplicaciones, la interfaz de colas de mensajes (MQI), que se utiliza en todas las plataformas en las que se ejecutan las aplicaciones. La funciones o llamadas efectuadas por las aplicaciones y los mensajes que éstas intercambian son comunes. Si lo comparamos con los métodos tradicionales, veremos que se facilita en gran medida la tarea de desarrollar y mantener aplicaciones. También facilita la migración de aplicaciones de gestión de colas de mensajes de una plataforma a otra.
La tabla siguiente muestra las llamadas de MQI.
Tabla 1. Llamadas de MQI
Nombre de llamada Descripción Plataformas
MQBEGIN Empezar una unidad de trabajo que coordinará el Queue Manager (gestor de colas). AIX, HP-UX, OS/2 Warp, Sun
Solaris y Windows
MQCONN Conectarse a un Queue Manager Todas las plataformas
MQCONNX Conectarse a un Queue Manager y especificar algunas opciones especiales AIX, HP-UX, OS/2 Warp, Sun
Solaris y Windows
MQDISC Desconectarse de un Queue Manager Todas las plataformas
MQOPEN Abrir un objeto Todas las plataformas
MQCLOSE Cerrar un objeto Todas las plataformas
MQPUT Colocar un mensaje (la cola ya está abierta) Todas las plataformas
MQPUT1 Colocar un mensaje Todas las plataformas
MQGET Obtener un mensaje Todas las plataformas
MQCMIT Confirmar cambios OS/2 Warp, OS/390, Windows
y sistemas UNIX
MQBACK Restituir cambios OS/2 Warp, OS/390, Windows
y sistemas UNIX
MQINQ Consultar acerca de los atributos de un objeto Todas las plataformas
MQSET Establecer los atributos de un objeto Todas las plataformas
Aplicaciones independientes del tiempo
Con las colas de mensajes, el intercambio de mensajes entre los programas emisor y receptor es independiente en el tiempo. Esto significa que las aplicaciones emisora y receptora están separadas para que la emisora pueda seguir procesando sin tener que esperar a que el receptor acuse recibo del mensaje. Es posible que la aplicación receptora esté ocupada cuando se envía el mensaje. En realidad, no es necesario que la aplicación receptora esté activa. MQSeries mantiene el mensaje en la cola hasta que pueda procesarse.
En la figura XXX se representa a dos programas, donde A es el programa emisor de mensajes a la cola “Queue 1”, en donde son almacenados los mensajes hasta que el programa B actúe como receptor o recuperador de mensajes de esa cola, tarea que realiza completamente en forma independiente al programa A.
Proceso dirigido por mensajes
El proceso dirigido por mensajes es un estilo de diseño de aplicaciones. Con este estilo, la aplicación se divide en varios bloques funcionales distintos e independientes y cada bloque tiene parámetros de entrada y salida bien definidos. Todos los bloques funcionales se codifican como un programa de aplicación, intercambiando sus parámetros de entrada y salida con otros programas de aplicación y colocando sus valores en mensajes que luego se envían a las colas.
Utilizando los mecanismos de programación de MQSeries adecuados, un programa de aplicaciones puede empezar a ejecutarse como resultado de la llegada de uno o más mensajes a una cola. Si es necesario, el programa puede terminar cuando se hayan procesado todos los mensajes de la cola. Con este estilo de diseño de aplicaciones se pueden crear nuevas aplicaciones o modificar aplicaciones ya existentes más rápidamente que con otros estilos de diseño de aplicaciones.
En la siguiente figura XXX se representa un sistema transaccional construido por procesos dirigidos por mensajes, donde el programa A inicia una transacción poniendo un mensajes en la cola “Queue 1” para que el programa B los recupere, lo procese y genere un mensaje de respuesta que es depositado en la cola “Queue 2”, finalmente el programa A extrae los mensajes de la cola “Queue 2” y los procesa como respuestas a las transacciones.
Integridad de los datos y protección de los recursos
Las aplicaciones MQSeries pueden transferir datos con un alto grado de fiabilidad. La entrega de mensajes se puede realizar utilizando un mecanismo de punto de sincronismo para la recuperación de datos importantes en el caso de que se produjera una anomalía. Todos los recursos, como las colas de mensajes, pueden protegerse utilizando los recursos de seguridad disponibles en la plataforma operativa. Por ejemplo, Resource Access Control Facility (RACF) en OS/390, o los recursos de seguridad que proporciona OS/400.
Mensajes y Colas.
Los mensajes y las colas son los objetos o unidades básicas en MQseries.
Mensajes ( messages )
Un mensaje es una serie de bytes que tiene significado para las aplicaciones que lo utilizan. Los mensajes se utilizan para transferir datos de una aplicación a otra (o a distintas partes de la misma aplicación) sin importar la plataforma en que estén ejecutándose, el lenguaje en que esté desarrollado o el protocolo de comunicación que utilice.
Los mensajes de MQSeries constan de dos partes: los datos de la aplicación y un descriptor de mensaje (MQMD). El contenido y la estructura de los datos de la aplicación se definen mediante los programas de aplicación que utilizan los datos. El descriptor de mensaje identifica el mensaje y contiene más información de control, como el tipo de mensaje
...