Middleware orientado a mensajes

Middleware orientado a mensajes o Message Oriented Middleware ( MOM ) marca el middleware operativo en el asíncrona o comunicación síncrona , es decir, la transmisión de mensajes ( en inglés mensajes se basa). El formato de los mensajes no es fijo, pero en la práctica XML se ha convertido en el formato popular.

MOM admite tres protocolos de comunicación diferentes

beneficios

  • Comunicación asíncrona / síncrona
  • El servidor / servicio no tiene que estar disponible de inmediato
  • Colas de mensajes
  • Ejecución principalmente más rápida que los programas basados ​​en llamadas a funciones
  • Acoplamiento flojo de servidor / clientes
  • Más tolerancia a los cambios en las funciones existentes
  • Disponibilidad mejorada de los sistemas
  • Posibilidad de procesamiento paralelo de mensajes

desventaja

  • La falla del MOM paraliza todos los sistemas conectados
  • Diseñar , probar , depurar y desarrollar los componentes no son familiares para los programadores síncronos.

Estándares y formatos

Middleware orientado a mensajes con XML
El uso de XML como base de lenguaje para los mensajes en Middleware orientado a mensajes está muy extendido en la práctica. Debido al formato comparativamente autoexplicativo y, a diferencia de los mensajes en formato binario, fácilmente legible por humanos, cuando se usa XML es relativamente fácil habilitar la comunicación entre sistemas de middleware si usan diferentes idiomas, siempre que los idiomas sean Basado en XML. Para permitir la comunicación, se puede interponer un procesador XSLT como traductor, que traduce los mensajes del lenguaje basado en XML del sistema de origen al idioma del sistema de destino con la ayuda de una hoja de estilo de transformación. SOAP se utiliza a menudo como protocolo .
XML
El lenguaje de marcado XML ahora se usa ampliamente en tecnología de la información y se usa en numerosas áreas de aplicación. No es un requisito conceptual para un Enterprise Service Bus (ESB), pero se utiliza de diversas formas en la mayoría de los productos ESB y los ESB implementados en entornos de aplicaciones. A menudo sirve como un formato de datos estandarizado en el que los mensajes se transmiten a través del bus de mensajes en el núcleo de un ESB, pero también como un formato para el intercambio de mensajes entre los servicios y el bus de mensajes a través de los puntos finales y adaptadores correspondientes. También se utiliza en la descripción de interfaces, por ejemplo, con el lenguaje de especificación de interfaz WSDL .
XPath y XQuery
XPath y XQuery son lenguajes de consulta con los que se pueden consultar y extraer partes de documentos XML. No son un requisito previo para un ESB, pero a menudo se utilizan en los ESB en el contexto de los servicios de enrutamiento. Las reglas de enrutamiento basadas en datos de control o el contenido de los mensajes a menudo se formulan como expresiones XPath o XQuery para estos mensajes.
XSLT
XSL Transformation (XSLT) es un lenguaje de programación para transformar documentos XML. XSLT no es un requisito tecnológico para un ESB. Sin embargo, el lenguaje se usa a menudo en servicios de transformación, especialmente cuando un ESB usa XML como formato de datos estandarizado.
JMS
Java Message Service (JMS) es una interfaz de programación estandarizada para enviar y recibir mensajes de aplicaciones basadas en Java a través de un bus de mensajes . No es un requisito para un ESB. Los ESB que están firmemente anclados en el mundo de Java, por ejemplo porque están implementados en Java ellos mismos, a menudo ofrecen adaptadores estándar y puntos finales estándar para que los servicios puedan usar el ESB a través de JMS.
JMS es el estándar más utilizado para MOM y es compatible con casi todos los fabricantes.
JABÓN
SOAP es un protocolo de red con la ayuda del cual se pueden intercambiar datos entre sistemas y los servicios remotos pueden utilizar interfaces de servicio. SOAP se basa en tecnologías ampliamente utilizadas, por ejemplo HTTP y SMTP como protocolos, XML como formato de datos o WSDL como lenguaje para la especificación de la interfaz. Servicios que ponen a disposición sus interfaces con la ayuda de esta tecnología, denominados servicios web o servicios web . El concepto de Enterprise Service Bus no se limita a los servicios web o la tecnología SOAP. En la práctica, sin embargo, un ESB a menudo integra servicios distribuidos conectándolos al bus de mensajes central con adaptadores SOAP .
AMQP
El Protocolo de cola de mensajes avanzado (AMQP) es un protocolo a nivel de cable que está siendo desarrollado por un consorcio de más de 20 miembros (incluidos JP Morgan, Microsoft, Red Hat). En mayo de 2010 se publicó el borrador de la versión 1. Para tener en cuenta el uso generalizado de JMS, todas las funciones de JMS se incorporan al protocolo. Esto permite a los desarrolladores seguir utilizando la interfaz JMS, mientras que las MOM pueden comunicarse entre sí mediante AMQP.
JBI
Con Java Business Integration (JBI) se refiere a un estándar que dentro del Java Community Process se publicó (JCP) bajo el número 208 de JSR El documento estandariza parte de la arquitectura de un Enterprise Service Bus para un entorno técnico específico, a saber, el desarrollo de software y la arquitectura de TI basada en Java Platform, Enterprise Edition (Jakarta EE). Detalla específicamente la arquitectura del subsistema de un ESB, que Chappell llamó el contenedor de servicios .
Apache OpenWire
Un protocolo a nivel de cable, hasta ahora solo compatible con Apache ActiveMQ.
Protocolo de mensajería orientada a texto de transmisión de Apache (Stomp)
Protocolo basado en texto muy simple. Soporte nativo de ActiveMQ (anunciado para RedHat HornetQ) y xmlBlaster. Sin embargo, se ofrece un adaptador para middleware JMS para que los clientes de STOMP puedan comunicarse a través de middleware JMS. Sin embargo, debe tenerse en cuenta que esto solo funciona en una dirección (STOMP → JMS) (debido a la falta de funcionalidad en STOMP).
Digistan RestMS (servicio de mensajería RESTful)
RestMS funciona a través de HTTP / HTTPS puro y está diseñado para aplicaciones web. Hasta ahora hay tres implementaciones. Además, se implementan conversiones para AMQP 0.9.1.

Productos MOM

Los siguientes productos son una selección arbitraria de productos MOM en el mercado:

Ver también

enlaces web

Evidencia individual

  1. Ten-Hove 2005
  2. Chappell 2004
  3. Ten-Hove 2005, p. 8. "JBI define lo que a veces se denomina 'contenedor de servicios' en los sistemas Enterprise Service Bus (ESB)".
  4. Orchestra: software bien pensado que es divertido . (PDF 68kB), en Krankenhaus-IT Journal Issue 2/2013, p. 66, consultado el 20 de febrero de 2015