Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual introductorio
Si las herramientas previas fueron instaladas correctamente usted ya está listo para
iniciar un nuevo proyecto de integración. En el panel de Visual Studio seleccione la
opción Nuevo Proyecto y en la casilla de búsqueda tipee SSIS. Seleccione la primera
opción para crear un proyecto nuevo de integración (Figura 2).
Todo proyecto de integración posee cuatro elementos principales que usted usara a lo
largo de la implementación del proyecto. Estos elementos se muestran a continuación.
Panel de diseño: En el se define el flujo de las tareas que nos otorga el panel de
herramientas. Podemos manejar dos tipos de flujo, de control (para tareas) y de datos
(para consultas, transformaciones y destino de datos). Dentro de este panel podemos
observar la pestaña de parámetros en la cual definimos variables que serán utilizadas a
lo largo del proyecto.
Para iniciar un proyecto bastara con seleccionar un elemento del panel de herramientas
y posicionarlo en el de diseño. Una vez se encuentre conforme con el flujo podrá
ejecutarlo presionando la tecla F5 o el botón Ejecutar.
Ejemplo practico
El ejemplo presentado a continuación muestra la interacción entre los elementos
fundamentales de un proyecto SSIS.
Descripción
Se otorga los datos de facturación para una serie de clientes. Las entidades
involucradas se muestran en la Figura 4. El ejemplo muestra como obtener el monto
total para los clientes que poseen facturas. Se extraerá la suma de todas las facturas y
los datos personales de cada cliente. Luego se enviarán estos datos hacia un servicio
REST. Los archivos utilizados en la elaboración de este ejemplo pueden encontrarse en
la sección anexos.
Declaración de variables
Para iniciar con la tarea debe crear las variables que se usaran a lo largo de la
implementación. Para mostrar el panel de variables debe posicionarse sobre el panel
de diseño, dar click derecho y seleccionar la opción Variables. Esto desplegará el panel
de variables (Figura 5).
Podemos modificar el nombre de cada tarea usando la tecla F2. La primera tarea que
se implementará será la que obtiene la suma total de los clientes con factura. Para
implementar una tarea de tipo SQL debemos definir su conexión a la base de datos. Al
dar doble click sobre la tarea Obtener total facturas se desplegará su cuadro de
configuración (Figura 7).
Figura 7: Cuadro de configuración para la tarea Obtener total facturas.
Para finalizar con la configuración de la tarea, debe asignar el valor del registro único a
la variable. Dentro del cuadro de configuración para la tarea diríjase a la sección Result
Set y siga los pasos de la (Figura 11).
Luego de configurar ambos orígenes de datos, debe ordenarlos y realizar el join, luego
almacenarlo en una variable. Cada uno de estos pasos se lleva a cabo con un elemento
del panel de herramientas. El primer elemento es Sort, dado que previo a un Merge
Join debe ordenarse como mínimo un campo por cada tabla (esto puede omitirse, pero
se recomienda realizar dicho ordenamiento). Para el ejemplo propuesto el campo
utilizado es la clave foránea id_cliente (Figura 13).
Para continuar con el flujo hacia el elemento Merge Join debe seleccionarse la dirección
de cada tabla (Izquierda o Derecha). Dado que se espera obtener los datos del cliente
se la utilizará dicha tabla con posición izquierda (Figura 14). Es posible seleccionar los
campos que se tomarán del join o modificar su tipo (Figura 15). Para finalizar se ordena
la salida del Merge Join, remueve los duplicados y asigna la salida a una variable
mediante el elemento Recordset Destination. En el cuadro de configuración para el
elemento RecordSet Destination, debemos seleccionar la variable de tipo objeto
Clientes, previamente declarada. Las variables adicionales que se pueden visualizar
son variables del sistema, utilizadas para obtener información del entorno, resultados
de tareas ejecutadas con anterioridad, etc. (Figuras 16 – 17).
Puesto que, ya se dispone de ambos resultados de interés, suma total de las facturas
y clientes con al menos una factura, es menester enviar dichos datos al servicio REST
de su preferencia. Sin embargo, para este ejemplo se ha diseñado un endpoint de
prueba que retorna los datos enviados. La función de este endpoint es permitirle
depurar el estado de la petición, y así poder visualizar como la tarea que envía los datos
espera la respuesta.
Tarea Script
Para realizar una petición HTTP a un servicio externo se dispone de dos posibilidades,
tareas de tipo Web Service (servicios definidos mediante WSDL) o tareas de tipo Script
las cuales permiten definir la petición mediante HttpClient. Para el ejemplo actual se
utilizará una tarea de tipo Script.
Al momento de configurar la tarea de tipo script debe seleccionar las variables que este
utilizará. Adicionalmente, previo a la implementación del script deben agregarse las
referencias para la vinculación JSON y el cliente HTTP. En el cuadro de exploración
de la ventana emergente podrá llevar a cabo esta tarea. Debe agregar la referencia para
System.Net.Http y System.Text.Json filtrada por la palabra json (Figura 20).
El script principal de ejecución se define en la función main líneas 109 a 155. Se define
un objeto de tipo DataTable y OleDbDataAdapter y se lo inicializa con los registros
obtenidos en tareas previas (líneas 113 – 115). Luego se procede a iterar esta tabla de
datos y crear objetos de tipo Cliente con los datos de sus columnas (líneas 119 – 126)
(Figura 22). Para el envio de los datos debe crearse un cliente HTTP y transformar los
datos de tipo Objeto a String (líneas 136 – 140). Para finalizar se envía la petición a
través del método PostAsync del objeto HttpClient (líneas 142 – 145). Este método
recibe dos parámetros, la url y el cuerpo de la petición. Para controlar el resultado de la
petición se utiliza la propiedad Result, lo cual bloquea la ejecución hasta que se
complete la tarea. Finalmente, se controla el resultado (líneas 147- 153) (Figura 23).
Anexos