viernes, 3 de abril de 2009

IBM MQSeries con .NET 2008 - I Parte

Esta es la primera entrega de una serie de artículos sobre el uso de MQ's en .NET, utilizando VB .NET 2008. Esta serie de artículos es dirigido a arquitectos y desarrolladores que están buscando una manera de integrar las aplicaciones de .NET con servidores IBM WebSphere MQ (IBM MQSeries).

Introducción

La mensajería por colas de espera se ha usado durante muchos años. Normalmente usado hoy en día para el correo electrónico. Sin utilizar colas, enviar un mensaje electrónico sobre grandes distancias requiere que cada nodo en la ruta esté disponible para remitir dichos mensajes. En un sistema de formación de colas de espera, se guardan los mensajes en nodos intermediarios hasta el sistema está listo para remitirlos o procesarlos. Por supuesto que eso causa cierto grado de overhead en la red, pero pondremos en la balanza ciertos beneficios para justificar este proceder.

Aun así, se procesan billones de transacciones comerciales complejas sin hacer queuing. Si éste es el caso; ¿entonces por qué necesitamos la formación de colas de espera? Piense detenidamente en un sistema que consiste en nodos múltiples dónde estos necesitan comunicarse entre sí. Si un nodo del sistema sufre un problema, muchos otros podrían quedar inutilizables. En un ambiente de queuing, cada programa del juego que constituye el sistema se diseña para desempeñarse como debe ser, como una función autónoma en respuesta a una solicitud específica. Para comunicarse con otro programa, este debe poner un mensaje en una cola predefinida, el otro programa recupera el mensaje de la cola y procesa el mensaje. En pocas palabras queuing es un estilo de comunicación programa-a-programa.

Queuing es el mecanismo por el que se sostienen los mensajes hasta que una aplicación está lista a procesarlos. Este tipo de comunicación permite:
  • La comunicación entre programas (puede cada uno está corriendo en los ambientes diferentes) sin tener que escribir el código de comunicación.
  • Seleccionar el orden en que un programa procesa los mensajes.
  • El balanceo de cargas en un sistema, colocando más de un programa para reparar una cola cuando el número de mensajes excede el umbral permitido.
  • Aumentar la disponibilidad de sus aplicaciones, al levantar un sistema alternativo para reparar las colas si su sistema primario está caído.

¿Qué es un mensaje?

En queuing, un mensaje es simplemente una colección de datos enviada por un programa a otro intencionalmente. MQ WebSphere define cuatro tipos de mensaje principalmente:
  • Datagrama (Datagram): Un mensaje simple para el que ninguna contestación se espera.
  • Solicitud (Request): Un mensaje para el cual se espera una contestación.
  • Respuesta (Reply): Una contestación a un mensaje solicitado.
  • Reporte (Report): Un mensaje que describe un evento, como la ocurrencia de un error.


Para manipular mensajes se necesita control de la información y de los datos de la aplicación. El control de la información se define en una estructura descriptora de mensajes (MQMD), la cual contiene:

  • El tipo de mensaje.
  • Un identificador para el mensaje.
  • La prioridad para el envío del mensaje.
  • La estructura y contenido de los datos de aplicación son definidos por los programas en sí, no por Websphere MQ.

Bueno hasta aquí por hoy.

4 comentarios:

  1. Oh perdón por el atraso! es q me he dedicado mucho a otros temas. Apenas pueda cierro este tema con la info q falta... gracias por estar pendiente

    ResponderBorrar
  2. Gracias por compartir esta info.. es el tema que estoy buscando.. pero no veo las demas partes..

    Saludos

    ResponderBorrar
  3. Sii y la Tercera parte..
    Seria Genial q la retomaras

    Saludos

    ResponderBorrar