Hoje em dia as empresas estão cada vez mais investindo em informação para tomada de decisão e vantagem competitiva. Termos como BI (Business Intelligence), Data Mining e Big Data estão em evidência. E como obter informação? Através dos dados e esses podem ser obtidos dos sistemas como CRM (Customer Relationship Management), sistemas ERP (Enterprise Resource Planning), dados da Web e de redes sociais (que estão em destaque nos dias de hoje).

Com todas essas fontes de dados surge a necessidade de:

  • Integrar os dados: unificar diversas fontes de dados. Com a integração surge o desafio de eliminar redundâncias, ou seja, dados repetidos.
  • Padronizar os Dados: dados de sistemas diferentes podem ter apresentações diferentes. Por exemplo, o cliente Rodrigo no Sistema 1 é identificado pelo CPF “123456789”. Já no Sistema 2 por um ID “A01” gerado internamente. O desafio é identificar que o CPF e o ID referem-se a mesma pessoa e pensar em uma forma de identificação unificada. Outro exemplo, muito utilizado, é o sexo. Em um sistema aparece como “masculino” e “feminino”, e em outro sistema como “m” e “f”.
Já viram os novos cursos de banco de dados que a DevMedia publicou ? Confira!

Para realizar essa integração e padronização existem diversas ferramentas (proprietárias e open source).

Esse artigo tem como objetivo fazer uma apresentação inicial sobre o BIDS (Business Intelligence Development Studio), um ambiente de desenvolvimento para projetos de BI da Microsoft, em específico, sobre o SSIS (SQL Server Integration Services) - ferramenta para projetos de ETL.

A Microsoft define o SSIS como uma plataforma para criar integração de dados em nível corporativo e soluções de transformações de dados. Os conceitos desse artigo são referentes a versão 2008, mas grande parte do conteúdo apresentado pode ser aplicado em versões posteriores.

Iniciando o BIDS

Para iniciar o BIDS você deve ter o SQL Server instalado na máquina e com o mesmo habilitado. Isso deve ser realizado no momento da instalação. O sistema operacional utilizado no nosso exemplo é o Windows 7 e para localizar o BIDS vamos em: Iniciar – >Todos os programas –> Microsoft Sql Server 2008 –> SQL Server Business Intelligence Development Studio, conforme mostra a Figura 1.

Localizando e iniciando o BIDS no Windows 7

Figura 1 - Localizando e iniciando o BIDS no Windows 7.

A página inicial que provavelmente será exibida é a “Start Page”, conforme a Figura 2.

Visualizando a Start Page

Figura 2 – Visualizando a Start Page.

Do lado esquerdo da tela encontramos a opção “Recent Projects”, onde serão apresentados os projetos recentes utilizados. Logo abaixo, encontramos também a opção “Getting Started”, onde encontrará links para artigos. Ambas são exibidas na Figura 3.

Recent Projects e Getting Started

Figura 3 – Recent Projects e Getting Started.

Do lado direito encontramos o “Solution Explorer”, considerado uma das janelas mais importantes, pois nela é apresentada toda a estrutura do projeto. Como não selecionamos nenhum projeto específico ela está vazia, como podemos ver na Figura 4. Após criarmos o projeto essa janela mudará.

Na parte superior encontramos o Menu onde podemos abrir projetos existentes, criar projetos novos, acrescentar outras janelas e etc. A Figura 5 apresenta o Menu. Assim como o “Solution Explorer”, os itens do Menu também mudarão quando iniciarmos um projeto.

A janela Solution Explorer

Figura 4 – A janela Solution Explorer

Visualizando o Menu

Figura 5- Visualizando o Menu.

Criando um novo projeto

Encerradas as apresentações iniciais, é hora de criarmos um novo projeto, especificamente um projeto de SSIS.

Para isso selecionamos Menu -> File –> New –> Project, conforme mostrado na Figura 6.

Criando um novo projeto no BIDS

Figura 6 – Criando um novo projeto no BIDS.

Será aberta uma nova janela “New Project”, onde teremos as definições iniciais para um Projeto de BI Microsoft, conforme a Figura 7.

