Un sistema de mensajería empresarial ( EMS ) o un sistema de mensajería en breve [1] es un conjunto de estándares publicados para toda la empresa que permite a las organizaciones enviar mensajes semánticamente precisos entre sistemas informáticos. Los sistemas EMS promueven arquitecturas poco acopladas que permiten que los cambios en los formatos de los mensajes tengan un impacto mínimo en los suscriptores de mensajes. Los sistemas EMS se facilitan mediante el uso de mensajes estructurados (como XML o JSON ) y protocolos adecuados, como DDS , MSMQ , AMQP o SOAP con servicios web .
EMS suele tener en cuenta las siguientes consideraciones:
- Seguridad : los mensajes deben estar cifrados si viajan a través de interfaces públicas. Los mensajes deben estar autenticados o firmados digitalmente para que el receptor tenga la confianza de que los mensajes no han sido manipulados en tránsito.
- Enrutamiento : los mensajes deben enrutarse de manera eficiente del remitente al receptor. Los nodos intermedios pueden necesitar enrutar los mensajes si el cuerpo del mensaje está encriptado.
- Metadatos : el cuerpo del documento contiene información que debe interpretarse sin ambigüedades. Deben utilizarse registros de metadatos para crear definiciones precisas para cada elemento de datos.
- Suscripción : los sistemas deberían poder suscribirse a todos los mensajes que coincidan con un patrón específico. Los mensajes con un contenido específico pueden enrutarse de manera diferente. Por ejemplo, algunos mensajes pueden tener diferentes prioridades o políticas de seguridad.
- Política : los sistemas de mensajería empresarial deben tener en cuenta una política centralizada de mensajes, como qué clases o roles de los usuarios pueden acceder a los diferentes campos de cualquier mensaje.
EMS también se conoce como Middleware orientado a mensajes (MOM) [2]
Separación del encabezado y el cuerpo del mensaje
El diseño de un EMS generalmente se divide en dos secciones:
- Diseño de encabezado de mensaje: los encabezados de mensaje contienen la información necesaria para enrutar los mensajes. Los encabezados de los mensajes generalmente se codifican en texto sin cifrar para que los nodos intermedios reciban toda la información necesaria que necesitan para enrutar y priorizar el mensaje. Los encabezados de los mensajes son análogos a la información impresa en el exterior de una letra (para, desde, prioridad del mensaje, etc.)
- Semántica del cuerpo del mensaje: la semántica del cuerpo del mensaje incluye la definición precisa de todos los elementos de datos en el cuerpo del mensaje. La semántica de los mensajes se puede ayudar mediante el uso de un diccionario de datos preciso que documente los metadatos .
Comparaciones
Los puntos en común entre los sistemas de mensajería (en términos de capacidades y arquitectura) se han capturado de manera independiente de la plataforma como patrones de integración empresarial (también conocidos como patrones de mensajería) . [3]
Aunque es similar en concepto a un bus de servicio empresarial (ESB), un EMS pone énfasis en el diseño de protocolos de mensajería (por ejemplo, usando DDS, MSMQ o AMQP), no en la implementación de los servicios usando una tecnología específica como servicios web , DDS API para C / C ++ y Java, .NET o Java Message Service (JMS).
Tenga en cuenta que un sistema de mensajería empresarial no debe confundirse con un sistema de correo electrónico utilizado para enviar mensajes de texto legibles por humanos a personas individuales.
Un ejemplo de una interfaz de programación de aplicaciones (API) específica que implementa un sistema de mensajería empresarial es Java Message Service . Aunque se trata de una API, incorpora muchos de los mismos problemas relacionados con la configuración de un EMS completo.
Las declaraciones de políticas también se pueden extraer de un servidor de políticas centralizado. Estas declaraciones de política se pueden expresar en XML Access Control Markup Language (XACML).
Ver también
Referencias
- ^ G. Hohpe. B. Woolf, Patrones de integración empresarial, Addison Wesley, 2004.
- ^ Curry, Edward. 2004. "Middleware orientado a mensajes" [ enlace muerto permanente ] . En Middleware para comunicaciones, ed. Qusay H Mahmoud, 1-28. Chichester, Inglaterra: John Wiley and Sons. doi : 10.1002 / 0470862084.ch1 . ISBN 978-0-470-86206-3 ]
- ^ Olaf Zimmermann; Cesare Pautasso; Gregor Hohpe; Bobby Woolf (2016). "Una década de patrones de integración empresarial: una conversación con los autores". Software IEEE . 33 (1): 13-19. doi : 10.1109 / MS.2016.11 .