Gerenciamento e Controle de Versão

De Qknow
Ir para: navegação, pesquisa

Introdução

Controle de versão, também conhecido como Source Control ou Software Configuration Management (SCM) trata do gerenciamento de mudanças em arquivos armazenados em computadores. É comumente utilizado em desenvolvimento de software mas se aplica bem em ambientes onde o uso do QlikView é bastante amplo na organização. Quando o time de elaboração de painéis cresce, os problemas de gestão do ambiente, versões, conflitos pelo mesmo arquivo, entre outras questões, igualmente aumentam.

No QlikView 10 em diante, é possível utilizar o Microsoft Team Foundation Server ou controles de versões populares como SVN com o cliente TortoiseSVN. A idéia de integrar um sistema de controle de versão corresponde a capacidade de acompanhar mudanças, evoluções, trabalhos em conjunto sobre os mesmos arquivos e, principalmente, versionamento. Em ambientes corporativos é comum existirem múltiplas versões dos mesmos arquivos (painéis, extratores ou transformadores do QlikView) com inúmeros profissionais trabalhando para evoluções e correção de falhas.

Este artigo aborda as características da construção de painéis em Qlik integrado a um sistema de gerenciamento de versões capaz de comparar, bloquear, recuperar e unir múltiplos arquivos de um ou mais painéis.

Modelos de Gestão de Versão

Bloqueio de Arquivos

Modelos tradicionais utilizam um servidor centralizado para hospedar os arquivos e gerenciar as versões dos produtos elaborados. Se dois desenvolvedores tentarem acessar o mesmo arquivo um bloqueio impedirá que modificações sejam feitas em sobreposição as primeiras modificações do primeiro desenvolvedor. Porém, outro modelo também está disponível onde dois ou mais usuários podem alterar as mesmas versões que serão consolidadas por um processo denominado merge (mesclagem).

O modelo de bloqueio de arquivos é geralmente o mais presente nas ferramentas de SCM. Assim, quando um elaborador de painéis precisa alterar ou evoluir os requisitos um processo de check-out é realizado. Neste momento, uma cópia dos componentes hospedados em um servidor SCM é realizada para o diretório de trabalho do desenvolvedor (ou usuário) e o arquivo (ou arquivos) original é bloqueado.

Quando o trabalho é concluído o desenvolvedor (ou usuário) realiza o processo conhecido como check-in, devolvendo ao controle central os arquivos alterados e liberando-os para outros profissionais. Este modelo é eficaz para evitar que trabalhos sejam sobrepostos, mas ineficiente para permitir que múltiplos usuários possam alterar partes diferentes do mesmo projeto. Por vezes, um bloqueio é tão demasiadamente longo que os desenvolvedores (ou usuários) preferem fazer uma cópia dos arquivos centrais em suas máquinas locais e iniciar as modificações mesmo antes dos arquivos terem sido liberados, causando um impacto de falta de governança ainda mais crítico.

Mesclagem de Versões (Merging)

Muitos sistemas de controle de versão permitem que múltiplos desenvolvedores atuem no mesmo arquivo ao mesmo tempo. O primeiro deles que executar a operação de check-in preservará suas modificações sem necessidade de futuras ações. Já os demais profissionais atuando no mesmo arquivo que efetuarem a operação de check-in posteriormente, terão seus trabalhos mesclados aos do primeiro check-in, em uma operação geralmente delicada.

Felizmente, as ferramentas evoluíram para exibir as partes modificadas pelos profissionais ao mesmo tempo, permitindo que se possa avaliar as mudanças entre as duas versões editadas do mesmo arquivo. Assim, as capacidades de exibição de diferenças permitem que o segundo profissional possa avaliar a melhor forma de realizar a união das versões sem impactar em erros ou problemas de lógica em scripts, por exemplo.

Muitos sistemas de versionamento utilizam as expressões baseline, label ou tag para se referir a uma cópia (ou snapshot) do produto versionado (arquivo, painel, etc.). Muitos profissionais utilizam estes termos como se fossem o mesmo conceito, o que é amplamente aceito. Mas algumas documentações podem referenciar baseline como uma mudança mais drástica ou significativa (evolução ou correção) dos arquivos hospedados em um SCM, enquanto o termo label ou tag podem significar uma identificação dentro da baseline.