A janela New Project

Figura 7 – A janela New Project.

A Figura 8 apresenta a seção “Project Types”, onde o item a ser escolhido deve ser “Business Intelligence Projects”, pois é nele que encontram-se os templates específicos para projetos de BI.

Project Types

Figura 8 – Project Types.

Na seção “Templates”, selecione o item “Integration Services Project”, conforme a Figura 9. Aqui encontramos outros templates como “Analyses Services Project” que permite criar projetos de Cubos Olap e “Report Server Project” para criação de Relatórios.

Templates

Figura 9 – Templates.

Logo abaixo localiza-se a seção “Create a new SQL Server Integration Services project.”, onde definiremos o local onde o projeto será armazenado e o nome do mesmo. Como esse tutorial é apenas para conhecer a ferramenta, colocamos o nome de “Teste_SSIS”, mas coloque o nome de sua preferência. O nome do projeto e da solution serão o mesmo. O local escolhido para salvar o projeto foi a raiz do disco E (E:\), mas escolha o local que for melhor para sua localização e organização. Ao finalizar clique no botão “OK”. A Figura 10 ilustra essa configuração.

Create a new SQL Server Integration Services
project

Figura 10 - Create a new SQL Server Integration Services project.

Verificando o diretório indicado no passo anterior pode-se perceber a criação da pasta “Teste SSIS” e nela podemos ver o arquivo “Teste_SSIS.sln” e “Teste_SSIS.suo” que são arquivos referentes a solução e estão ilustrados na Figura 11. Alem desses arquivos podemos verificar dentro da pasta Teste_SSIS arquivos referentes ao projeto que são os arquivos com a extensões “.dtproj”,”.dtproj.user” e “.database”. Os arquivos referentes aos pacotes possuem a extensão “.dtsx”.

Verificando o diretório criado

Figura 11- Verificando o diretório criado.

Janelas e Menu

Voltando ao BIDS pode-se verificar que a janela “Solution Explorer”, anteriormente vazia, agora apresenta algumas pastas para organização do projeto. A seguir veremos uma descrição rápida sobre as pastas:

  • Data Sources: Onde configura-se conexões com bases de dados.
  • Data Source Views: Onde pode-se “consolidar” várias fontes de Dados em uma única “Visão”. Algo como unir em uma única visão objetos de Bases diferentes.
  • SSIS Packages: Nessa pasta é que serão armazenados os pacotes criados especificamente. Por default, o nome do primeiro pacote é “Package.dtsx”, mas pode ser renomeado posteriormente.
  • Miscellanneous: Talvez seja a pasta menos utilizada. Nela você pode adicionar arquivos que não influenciam na execução do pacote. Por exemplo, você pode adicionar um arquivo do Word contendo a documentação do projeto, pode adicionar arquivos do Excel com as bases para carga e etc.

Na Figura 12 pode-se verificar a estrutura do “Solution Explorer” para o projeto SSIS.

Solution Explorer após criação do projeto

Figura 12 – Solution Explorer após criação do projeto.

Percebe-se também uma nova página com o nome do pacote (Package.dtsx) na parte superior. É nessa página que será realizado o desenvolvimento do pacote. Essa página é dividida em abas menores. Segue uma breve explicação sobre cada uma:

  • Control Flow: Onde será realizado o desenvolvimento “macro” do projeto. Nessa parte é que serão realizadas as “Tasks” ou tarefas do pacote.
  • Data Flow: Onde será realizada toda importação e exportação de dados. O Data Flow também é uma tarefa pertencente ao Control Flow e essa aba só será evitável se houver pelo menos um Data Flow no Control Flow. O relacionamento entre Control Flow e Data Flow é um dos itens que mais causa confusão quando se inicia em SSIS.
  • Event Handlers: Nessa parte podemos “tratar os eventos”, por exemplo, realizar tratamento de erros, verificações de pré-execução e etc.
  • Package Explorer: Você obtém aqui informações sobre o pacote, tarefas criadas, variáveis e etc.

