
15/07/2010 12:38 por
zorry
En el artículo anterior vimos los pros y contras de emplear las tablas xref de BizTalk para almacenar datos de configuración. En este, vamos a describir de una manera práctica cómo introducir datos de configuración o de referencias cruzadas en BizTalk de una manera sencilla.
Para importar datos en las tablas xref de BizTalk, necesitaremos definir una serie de archivos XML. En este archivo zip tenemos un ejemplo de paquete de despliegue, el cual podemos usar como plantilla para adaptarlo a los valores que necesite nuestra aplicación:
Una vez modificados los XML, tenemos que llamar a una herramienta de línea de comandos con la siguiente sentencia:
BTSXRefImport.exe -file=SetupFile.xml
Este archivo SetupFile.xml contendrá una lista de archivos XML, los cuales almacenarán todos los datos que se importarán en las diferentes tablas en base de datos. Su contenido será parecido a esto:
<?xml version="1.0" encoding="UTF-8"?>
<Setup-Files xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- btsxrefimport -file=setupfiles.xml-->
<App_Type_file>List_Of_App_Type.xml</App_Type_file>
<App_Instance_file>List_Of_App_Instance.xml</App_Instance_file>
<IDXRef_file>List_Of_IDXRef.xml</IDXRef_file>
<IDXRef_Data_file>List_Of_IDXRef_Data.xml</IDXRef_Data_file>
<ValueXRef_file>List_Of_ValueXRef.xml</ValueXRef_file>
<ValueXRef_Data_file>List_Of_ValueXRef_Data.xml</ValueXRef_Data_file>
<Msg_Def_file>List_Of_Message_Definition.xml</Msg_Def_file>
<Msg_Text_file>List_Of_Message_Text.xml</Msg_Text_file>
</Setup-Files>
A partir de aquí tendremos que ir modificando cada archivo XML, teniendo en cuenta que tenemos cuatro grupos de archivos:
- Archivos de definición de aplicaciones:
- List_Of_App_Type.xml: En este archivo se definen los tipos de aplicación que queremos declarar.
- List_Of_App_Instance.xml: En este archivo se definen las diferentes instancias de aplicaciones que necesitemos declarar. Por ejemplo, para un tipo de aplicación APP1, podemos tener varias instancias como por ejemplo APP1.Config, APP1.Constants o APP1.Codes…
- Archivos de definición de ID de referencias cruzadas, relacionadas con una instancia de aplicación.
- List_Of_IDXRef.xml: En este archivo se definirán los nombres de las claves de configuración para las que queramos dar valores.
- List_Of_IDXRef_Data.xml: En este archivo se guardan los valores de las claves de configuración, relacionando estas con las instancias de aplicación.
En la siguiente tabla podemos ver los diferentes datos que pueden almacenar estos archivos:
| AppInst |
IDXRef |
CommonID |
AppID |
| Siebel |
ORDER |
123456789 |
111 |
| Oracle |
ORDER |
123456789 |
333 |
De esta manera, para un IDXRef ORDER y un CommonID 123456789, tenemos que para la instancia Siebel, el valor de configuración es 111, mientras que para la instancia Oracle, el valor de configuración es 333.
- Archivos de definición de valores de configuración, relacionados con uno o varios tipos de aplicación.
- List_Of_ValueXRef.xml: En este archivo se definirán los nombres de las claves de configuración para las que queramos dar valores.
- List_Of_ValueXRef_Data.xml: En este archivo se guardan los valores de las claves de configuración.
En la siguiente tabla podemos ver los diferentes datos que pueden almacenar estos archivos:
| AppType |
ValXRef |
CommonValue |
AppValue |
| Siebel |
OrderStatus |
Open |
Open |
| Oracle |
OrderStatus |
Open |
ENTERED |
De esta manera podemos definir un diferente valor para AppValue, dependiendo de la aplicación, para un mismo ValXRef y CommonValue.
- Archivos de definición de mensajes y sus literales, pudiendo especificar mensajes en diferentes idiomas.
- List_Of_Message_Definition.xml: En este archivo declararemos los ID de los mensajes que necesite nuestra aplicación, así como los posibles parámetros de sustitución que pudieran tener estos.
- List_Of_Message_Text.xml: En este archivo se almacenan los literales de los mensajes, especificando el idioma de estos.
Al ejecutar la herramienta BTSXRefImport.exe, se importarán los datos contenidos en estos ocho archivos en nueve tablas de la base de datos BizTalkMgmtDb:
- xref_AppInstance
- xref_AppType
- xref_IDXRef
- xref_IDXRefData
- xref_MessageArgument
- xref_MessageDef
- xref_MessageText
- xref_ValueXRef
- xref_ValueXRefData
Una vez hemos visto la estructura de los archivos XML de xref y para qué sirve cada uno de ellos, en el siguiente artículo veremos cómo obtener estos datos, o bien llamando al API de BizTalk si vamos a leerlos desde código u orquestaciones, o bien empleando functoids si los leemos en mapas.
f1f96530-ae94-4950-8822-df3d4ae2d979|0|.0