Configuração do Software de Controle (SCM)

Pre-requisitos para o Team Foundation

Caso a companhia ou unidade disponha do software da Microsoft chamado Team Foundation Server (licenças são necessárias) é possível instalar um ambiente servidor a partir dos seguintes requisitos de software e hardware:

  • Microsoft Active Directory (AD) (opcional)
  • Microsoft DOT NET Framework 4.0 ou Superior
  • Microsoft SQL Server 2008 Express Edition (gratuito)
  • Sistemas Operacionais Windows Server 2008, Vista, XP ou Superior
  • Plataforma 32 ou 64 bits em Intel 1GHz ou superior
  • Mínimo de 512GB de RAM (1GB ou mais é recomendável)

O SQL Server 2008 Express é uma ferramenta fácil de usar com os requisitos necessários a proteção de dados e boa performance. Ideal para aplicações servidoras médias e hospedagem local, além de ser gratuito. O Microsoft Team Foundation pode ser obtido no site da Microsoft onde três arquivos são baixados. Os três arquivos (um executável e dois arquivos compactados em formato .ZIP) compõe um CD de instalação em extensão .ISO. Após efetuar o download e abrir o arquivo executável, um novo arquivo com a extensão .ISO será gravado no disco com o nome de VS2010TFSTrialENU.iso. Para abrir o arquivo será necessário montar um disco virtual a partir de uma ferramenta como o Daemon Tools, que precisa ser baixada e instalada.

Arquivos de Instalação

Baixe os arquivos necessários nos links a seguir:

Instalação do SQL Server 2008 Express

Capturar1.PNG
Capturar4.PNG
Capturar7.PNG
Capturar13.PNG
Capturar14.PNG
Capturar17.PNG
Capturar19.PNG

O procedimento de instalação do SQL Server 2008 Express é relativamente simples e guiado por um assistente de instalação iniciado pela execução do programa setup. A primeira vista os arquivos são descompactados (imagem ao lado) e em seguida o processo de instalação se inicia. Após os arquivos serem descompactados é preciso confirmar que a intenção é executar o programa, respondendo Yes para a pergunta do ambiente Windows. Quando a janela de início da instalação for exibida, escolha o atalho Installation seguido de New SQL Server stand-alone instalation or add features to an existing installation.

Certifique-se de estar autenticado no sistema operacional Windows com uma conta com privilégios administrativos ou que permita a instalação de softwares. De outra forma, o programa de instalação não poderá prosseguir.

O SQL Server 2008 será utilizado pelo Team Foundation para hospedar os dados referentes as versões, baselines, arquivos gerenciados, etc. Caso exista uma versão do SQL Server Enterprise na companhia, esta instalação não se fará necessária, podendo ser utilizado o servidor SQL 2008R2 ou superior que estiver disponível.

Após passar pelo processo de verificação dos itens de requisitos mínimos, o programa de instalação apresentará a janela de licenciamento. Se o objetivo é instalar a versão Express, basta escolher o item Express With Advanced Services.

Escolha os itens essenciais a serem instalados no setup. Basicamente os itens a serem instalados são o Database Engine Services e Managment Tools - Basic. Tanto replicação quando as ferramentas de desenvolvimento SDK não são necessárias e podem ser mantidas desmarcadas. Uma vez com as escolhas feitas, defina os diretórios de destino para o programa de instalação. Tipicamente o caminho padrão escolhido pelo instalador é C:\Program Files\Microsoft SQL Server\ e C:\Program Files (x86)\Microsoft SQL Server\.

Ao avançar, o programa de instalação solicitará a informação sobre como a instância do SQL Server será acessada. Esta configuração não poderá ser alterada após a instalação, por isso é fundamental que seja escolhida de maneira adequada ao ambiente. Geralmente, o SQL Server é instalado como uma instância padrão (default), salvo quando uma outra instância já existe. Neste caso, será obrigatório definir uma instância nomeada. O nome da instância fica a critério da companhia, mas deve ser lembrada para posterior configuração do Team Foundation Server. Este tutorial assume que a instalação do SQL Server foi realizada utilizando o default. Ou seja, a instância não será nomeada.