Os itens citados podem ser visualizados na Figura 13.

Control Flow, Data Flow, Event Handlers e
Package Explorer

Figura 13 – Control Flow, Data Flow, Event Handlers e Package Explorer.

No canto superior esquerdo encontramos a “Toolbox”, literalmente nossa caixa de ferramentas. Nela encontramos os componentes necessários para o desenvolvimento do pacote SSIS. Para adicionar um componente da Toolbox na página “corrente” deve-se arrastar o componente até a página ou dar um duplo click nele.

É importante ressaltar que os componentes da Toolbox mudam de acordo com o contexto, por exemplo, se o posicionamento do pacote for o Control Flow teremos um determinado grupo de componentes (Tasks e Contairners). Mas se o posicionamento for o Data Flow teremos outros grupos de componentes(Data Flow Sources, Data Flow Transformations e Data Flow Destinations). Em resumo, tenho um conjunto de componentes específicos para Control Flow e outro conjunto de componentes específicos para Data Flow.

Nas Figuras 14 e 15 são exibidos os componentes da Toolbox para cada contexto.

Figura 14 – Toolbox no contexto de Control Flow.

Toolbox no contexto de Data Flow

Figura 15 – Toolbox no contexto de Data Flow.

Caso alguma janela como, por exemplo, a toolbox ou solution explorer, não esteja visível podemos adicioná-la utilizando o Menu, clicando em “View”. Além disso, podemos adicionar outras janelas de acordo com a necessidade. Na Figura 16 apresenta as opções disponíveis.

Menu View

Figura 16 – Menu View.

Uma outra janela que será utilizada com frequência é a janela “Variables”. Utilizando variáveis no Integration services pode-se dinamizar e automatizar alguns processos, como por exemplo, listar vários arquivos em uma pasta e etc.

A Figura 17 apresenta a janela de variáveis.

Janela Variables

Figura 17 – Janela Variables.

Na parte superior encontram-se cinco ícones para a criação, exclusão e seleção das variáveis. Para saber o nome de cada ícone basta apenas passar o mouse sobre ele. Os ícones são:

  • Add Variable: Esse ícone deve ser utilizado quando deseja-se criar uma nova variável. Uma nova linha surgirá abaixo para edição das propriedades da variável. Vale lembrar que as variáveis criadas são classificadas como “Users Variables”, ou variáveis de usuários.
  • Delete Variable: Utilizado para deletar uma variável. Esse ícone só fica habilitado se uma variável for selecionada.
  • Show System Variables: São as variáveis do sistema. São variáveis que o próprio SSIS utiliza e retornam alguns valores que podem ser utilizados pelos usuários. Por default esse botão é desabilitado. De apenas um click para habilitar.
  • Show All Variables: Exibe todas as variáveis, mas vale lembrar que para exibir as variáveis de sistema junto com as de usuário o ícone “Show System Variables” deve estar habilitado.
  • Choose Variable Columns: Com ele escolhe-se os atributos(colunas) que serão apresentados na janela de variáveis. Por exemplo, o atributo “Namespace” é desabilitado por padrão, habilite e veja o resultado. Será incluso uma nova coluna com o nome de “Namespace”. Pode-se notar a diferença comparando a Figura 17 com a Figura 18.

Inclusão do atributo Namespace

Figura 18 – Inclusão do atributo Namespace.

A janela de variáveis possui algumas propriedades exigidas para criação de uma ou mais variáveis:

  • Name: O nome que será atribuído a variável. Esse nome fica a critério do desenvolvedor e vale lembrar que a sintaxe pode ter pequenas modificações dependendo de onde se usa essa variável. Por exemplo, se nomear uma variável como “Variavel_1” em determinados lugares fará referência a ela como “@Variavel_1” e em outros “User::Variavel_1”.
  • Scope: O escopo da variável. A variável pode ter vários escopos, por exemplo ter escopo de um componente específico, como o Data Flow ou ter um escopo para todo o pacote. O escopo, resumidamente, é o tempo de vida da variável. Dependendo da necessidade pode-se utilizar um escopo em nível de componente ou um escopo em nível de pacote.
  • Data Type: O tipo da variável. Essa variável pode ser um número, um texto e etc. Alguns dos tipos de dados encontrados no SSIS: Int32, Int64, Double, String, o interessante Object e etc.
  • A lista completa de variáveis pode ser encontrada no Books Online, que terá o link disponibilizado nas referências desse artigo.
  • Value: O valor atribuído a variável. Vale lembrar que o valor da variável depende do tipo escolhido.

