¿Qué es el Middleware Orientado a Mensajes?

El Middleware Orientado a Mensajes (MOM) permite a las aplicaciones distribuidas comunicarse mediante el envío de mensajes. El MOM se encarga de que todos los mensajes lleguen siempre a su destino. La comunicación entre emisor y receptor es asíncrona, y en ningún momento están directamente conectados. El emisor envía el mensaje y no se queda a la espera de recibir confirmación de recepción de su mensaje, sino que sigue trabajando normalmente. Hay dos modelos de este tipo de middleware:

  • Punto a punto: los mensajes van dirigidos a un único receptor. El mensaje queda almacenado en una cola hasta el que el receptor quiera o pueda recogerlo. Ejemplo: una persona solicita unos determinados datos y la aplicación de gestión se encarga de obtenerlos y de enviarlos exclusivamente a la persona que los solicitó.

  • Publicación/suscripción: en estos sistemas hay dos actores: los emisores de información y los suscriptores o consumidores de dicha información. Los consumidores pueden suscribirse a un determinado tipo de mensajes que tengan relación con un tema concreto o con información que cumpla un patrón determinado. Los emisores envían mensajes al MOM, y éste se encarga de hacérselo llegar a los suscriptores correspondientes. Este modelo podría utilizarse en un sistema de monitorización de una red: una aplicación (emisor) recoge datos de tráfico, ocupación de puertos, etc. y envía esos datos al administrador o administradores de la red (suscriptor) de forma automática.

Características de los MOM

  • Comunicación asíncrona entre aplicaciones para compartir información. No obstante, también hay soluciones que trabajan con conexiones síncronas o pseudo-síncronas.

  • Los mensajes son almacenados en colas hasta que el receptor está listo para recoger el mensaje.

  • Garantía de que los mensajes llegarán siempre a su destino.

  • Rapidez en la entrega de los mensajes.

  • Las aplicaciones están aisladas de la complejidad de las redes y del hardware gracias al MOM. Por ello, no sufrirán ninguna modificación aunque cambie parte de la red o del hardware utilizado.

  • La comunicación entre aplicaciones es no bloqueante, es decir, que las aplicaciones que realizan una petición no detienen su ejecución mientras esperan el mensaje de respuesta.

  • Las colas utilizadas pueden ser permanentes o dinámicas. Las primeras almacenan la información en disco, mientras que las segundas guardan los datos de forma temporal en la memoria volátil.

  • Las colas de mensajes pueden ser leídas como en una pila FIFO o teniendo en cuenta propioridades.

  • Las aplicaciones que se comunican entre sí, no están conectadas directamente y eso facilita la programación y permite crear nuevas funcionalidades.

  • El emisor no necesita conocer la ubicación física del receptor y viceversa.

  • Muchas soluciones comerciales MOM proporcionan también encriptación de datos extremo a extremo para incrementar la seguridad.

Estas características hacen de este tipo de middleware una herramienta muy interesante para mejorar la fiabilidad en el intercambio de mensajes de los Web Services, por ejemplo, ya que la comunicación SOAP sobre HTTP, que es una de las más extendidas, no es fiable.

Una de las desventajas más importantes de los MOM es que no son soluciones interesantes para aplicaciones que trabajen en tiempo real o que estén orientadas a comunicaciones síncronas.

Otro punto negativo es que no existe un estandard de protocolos lo que dificulta la interoperabilidad entre MOMs de diferentes empresas.

Un comentario

  1. http://t.co/Mkl2LIFp Nuevo Post – ¿Qué es el Middleware Orientado a Mensajes?. Léelo en http://t.co/WR4cEBVe

Deja un comentario