Observe que o SQL Server 2008 Express necessita de cerca de 1.2GB de espaço em disco para instalação do programa e as bases de dados padrão. Por isso, antes de executar o programa de instalação assegure-se de que este espaço esteja disponível. O programa de instalação será interrompido caso não haja espaço suficiente. Ultrapassado os requisitos de disco, o programa de instalação irá apresentar a tela de configuração da conta de serviço.

Um serviço, em ambiente Windows, é um programa executado sob o contexto de segurança do sistema operacional ou sob uma conta designada pelo instalador. Qualquer programa, tal como o SQL Server 2008 Express, pode instalar serviços em nível de sistema operacional com intuito de ser executado independente de usuários autenticados ou da ação voluntária de um operador. Ou seja, sempre que o sistema operacional é iniciado os serviços configurados são automaticamente abertos (ou, comumente chamados de iniciados).

Embora os serviços a serem instalados possam ser executados em nível de contas internas do sistema, chamadas de LOCAL SYSTEM ACCOUNTS, é recomendável que uma conta de usuário seja designada para execução dos serviços do SQL Server. Se o equipamento faz parte de um domínio, esta conta deve ser criada em nível de Active Directory (AD) e incluída como administradora local no grupo Administrators. Não é recomendável que esta conta seja uma conta de usuário regular. Ou seja, não se deve incluir uma conta de serviço com o usuário de um profissional que poderá alterá-la no futuro. A conta deve ser, portanto, exclusiva para os serviços do SQL Server.

O uso de uma conta de serviço com privilégios administrativos facilita o processo de instalação e configuração, embora não seja necessário. Quando o programa setup é informado da conta de serviço os privilégios necessários são automaticamente atribuídos às contas de serviço indicadas. A Microsoft recomenda que haja uma conta separada para cada um dos serviços instalados pelo SQL Server Express 2008, mas a mesma conta pode ser utilizada para ambos. Como o propósito desta instalação refere-se ao uso do Team Foundation Server e não como uma plataforma de banco de dados para sistemas OLTP, a mesma conta será designada para todos os serviços solicitados pelo setup.

A criação das contas das contas deve ser realizada em nível de sistema operacional via Computer Management. Para criação de contas é necessário ter privilégios administrativos no Active Directory ou, no caso de instalações fora de um domínio, privilégios administrativos locais. Para maiores informações sobre criação de contas no ambiente Windows consulte o manual do sistema operacional em uso. Este artigo foi escrito considerando o uso do Windows Server 2008R2.

Para fins de configuração das contas de serviço do SQL Server neste artigo, um usuário denominado SQLServerAccount foi criado em nível de sistema operacional. Obviamente, este usuário não existirá em seu ambiente e o nome da conta pode ser qualquer uma que siga os padrões de sua organização e que respeite as regras de criação de usuários no ambiente Windows. Acionando o botão Use the same account for all SQL Server services a mesma conta é utilizada para todos os serviços.

Uma vez que as contas de serviço (ou uma única conta) tenha sido atribuída, o SQL Server solicita o modo pelo qual o administrador do SGBD será autenticado. Por padrão, a operação ocorre pela integração com o sistema operacional através da opção Windows Authentication, onde o usuário do sistema operacional validado pelo Active Directory ou base de usuários local será automaticamente autorizado como administrador.

Outra maneira de realizar a autenticação para o superusuário do SQL Server 2008 é atribuir ao login interno do SGBD chamado de sa (System Administrator) uma senha. Este artigo assume que o administrador do sistema de gerenciamento de banco de dados será o usuário do SQL, sa. Por isso, uma senha é atribuída ao usuário selecionando a opção Mixed Mode (SQL Server authentication and Windows authentication). Note que é necessário adicionar ao menos um usuário do sistema operacional com privilégios administrativos, por isso, na opção Specify SQL Server administrators o usuário instalador foi adicionado através do acionamento do botão Add Current User.

