Patrones de Integración con Biztalk Server 2009–Parte 5

1.d) Message Translator

En muchos casos, las soluciones de integración rutean mensajes entre aplicaciones muy diferentes. Algunas son aplicaciones internas, otras externas, otras legadas. Cada una de estas aplicaciones tiene su propio modelo de datos, por ejemplo, cada una de ellas puede tener una forma diferente de representar a un Cliente, sus atributos o las relaciones con otras entidades. Este modelo de datos, normalmente guía a la representación física en la base de datos y, lógicamente, a las interfaces de conexión que ofrecen.

Inclusive cuando las interfaces de conectividad que un sistema ofrece no responde a la representación interna de los datos, esta representación normalmente está de acuerdo con estándares de la industria, lo cual puede no ser útil para la interacción necesaria, o, de manera contraria, es necesario llevar una representación interna al estándar para crear la solución de integración.

¿Cómo pueden sistemas utilizando diferentes formatos de datos, comunicarse utilizando mensajería?

Usando un filtro especial, un Message Translator que traduce un formato de datos a otro.

image

Implementación en Biztalk Server

Las transformaciones de mensajes en Biztalk Server se realizan a través de “mapas” que expresan estas transformaciones en XSLT. Para ésto, toma en cuenta que todo mensaje que circula por la plataforma tiene una definición en un esquema XSD.

image

 

En BizTalk Server tenemos dos tiempos de análisis para estas transformaciones:

a) En tiempo de diseño, la herramienta BizTalk Mapper, que se integra con Visual Studio, nos permite de manera visual crear todo tipo de transformaciones entre un esquema de mensaje y otro.

b) En tiempo de ejecución, los mapas definidos y “compilados” en transformaciones XSLT, pueden ubicarse en diferentes puntos de la solución de integración para que ejecuten la transformación

Los lugares donde pueden ejecutarse estas transformaciones son:

1) En un puerto de entrada: en este caso, la transformación se podrá realizar una vez que el mensaje pasó el pipeline de entrada, de esta manera se asegura que el mismo viene en un formato Xml que BizTalk pueda reconocer.

2) En un puerto de salida: en este caso la transformación se podrá realizar previo al pipeline de salida, para asegurar que el mensaje no se haya cambiado a un formato que no sea reconocible.

3) En una orquestación mediante el elemento de Transform que permite cambiar el formato de un mensaje aplicando una transformación conocida.

4) Manualmente, en un componente utilizando las primitivas de BizTalk. Aunque esta opción no es muy utilizada, existe la posibilidad y en ciertos escenarios específicos puede ofrecer algún tipo de ventajas.

Algunas particularidades adicionales:

- Las transformaciones pueden enriquecerse con un gran conjunto de “functoides” disponibles para realizar operaciones típicas de manera simple.

- También pueden utilizarse componentes nativos .NET dentro de las mismas.

- Cuando se utilizan en los pipelines de entrada y salida, pueden indicarse varios mapas para un canal, y BizTalk automáticamente aplica el mapa adecuado al tipo de mensaje que atraviesa el mismo.

- Cuando se utiliza en orquestaciones, puede utilizarse más de un mensaje de entrada para formar un mensaje de salida.

Advertisement
Esta entrada fue publicada en Uncategorized. Guarda el enlace permanente.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s