Las aplicaciones actuales interaccionan unas con otras y le hacen frente a los siguientes problemas:
Los desarrolladores suelen adoptar las siguientes soluciones:
es una estructura de datos, puede ser un string, byte array, registro o un objeto Se puede interpretar como:
Tiene 2 partes:
Son vías lógicas que conectan los programas y el listado de mensajes.
Se comportan como una colección de mensajes.
Se comparten entre ordenadores.
Múltiples aplicaciones pueden usarlos simultáneamente.
Lo que serían el emisor y el receptor
El envío de mensajes se realiza a través de un sistema de mensajería. Hay que diferenciar entre sistema de mensajería y una base de datos:
El problema de esto es que cambia el modelo de programación ya que estamos hablando de comunicaciones asíncronas. Para solucionar esto se mete un sistema de mensajería con una URL de retorno o leemos de otro sistema de mensajería para que nos confirme la recepción y procesamiento del mensaje. La URL invocaría un servicio para indicar que hemos terminado y continuar.
Una aplicación necesita comunicarse con otra mediante mensajería, se implementa conectando la aplicación mediante el uso de un canal de mensajes. Una aplicación escribe información en un extremo del canal y otra lee la info del otro extremo.
Se necesita que dos aplicaciones conectadas por un canal de mensajes intercambien informacion. Para ello se empaqueta la info en un mensaje, un conjunto de datos que el sistema de mensajería puede trasnmitir a través del canal.
Se busca ejecutar tareas de procesamiento complejas sobre un mensaje manteniendo la independencia y la flexibilidad. Para ello se usa le estilo arquitectónico de tuberías y filtros para dividir las tareas de procesamiento largas en secuencias de pasos pequeños e independientes llamados filtros que son conectados por canales de mensajes llamados tuberías.
Se busca desacoplar pasos de procesamiento individuales de manera que los mensajes puedan pasar por distintos filtros dependiendo de una serie de condiciones.
En sistemas con formatos de datos diferentes se busca comunicarlos entre sí usando mensajería. Apara ello se utiliza un tipo especial de filtro que traduzca los mensajes o aplicaciones para traducir los mensajes de un sistema a otro.
Una aplicación se conecta a un canal de mensajería para enviar y recibir mensajes. Para ello se conecta la aplicación a un canal de mensajes utilizando un extremo de mensajería, un cliente del sistema de mensajería que la aplicación puede usar para enviar y recibir mensajes.
Un emisor envía un evento a todos los receptores interesados. Se envia el elemento a través del canal publicar-suscribir que entrega una copia del evento a cada receptor interesado en el mismo.
Se conecta una aplicación cerrada a un sistema de mensajería de manera que pueda enviar y recibir mensajes. Se usa un adaptador que puede acceder a la API o los datos de la aplicación y publicar mensajes con estos datos en el canal. Así mismo, el adaptador permitirá recibir mensajes e invocar funcionalidades de la aplicación.
Permite a aplicaciones trabajar juntas de una forma desacoplada, de manera que las aplicaciones puedan ser eliminadas o añadidas sin afectar a otras.
usa la mensajería para invocar un procedimiento de otra aplicación.
Utiliza la mensajería para transferir datos entre aplicaciones.
Usar la mensajería para transmitir eventos entre aplicaciones. Utiliza un mensaje evento para la notificación asíncrona de eventos entre aplicaciones.
Busca evitar que una aplicación reciba ciertos mensajes. Se usa para eliminar mensajes no deseados de un canal de acuerdo a ciertos criterios dados.
Procesa un mensja e que contiene múltiples elementos, troceándolos
Comunica una aplicación con otra si el mensaje de origen no tiene toda la información requerida para alcanzar el destino.
Hace un salto entre 2 sistemas de mensajerías distintas.
Coordinar a múltiples consumidores en un único canal
Administra eficientemente un sistema de mensajería distribuido. Usa un bus de control para gestionar una solución de integración. El bus usa los mismos mecanismos que el sistema de mensajería pero usa sus propios canales y mensajes para transmitir datos relevantes para la gestión y monitorización del sistema.