Após estas definições nenhuma outra configuração será necessária nas telas seguintes. Basicamente o assistente de instalação ainda apresentará as telas de Error and Usage Reporting onde nenhuma das duas opções precisa ser assinalada, além de apresentar um resumo da instalação nas telas seguintes, Installation Rules e Ready to Install. Avançando por estas janelas inicia-se o processo de instalação percorrendo a interface Installation Progress. Se nenhum erro for detectado durante o procedimento o assistente finaliza com a janela chamada Complete.

Embora não seja necessário é recomendável que o sistema operacional seja reiniciado. Assim, os serviços instalados serão automaticamente iniciados quando o Windows Server iniciar. Dependendo das configurações realizadas os serviços SQL Server (SQLEXPRESS), SQL Server Agent (SQLEXPRESS), SQL Server Browser, SQL Active Directory Helper Service e SQL Server VSS Writer estarão presentes na lista de serviços do Server Manager do sistema operacional Windows Server.

Basicamente, o serviço MSSQL$SQLEXPRESS precisa estar iniciado no sistema operacional, visto através da opção Services do Server Manager ou por meio da execução do comando sc query MSSQL$SQLEXPRESS no prompt de commando. Neste último caso, o comando apresentará o status do serviço na linha STATE. Espera-se que o status seja o número 4, RUNNING.

Importante! Se o Team Foundation Server for instalado em um equipamento diferente do SQL Server 2008 Express, será preciso configurar o SGBD para aceitar conexões externas (fora do próprio servidor) através o utilitário SQL Server Configuration Manager. Após iniciar o utilitário deve-se abrir a opção SQL Server Network Configuration e em seguida Protocols for SQLEXPRESS. Do lado direito da janela serão exibidos os protocolos instalados por padrão com os respectivos status. Note que apenas o item Shared Memory estará habilitado. Esta configuração permite acesso ao SGBD a partir da máquina local, sem conectividade com a rede. Para habilitar conexões externas, é preciso alterar o status do item TCP/IP para ENABLED.

Instalação do Team Explorer

TeamFundationISOFiles01.PNG
TeamExplorerSetup01.PNG

Para realizar a instalação do Team Explorer é necessário ter realizado o download do arquivo .ISO a partir do site da Microsoft. O arquivo .ISO pode ser aberto com um utilitário que monta uma unidade de disco semelhante a um CD-ROM. Dependendo do sistema operacional em uso e das ferramentas instaladas, abrir o ISO será uma ação interna do Windows, bastando clicar duas vezes no arquivo. Para instalação do Team Explorer acesse a pasta TeamExplorer a partir da unidade virtual montada e execute o programa setup.exe.

O processo inicia-se pela descompressão dos arquivos necessários, seguido das telas de configuração apresentadas pelo assistente. Após as telas de boas vindas é preciso aceitar os termos de licenciamento para prosseguir com a instalação do software. Cerca de 600MB são necessários para a instalação do Team Explorer. Com o espaço em disco disponível basta seguir as demais telas do assistente para concluir a instalação do produto.

Quando o processo do setup finaliza a tela de conclusão é exibida com a mensagem de que o processo foi executado com sucesso. Mensagens complementares informam que é altamente recomendável a atualização do produto, o que não foi alvo deste guia. Certifique-se de instalar o Team Explorer antes da instalação do Team Foundation Server.

O Team Explorer é útil para gerenciar as atividades de elaboração de painéis que foram designadas a você ou ao seu time. O Team Explorer é um plug-in que pode trabalhar com o Visual Studio ou Eclipse. Nos passos seguintes o Team Explorer será conectado ao Team Foundation Server, embora também possa ser conectado ao Visual Studio Online. Se precisar de maiores informações sobre o Team Explorer consulte o site da Microsoft clicando aqui].

Se tiver concluído a instalação com sucesso, prepare-se para instalar o Team Foundation Server a partir do mesmo arquivo .ISO que foi acessado por meio de um software para simular unidades de disco (dependendo do sistema operacional).

Instalação do Team Foundation Server

TeamFundationSetup07.PNG
TeamFundationSetup09.PNG
TeamFundationSetup11.PNG
TeamFundationSetup12.PNG
TeamFundationSetup17.PNG