Outra janela muito utilizada é a “Properties”. Nela pode-se configurar propriedades dos objetos utilizados no seu projeto. O contexto dessa janela depende do objeto selecionado, ou seja, as propriedades de um pacote são diferentes das propriedades de uma tarefa e entre as tarefas há propriedades específicas de cada. Dependendo do objeto escolhido a lista de propriedades pode ser imensa e não se preocupe inicialmente em decorar todas as propriedades dos objetos. Com o passar do tempo e com a prática irá ter em mente as principais propriedades de cada objeto. A Figura 19 apresenta a janela de propriedades para um pacote.

A janela Properties com as propriedades de um
pacote

Figura 19 - A janela Properties com as propriedades de um pacote.

O Menu, após a criação de um projeto, também mudou. Foram adicionados mais itens que serão úteis para auxiliar o desenvolvedor. Logo abaixo você encontra a descrição de alguns itens do Menu. Aconselha-se a explorar todos os itens, aprender o que cada um faz na prática. A Figura 20 exibe o Menu e seus itens.

  • File: Nele você pode abrir um projeto existente, criar um novo projeto, salvar o pacote e etc.
  • Edit: Funções de edição no padrão Microsoft, como desfazer, copiar, recortar colar e etc.
  • View: Em resumo, apresenta funções para a própria ferramenta (BIDS). Consegue-se adicionar e remover janelas, adicionar e remover itens da ToolBar, mudar do modo Designer para Código e etc.
  • Project: Com esse item podemos adicionar um novo pacote ou item, adicionar um pacote ou item existente, utilizar o assistente “Import e Export Wizard” e etc.
  • Format: Alinhamento e Design dos componentes em relação a sua exibição na tela.
  • SSIS: Logs, Configurações do pacote, variáveis, conexões e etc.
  • Tools: Conexão em um banco de dados, configurações dos componentes da Toolbox, adicionar novos recursos e componentes.
  • Window: Alinhamento das janelas, retornar ao alinhamento original e etc.
  • Help: Informações e ajudas sobre a ferramenta.

Figura 20 – Menu e seus itens após a criação do projeto.

Logo abaixo do Menu encontramos a Toolbar. Nela temos as funcionalidades através de ícones que servem como referência rápida. Podemos escolher quais Barras de ferramentas serão apresentadas ou não, de acordo com a necessidade do desenvolvedor.

Para adicionar ou remover uma barra de ferramentas: Menu -> View -> Toolbars e escolher de acordo com sua necessidade, conforme podemos verificar na Figura 21. Na Figura 22 verificamos a Toolbar após seleção.

Seleção de componentes da Toolbar

Figura 21 – Seleção de componentes da Toolbar.

Figura 22- Toolbar após seleção.

Connection Managers

Na parte inferior encontramos o Connection Managers. Toda conexão utilizada pelo pacote será encontrada nesse item. A conexão pode ser com um Banco de Dados, com um arquivo do Excel, com o Analyses Services, com um arquivo CSV e etc. Para adicionar uma conexão ao Connection Manager deve se clicar com o botão direito em cima do mesmo. A Figura 23 apresenta o Connection Managers.

Connection Managers

Figura 23 – Connection Managers.

Conhecer a ferramenta que usa é fundamental para o profissional explorar ao máximo os recursos que estão a sua disposição e com isso aprimorar e agilizar cada vez mais seu trabalho.

Esse artigo é apenas uma introdução básica sobre a interface da ferramenta. Para mais informações podem consultar as referencias no final do artigo. Até a próxima.

Referências bibliográficas: