Integration Services 2012: implementando soluções de ETL – Parte 2
A necessidade de implementação de projetos envolvendo a integração de diferentes sistemas é algo extremamente comum nos dias atuais. As soluções resultantes podem se basear tanto no compartilhamento de dados em tempo real através do uso de Web Services, quanto na transferência em lotes e num horário específico de informações que partam de uma origem para um determinado repositório de destino.
Embora Web Services representem um meio rápido e instantâneo para a troca de dados entre aplicações, o comum é que a utilização destes componentes esteja restrita a contextos caracterizados por um tráfego menor de informações. Por outro lado, grandes quantidades de dados são geralmente manipuladas por softwares executados dentro de intervalos de tempo pré-definidos, de forma a não comprometer com isto a performance na utilização de um ou mais sistemas.
No caso específico desta segunda alternativa, as rotinas responsáveis por essas tarefas de integração costumam ser implementadas empregando as mais variadas tecnologias. É bastante comum que tais soluções possuam um código extenso e complexo, dificultando não apenas a sua manutenção, como também o entendimento do processo como um todo.
A inexistência de uma documentação que detalhe o fluxo das diferentes atividades realizadas durante o processamento só vem agravar esta situação, não sendo raro que modificações em aplicações deste tipo produzam efeitos indesejáveis e exijam esforços posteriores na correção de problemas.
O SQL Server Integration Services (SSIS) representa a solução oferecida pela Microsoft para atender a esses cenários de integração. Combinando a utilização de tecnologias heterogêneas para a manipulação de dados (tais como bancos de dados relacionais, XML, arquivos texto, planilhas do Excel, dentre outras alternativas) a recursos do .NET Framework, esta ferramenta possibilita a construção de aplicações capazes de se comportar de uma forma robusta e escalável (BOX 1) diante de grandes volumes de informações.
Outro ponto que pesa a favor do uso do Integration Services está na construção de projetos a partir da modelagem gráfica de fluxos divididos em tarefas. Isto contribui para tornar mais simples o desenvolvimento de novas aplicações, evitando assim a implementação de extensos trechos de código que coordenem as interações entre atividades.
O entendimento de como uma solução do Integration Services funciona também se torna mais intuitivo, característica esta que facilita o aprendizado desta ferramenta por parte de desenvolvedores que não estejam familiarizados com a mesma.
A meta da primeira parte deste artigo é apresentar as principais características do Integration Services e de que maneira esta ferramenta pode ser útil na integração entre sistemas. Para isto será apresentada uma aplicação que aborda a exportação de dados de uma base relacional, gerando como resultado arquivos no formato .csv. Numa próxima edição demonstraremos o processo inverso, com a importação de informações para um banco de dados a partir de arquivos em diferentes formatos.
O conceito de escalabilidade refere-se à capacidade de um sistema se adequar a uma demanda crescente no seu uso, sem que com isto deixe de corresponder ao que se esperava inicialmente para o mesmo.
SQL Server Integration Services: uma visão geral
O SQL Server Integration Services pode ser considerado uma evolução de outra ferramenta de ETL (BOX 2) da Microsoft: trata-se do Data Transformation Services (DTS), que foi disponibilizado quando do lançamento da versão 7 do SQL Server. Já a primeira versão daquilo que atualmente se conhece como Integration Services surgiu com o SQL Server 2005.
Desde então, cada novo release do SQL Server vem acompanhado por avanços no que se refere aos recursos oferecidos pelo Integration Services. Na versão 2012 isto não foi diferente, com melhorias em questões como a configuração e o deployment de soluções, monitoramento de aplicações e resolução de problemas, mecanismos que possibilitam uma maior qualidade em transformações de dados, dentre outros aspectos. Uma relação completa dos novos recursos do Integration Services pode ser encontrada num dos endereços listados na seção de Links deste artigo.
O processo conhecido como ETL (sigla do inglês “Extraction, Transformation and Load”) funciona, em termos gerais, da seguinte forma: a partir de um repositório de origem serão extraídos dados, com os mesmos sendo transformados seguindo critérios específicos a um determinado contexto. Por fim, tais dados serão carregados numa base de destino. Soluções próprias de ETL podem vir a ser desenvolvidas, muito embora existam ferramentas práticas e bastante flexíveis como o SQL Server Integration Services.
Do ponto de vista arquitetural, uma aplicação do Integration Services é constituída por um ou mais packages (pacotes). Já um package é formado por tasks (tarefas) que seguem geralmente um fluxo de execução contínuo. A implementação de um pacote é feita por meio do Visual Studio, através da modelagem gráfica de um fluxo com as tarefas que irão compor o mesmo; essa última característica torna a construções de soluções para o Integration Services um processo intuitivo e, portanto, mais fácil de ser assimilado por desenvolvedores que começam a ter os primeiros contatos com esta ferramenta.
Na prática, um package nada mais é do que um arquivo XML com a extensão .dtsx, podendo combinar instruções para o acesso a bancos de dados, arquivos e outros tipos de repositórios a trechos de código baseados em recursos da plataforma .NET. No caso específico da versão 2012, o SQL Server conta com o suporte para bibliotecas geradas sob do .NET Framework 4.0, sendo que essa característica se estende ao Integration Services.
Packages podem acessar repositórios de dados dos mais variados tipos:
· Bases de dados relacionais que suportem drivers ODBC, OLE DB e ADO.NET;
· Bases multidimensionais mantidas através da ferramenta Analysis Services (BOX 3);
· Arquivos de texto;
· Planilhas do Excel;
· Web Services.
O Analysis Services é um serviço que integra o SQL Server, sendo utilizado na construção de aplicações baseadas em conceitos de Business Intelligence. Esta ferramenta viabiliza a realização de sofisticadas análises, as quais normalmente servem de suporte para a tomada de decisões no meio corporativo. Isto acontece através da implementação de bases históricas alimentadas a partir de bancos de dados transacionais, sendo que tais repositórios costumam ser modelados de uma forma multidimensional (empregando para isto estruturas como cubos e dimensões).
Quanto à sua forma de execução, packages podem ser acionados das seguintes maneiras:
· A partir de uma aplicação .NET que tenha acesso ao diretório em que se encontra um determinado package;
· Remotamente, através de instruções .NET para se acessar um package previamente instalado num servidor SQL Server.
Maiores detalhes a respeito do funcionamento e da implementação de packages do Integration Services serão abordados mais adiante nos exemplos práticos deste artigo.
Possíveis cenários de utilização do Integration Services
Graças à sua flexibilidade e ao suporte no acesso a diferentes repositórios de dados, diversos são os cenários em que o Integration Services poderá ser empregado. A seguir estão listadas algumas das possibilidades de uso desta ferramenta:
· Na replicação de informações entre diferentes bases de dados;
· Na integração entre sistemas fiscais/contábeis e órgãos governamentais, sendo possível destacar iniciativas como o SPED (sigla de “Sistema Público de Escrituração Digital”). Este último é um projeto do governo federal que procura automatizar o recebimento de informações relativas a Livros Fiscais, Contábeis e de PIS / COFINS mantidos por organizações dos mais variados segmentos;
· Em processos de ETL, os quais normalmente estão associados à produção de dados para a geração de complexas análises em soluções de BI (BOX 4);
· Na exportação de dados sob a forma de arquivos, em situações que geralmente envolvem a integração entre um sistema de origem e outras aplicações. Exemplos disso é a geração de listas de preço disponibilizadas por um fornecedor ou fabricante de um conjunto de produtos, o envio de informações para cobrança bancária utilizando o padrão conhecido como CNAB, dentre outros processos relacionados ao compartilhamento de dados.
BI (sigla em inglês para “Business Intelligence”; termo também conhecido como “Inteligência Empresarial”) é um conjunto de técnicas que envolvem a coleta, o processamento e a geração de informações a partir de dados gerados em operações cotidianas de uma organização. Este tipo de procedimento busca, a partir de tais práticas, prover análises que auxiliem profissionais de gestão em atividades relacionadas à tomada de decisões.
Exemplos de soluções utilizando o Integration Services
A fim de demonstrar como o SQL Server Integration Services 2012 pode ser utilizado, serão criadas quatro soluções no Microsoft Visual Studio 2012 Professional:
· TesteIntegration01: solution em que constará um projeto do Integration Services para a exportação de informações de produtos sob a forma de arquivos .csv. Existirão ainda nesta solução três projetos do tipo Console Application, sendo que os mesmos apresentam diferentes maneiras de se executar um package do Integration Services por meio de recursos da plataforma .NET;
· TesteIntegration02: nesta solução será demonstrada a importação de arquivos .csv, .xlsx e .txt a partir de aplicações do Integration Services. Será criado para isto um projeto em que serão carregadas informações sobre notas fiscais que envolvam o pagamento de serviços contratados por uma empresa hipotética.
Antes de iniciar a implementação destas Solutions, será necessário instalar o pacote “Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012” (caso este procedimento ainda não tenha sido realizado anteriormente). Essa extensão é responsável por ativar dentro do Visual Studio 2012 templates que permitem a construções de soluções baseadas no Integration Services, Analysis Services e Reporting Services (BOX 5).
O Reporting Services é uma solução da Microsoft para a criação e o gerenciamento de relatórios no ambiente corporativo. Trata-se de uma ferramenta extremamente ...
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.