Beneficios de referencias cruzadas dinamicas en BTS

Una infraestructura de IT que sea flexible es la clave en el éxito de los negocios actuales (real-time bussiness), por ello las empresas se aseguran día a día que sus aplicaciones puedan compartir información entre ellas. Dentro de este proceso de integración es muy común que sea necesaria la relación de campos dentro de las estructuras de datos en las aplicaciones, ejemplo claro de ello es que la identificación asociada al usuario que realiza una compra puede ser diferente en los sistemas que interactúan en todo el proceso de integración que conlleva el mecanismo de compra y por ende es necesario que sin importar el sistema en el cual se encuentre el estado de la compra el usuario siga siendo el mismo y no se altere.

Si se desea implementar el anterior proceso en un Enterprise Application Integration (EAI) seria necesario manejar un repositorio para persistir toda esta información y poderla relacionar en el momento deseado además de implementar mecanismos de obtención para la información. En estos casos, BizTalk Server 2004 (BTS) maneja el concepto de referencias cruzadas (cross-referencing) lo que nos permite suplir todas estas necesidades de una forma fácil y sencilla, sin necesidad de implementar mecanismos propios de persistencia de la información, y en forma magnífica nos permite administrar toda esta información en tiempo de ejecución sin la necesidad de operadores.

Vamos a suponer que se implementara un solución EAI con las características anteriormente descritas, un primer paso para ello seria realizar una carga inicial con toda la información en la propia base de datos de BTS por medio de la utilidad btsxrefimport.exe y siguiendo los parámetros que se describen para ella, en esta carga se define un identificador común (commonID) para la referencia de los usuarios en las diferentes aplicaciones. Pero este no es el único bienestar que nos ofrece BTS, ya que también existen algunas funciones de mapeo (functoids) que nos proporcionar la facilidad de administrar estos valores; supóngase que después de cargar toda la lista inicial de usuario los sistemas seguirán registrando usuarios con diferentes identificadores y que serán necesarios de relacionar, pues en este caso las utilización de estas funciones son estratégicas para no tener que realizar la carga manualmente por medio de la utilidad.

En total son 7 funciones que provee BTS inicialmente (se pueden crear personalizadas), pero vamos a centrarnos en dos especialmente que nos sirven para nuestro propósito: Set Common ID y Remove Application ID (esta última función no esta descrita en el SDK de BTS 2004).

Set Common ID

Esta función nos permite crear identificadores dinámicamente, para ello simplemente le debemos para la instancia de la aplicación, el tipo de referencia, el valor de la referencia y el nombre común que tendrá dentro del proceso de integración (este ultimo parámetro es opcional, en caso de no pasarlo BTS generar uno automático). Así, si tenemos 3 sistemas diferentes, cuando un usuario sea dado de alta en los tres sistemas podremos enviar un mensaje con toda la información referenciada al usuario en el sistema y automáticamente quedara guardada dentro del sistema de datos de BTS. La siguiente imagen muestra un mapa de transformación con la información de un usuario, pero se puede escalar a 3 usuarios sin problema alguno (ver imagen).

Remove Application ID

Al contrario de la anterior, por medio de esta función podremos eliminar un valor de una referencia previamente establecido. Esta función recibe 3 parámetros lo cuales son la instancia de la aplicación, el tipo de referencia y el valor de la misma; de esta forma cuando se elimine un usuario de alguno de los sistemas o de todos ellos podremos también de forma automática eliminarlo de nuestro sistema sin mayores inconvenientes. La siguiente imagen nos muestra la utilización de esta función (ver imagen).

De la misma forma existen otras funciones que nos permiten recuperar los valores anteriormente almacenados para completar todo nuestro proceso de integración.

El concepto de referencias cruzadas en BTS es un framework de desarrollo y no solo se limita a relación de campos para referencias ya que también se pueden manejar homogeneidad de valores (p. ej., los sistemas integrados puedes tener diferentes valores para el manejo de estados), y formatos de mensajes en diferentes idiomas de acuerdo a como sean requeridos. Para mayor información favor visitar Database Functoid Reference y Microsoft.BizTalk.CrossReferencing Namespace.

Beneficios

  • Mejora el desarrollo de integración de aplicación ya que provee un framework para administrar dinámicamente referencias cruzadas.
  • Reduce costos en el proyecto ya que simplifica el tiempo de desarrollo, y de forma adicional disminuye el tiempo que deben tomar los operadores en la administración de nueva información para ser referenciada entre los sistemas.
  • Ofrece una mejor práctica en la arquitectura brindando mayor escalabilidad y mejor rendimiento de nuestras soluciones.

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho