Transformación

TRANSFORMACIÓN DE MENSAJES: CÓMO COMUNICAR SISTEMAS HETEROGÉNEOS

26th mayo 2016

En la actualidad, las empresas cuentan con la necesidad de estar hiperconectadas. Sus servicios IT no son una excepción. La transformación de mensajes nos ayudará a conseguirlo.

En la mayoría de ocasiones los servicios con los que trabajamos están implementados con diferentes tecnologías. Estos servicios están destinadas a convivir y complementarse – como es el caso en muchas ocasiones de REST y SOAP. Este escenario hace que para las organizaciones sea imprescindible la transformación de mensajes para contar con conexiones eficientes, seguras y libres de errores entre sistemas heterogéneos sin que afecten el rendimiento de nuestras soluciones.

Para conseguir que nuestros sistemas hablen entre ellos es necesario contar con un ESB que actué como una columna vertebral de nuestra infraestructura y que tenga como objetivo conectar todos los sistemas entre sí. Gracias a este ESB, podremos establecer las comunicaciones necesarias y facilitar la interacción entre sistemas.

A la hora de coordinar sistemas implementados con diferentes tecnologías, debemos de tener muy en cuenta que los mensajes de cada uno de los sistemas viajan en un formato diferente y sobre un protocolo distinto. Sin una transformación de mensajes adecuada, no podremos conseguir que nuestros servicios trabajen de manera conjunta.

¿Qué son las transformaciones de mensajes?

¿A qué nos referimos exactamente con la “transformación de mensajes”? Cuando nos referimos a este término, hacemos alusión a las modificaciones y manipulaciones que realizamos en los mensajes de los diferentes sistemas con los que trabajamos para hacer posible la comunicación entre ellos. Estas manipulaciones, deberán de llevarse a cabo en el ESB y, para su correcto funcionamiento, no podemos olvidarnos de implementarlas tanto en la fase de ‘request’ como en la fase de ‘response´.

La transformación de mensajes es como una traducción. Cuando coexisten dos sistemas que hablan un idioma diferente el ESB asume la función de traductor. Es decir, deberemos implementar un servicio en el ESB capaz recibir mensajes de entrada y traducirlos en una petición a un servicio backend que espera un mensaje diferente. De la misma manera que cuando nuestro ESB recibe respuesta del servicio backend deberá de transformar el mensaje para poder emitir una respuesta que el mensaje de entrada inicial pueda entender.

Cuando hablamos de la transformación de mensajes, debemos de tener cuidado de no confundirlo con la mediación de mensajes. Aún que haya confusión entre ambos términos, es importante que entendamos que son dos conceptos diferentes. La transformación de mensajes hace referencia a las manipulaciones realizadas en el mensaje de nuestro servicio. En cambio, cuando hacemos referencia a la  mediación, nos referimos a la aplicación de diferentes EIP como por ejemplo scatter/gather, event publishing, logging & auditing o validation.

Check List: ¿Qué debo saber antes de transformar mensajes?

A la hora de transformar mensajes, debemos de conocer a la perfección las posibilidades y limitaciones nuestro ESB. Para poder llevar a cabo transformaciones con éxito deberemos:

  • Conocer en qué escenario nos movemos. Es necesario tener muy claro qué queremos hacer con nuestro mensaje: cambiar su formato, enriquecerlo,  convertirlo o simplemente crear uno nuevo.
  • Saber cómo cambiar los diferentes formatos. Como por ejemplo adaptar el formato de XML a JSON.
  • Dominar las diferentes herramientas de nuestro ESB para la modificación de mensajes.
  • Saber crear mensajes desde cero.
  • Entender qué factores penalizan el performance de nuestras transformaciones.

Sin duda, el éxito de la transformación de nuestros mensajes depende mucho del ESB con el que trabajemos. La correcta comunicación entre diferentes sistemas y servicios juega un papel vital en la arquitectura IT de nuestra empresa. WSO2, empresa líder en tecnología open source,  cuenta con uno de los ESB más potentes del mercado. ¿Quieres saber más sobre la transformación de mensajes con WSO2 ESB? ¡Descárgate nuestra guía!