A instalação do Team Foundation Server incia-se muito semelhante ao Team Explorer, descompactando os arquivos necessários. O arquivo para inciar o assistente está localizado na posta TFS-x64 ou TFS-x86 para sistemas 64 bits ou 32 bits, respectivamente. Após apresentar a tela de boas vindas, basta avançar para que seja apresentada a janela contendo os termos de licenciamento. Semelhante a figura ao lado, é preciso aceitar os termos e condições para poder prosseguir com o assistente de instalação.

São necessários cerca de 1.2GB de espaço livre para hospedar os arquivos do TFS. Certifique-se de que haja espaço suficiente na unidade onde deseja instalar o software. O programa setup apresenta três componentes que fazem parte do conjunto da instalação, incluindo Team Foundation Server, Team Foundation Server Proxy e Team Foundation Build Service. Mantenha as três opções selecionadas e acione o botão Install.

Aguarde a cópia e instalação dos componentes até que a janela de sucesso tenha sido exibida. Mantenha a opção Lauch Team Foundation Server Configuration Tool marcada e siga os passos apresentados a seguir.

O primeiro passo ao iniciar o assistente de configuração do Team Foundation Server é inserir o número da licença que habilitará o software. Caso não disponha de uma licença no momento da instalação, o produto poderá ser instalado em modo de avaliação que irá operar por 90 dias. Após entrar com os dados de licenciamento ou manter a opção de avaliação habilitada, avance para as próximas etapas de configuração do TFS clicando no botão Activate.

Existem múltiplas opções para configuração do Team Foundation Server. Para projetos em organizações pequenas e médias é aconselhável o uso da opção Basic. Esta configuração permite incluir os serviços necessários ao Team Foundation Server de forma a utilizar o SQL Express como repositório (ou mesmo uma versão SQL Enterprise que já exista no ambiente) além das seguintes funcionalidades:

  • Controle de fonte dos painéis (arquivos .QVW).
  • Configuração compacta mas eficiente do TFS.
  • Controle de versão e trabalho em equipe no mesmo projeto.
  • Comparação entre baselines diferentes.

A configuração básica não inclui os serviços de integração ao SharePoint e Reporting. Este artigo descreve os passos utilizando a opção Basic. Escolhendo esta opção e avançando para as próximas etapas será possível designar o servidor SQL Server a ser utilizado para hospedagem dos dados do TFS.

Se a instalação do TFS ocorrer em um equipamento que já possui o SQL Server instalado, apenas a opção de configurar o servidor estará habilitada, tal como o que ocorreu na documentação deste artigo. Caso contrário, a opção para a instalação do SQL Express poderá ser selecionada, o que não é o caso. Neste artigo, tanto o SQL Express quanto o Team Foundation Server foram instalados no mesmo equipamento.

Assumindo que um servidor SQL Server esteja disponível, a opção Use a existing SQL Server Instance deve ser selecionada. Ao avançar o assistente acionando o botão Next, será possível informar as configurações de conectividade com o banco de dados, incluindo nome do servidor seguido do nome da instância. Importante! Caso o servidor de banco disponível seja uma versão SQL Server da instituição que não a EXPRESS, é possível que a instância padrão tenha sido utilizada. Neste caso, bastará informar o nome do servidor SQL Server (nome de rede) sem a contra barra. No entanto, se o servidor de banco tiver sido instalado com uma instância padrão do SQL EXPRESS ou uma instância nomeada, a conectividade do TFS ao SGBD se dará pelo nome do servidor seguido de uma contra barra e o nome da instância.

Neste artigo, o SQL EXPRESS foi instalado e a instância nomeada como SQLExpress. Por isso, na interface de seleção do servidor de banco foi informado o nome de rede do servidor SQL seguido da contra barra e o nome da instância. Após ter sido escolhido o servidor que será utilizado para configuração do TFS, basta seguir com o assistente para as próximas etapas. Quando solicitado, informe os dados de credencial administrativa (sa) do banco de dados, se solicitado.

Aguarde os arquivos serem copiados e os serviços instalados, incluindo as configurações no IIS. Quando a janela de conclusão apresentar a mensagem de sucesso o trabalho estará completo no que tange a instalação dos servidores.











Instalação do MSSCCI TFS Provider