This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

BTS 2006: Integración con SQL Server (II)

En el post previo de BizTalk Server 2006 (BTS 2006) os comentaba las capacidades de integración de BTS 2006 gracias al conjunto de adaptadores de que dispone. Como vimos, insertar datos en una base de datos SQL Server es bastante sencillo si se construye adecuadamente el esquema XML de inserción de datos y se configuran los puertos de recepción y envío necesarios. En este post vamos a ver como aplicando la misma filosofía se pueden extraer los datos de una o varias tablas de SQL Server 2005 y volcarlos como archivos XML en una lista de WSS.

Pasos previos a la extracción de datos

Como paso previo a la extracción de datos, definiremos un procedimiento almacenado (SP) de SQL Server que realice la operación de obtención de los datos relativos a las facturas cargadas (ver post previo). Como veremos posteriormente, este procedimiento almacenado será ejecutado desde una  receive location asociada a un puerto de recepción.

if exists (select * from sysobjects where name='ExtraerFacturas' and type='P')

            drop proc ExtraerFacturas

go

CREATE procedure ExtraerFacturas

as

            begin

                        select F.IDFactura, F.FechaFactura, DF.TotalFactura

                                   from Facturas F

                                   left join Detalle_Factura DF on

                                   DF.IDFactura=F.IDFactura

                                   for XML AUTO,XMLData,Elements

            end

 

(Notas: Este ejemplo de SP es muy sencillo. Se podría haber definido un SP para escenarios más  complejos en los que se necesiten extraer los datos necesarios para construir un informe).

Configurando los puertos necesarios de BTS 2006

Una vez definido el SP de extracción de datos tenemos que implementar en BTS 2006 el mecanismo de ejecución de dicho SP y el volcado del resultado en una lista de WSSv3.  Para ello, y a través de la BizTalk Administration Console, tenemos que definir los siguientes elementos:

·         Un puerto de recepción con la correspondiente ubicación de recepción que se encargará de realizar la ejecución efectiva del SP. Veamos como configurar dicha ubicación de recepción. El tipo de transporte tiene que ser SQL, y en la configuración tenemos que especificar:

o   La cadena de conexión, que especificaremos a traves de la ventana de configuración correspondiente.

o   El elemento raíz del documento XML que se va a generar como consecuencia de la generación del SP.

o   El target namespace para el documento XML.

o   El comando SQL que vamos a ejecutar (nuestro SP).

Como vemos, además podríamos especificar el intervalo entre consultas.

·         Un puerto de envío, que hemos e configurar para que se suscriba al puerto de recepción anterior y vuelque los datos extraídos a una librería de documentos de WSS (Del mismo modo que enviamos los datos en WSS, los podríamos enviar a una cuenta de correo, otra BD SQL Server, un carpeta, una ubicación FTP, etc utilizando para ello los distintos adaptadores que nos ofrece BTS 2006). La parte de suscripción ya la vimos en un post previo de BTS 2006, por lo que nos centraremos en las configuraciones necesarias para subir los datos a WSS. En este caso, cuando creemos el puerto de envío, especificamos que el tipo de transporte sea WSS y lo configuramos de manera adecuada:

o   Destination Folder, que especifica el nombre de la librería de documentos de WSS dónde vamos a subir los resultados de nuestras consultas periódicas.

o   Filename, en el que especificamos %MessageId%.xml para que nos cree por  cada consulta un mensaje XML único.

o   SharePoint Site Url, en el que especificamos la url del sitio de WSS dónde vamos a subir las facturas.

Probando la extracción

Sin más, para probar que la extracción de datos funciona correctamente  habilitamos la ubicación de recepción SQL creada, iniciamos el puerto de envío y comprobamos que en la librería de documentos creada en WSS van apareciendo los documentos XML correspondientes a las ejecuciones del SP definido (en este caso dejamos el polling interval de 30 segundos que nos venía por defecto en la ubicación de recepción).

Después de refrescar el sitio de WSS:

Y este sería el contenido de uno de los archivos XML subidos:

Bueno, pues  aquí finaliza la serie de dos post de integración de BTS 2006 con SQL Server. Estad seguro de que publicaremos nuevas cosas conforme sigamos probando cosas de BTS 2006 en el CIIN. Espero que el post os haya resultado interesante.

 

Published 25/1/2007 8:48 por Juan Carlos González Martín

Archivado en:
Comparte este post:

Comentarios

# BTS 2006: Integrando con SQL Server y Servicio Web.@ Friday, March 23, 2007 2:42 PM

Siguiendo con las capacidades de integración de Biztalk Server 2006 (BTS 2006) que estamos probando en

Blog del CIIN

# re: BTS 2006: Integración con SQL Server (II)@ Thursday, January 29, 2009 9:55 AM

Hola a todos.

Necesito analistas BizTalk (2006) para Madrid.

Si alguien está interesado puede escribirme a celia.ballesteros@humantech.es

Un saludo.

Celia Ballesteros