Do que trata o artigo

SQL Server 2008 Integration Services (SSIS) para desenvolvedores. O SSIS é uma poderosa plataforma que permite a integração de dados vindos das mais diferentes fontes. Com ele, desenvolvemos soluções para ETL (Extract – Transform – Load), ou seja, para extrair, transformar e carregar informações para um banco de dados.


Para que serve

Criação de processos automatizados de extração, transformação e carga de dados, com foco na integração entre diferentes e heterogêneas fontes de dados.


Em que situação o tema é útil

Desenvolvimento de soluções com processos de carga entre fontes de dados com alto desempenho, flexibilidade e fácil manutenção. Por exemplo, para extrair informações distribuídas em planilhas do Excel, que podem ser transformadas (usando código C#) para dados que são carregados então no SQL Server, para serem analisados (processo esse que será feito como exemplo deste artigo).

Resumo do DevMan

Mais do que um banco de dados, o Microsoft SQL Server 2008 é uma poderosa plataforma de processamento de transações online (OLTP) que evoluiu ao longo dos anos agregando outros recursos como plataforma de serviços de apoio a tomada de decisão (Analysis Services), serviço de integração (SSIS), serviço de relatórios (Reporting Services), integração com CLR do .NET, entre outros. Veremos neste artigo como podemos utilizar o Visual Studio 2008 para desenvolver uma solução de ETL para o SQL Server 2008 com o Integration Services e algumas novidades desta magnífica plataforma.

Não são raras as vezes que nos deparamos com necessidades de negócio que envolvem um conjunto de tecnologias variadas e, em cenários mais complexos, a integração entre diversas fontes de dados. Como exemplo, poderíamos imaginar o ciclo natural de crescimento de uma empresa: na medida em que cresce o volume de informações armazenadas (sejam em bancos de dados, planilhas, arquivos XML ou outros tipos de documento), aumentamos a complexidade de integração entre as fontes de dados. A informação está significativamente pulverizada em vários repositórios dificultando a construção de consultas estratégicas, sejam por meio de data warehouse ou até mesmo relatórios. Além dos problemas citados, uma empresa que não consegue estruturar suas informações estrategicamente por falta de mecanismos e processos corretos, não se beneficiará de ferramentas de apoio à tomada de decisão, tampouco com bancos de dados OLAP (On-line Analytical Processing) ou abordagens de mineração de dados (data mining).

Utilizar a ferramenta certa para cada tipo de trabalho é uma decisão importante para projetos dentro de qualquer empresa. Dentro do Microsoft SQL Server 2008 o problema descrito anteriormente é endereçado a princípio pelo Integration Services (ou SSIS, como ficou conhecido na versão SQL Server 2005), capaz de criar soluções robustas e complexas de extração, transformação e carga de dados (ou ETL, do inglês Extract, Transform and Load). Posteriormente, outros serviços do Microsoft SQL Server 2008 propiciarão os benefícios sugeridos no início desse artigo.

Focaremos daqui por diante na construção de um processo automatizado de carga utilizando o SQL Server Integration Services, na versão 2008, com o intuito de fornecer uma solução flexível e de fácil manutenção.

Integration Services é para mim?

Sim, é! A Microsoft foi paulatinamente direcionando todas as consoles e IDE’s de desenvolvimento de seus produtos para o Visual Studio. O que é bastante justificável, pois mais do que um ambiente de desenvolvimento para .NET, o Visual Studio suporta diversos tipos de projetos, como por exemplo, BizTalk, Office, Silverlight, e é claro, o SQL Server através do chamado Business Intelligence Development Studio Environment.

Outra razão para o direcionamento dos ambientes de desenvolvimento para o Visual Studio é a separação clara dos papeis dentro ciclo de criação de uma solução. Para equipes que pretendem desenvolver soluções baseadas nos serviços da plataforma SQL Server são sugeridos os papeis de arquiteto, desenvolvedor, analista e usuário, embora muito comumente os papeis de arquiteto e desenvolvedor sejam desempenhado pela mesma pessoa, às vezes acumulando também o papel de analista de negócio.

Como desenvolvedor de soluções baseadas em SSIS (SQL Server Integration Services), existem duas abordagens fundamentais na programação:

· Estender pacotes no SSIS codificando a partir dos componentes existentes para prover funcionalidades customizadas;

· Criar, configurar e executar os pacotes programaticamente através de suas aplicações.

Nota do DevMan

Em projetos utilizando SSIS o desenvolvedor implementa a solução seguindo as definições tecnológicas desenhadas pelo arquiteto do time. Um analista obtém do usuário os requisitos de negócio necessários e direciona o desenvolvedor em tempo de projeto. Uma vez implantada a solução existem mais dois papeis sugeridos: administrador e operador do SSIS, sendo o primeiro responsável pela manutenção da infraestrutura e o segundo por operar ou acompanhar o processo automatizado no ambiente de produção.

Ambiente necessário

Para desenvolver o exemplo deste artigo será necessário instalarmos o Business Intelligence Development Studio Environment e o SQL Server Management Studio disponíveis na instalação do Microsoft SQL Server. Confira a seção de links para mais informações sobre o processo de instalação. Uma vez instalado o Business Intelligence Development Studio teremos disponível no Visual Studio um novo tipo de projeto chamado Business Intelligence Projects, conforme podemos conferir na Figura 1.

Figura 1. Templates disponibilizados com a instalação do Business Intelligence Development Studio

Será necessária a instalação do Database Engine Services e do Integration Services, caso não existam no seu ambiente de desenvolvimento e, é claro, o Business Intelligence Development Studio. A Microsoft disponibiliza uma edição de avaliação especial do SQL Server 2008 que expira após 6 meses de uso (confira o link para download na seção de links). Após efetuar o download, extraia os arquivos e execute o setup. A instalação é bastante intuitiva, basta seguir os passos indicados. Lembre-se de selecionar Database Engine Services (dentro deste item selecione também ...

Quer ler esse conteúdo completo? Tenha acesso completo