sexta-feira, janeiro 05, 2007

PowerBuilder – Utilizando o Team Foundation Source Control ao invés do Visual SourceSafe

Hoje é comum utilizarmos um software de controle de versão. Entre as opções existentes no mercado, muitas empresas selecionam o Microsoft Visual SourceSafe (VSS). Mas, apesar das vantagens existentes no VSS, existem muito problemas que acaba colocando em risco o sucesso do mesmo.

Entre os problemas, podemos citar:
1 – Fontes corrompidos: Como a base de dados do VSS é muita arcaica, sendo composta por vários arquivos em disco e sem nenhum controle transacional, é muito comum termos um fonte corrompido devido a falhas de energia o cancelamento de aplicativos. O que gera muito trabalho para o administrador do VSS e muitas vezes paralisa as atividades da equipe de desenvolvimento;

2 – Backup da Base de Dados do VSS: Como o BD do VSS é composto por milhares de arquivos, o Windows demora muito tempo para realizar o Backup destes arquivos. Em uma base de dados de 5 GB, o Windows demora 6 horas para copiar os arquivos do VSS para uma área de Backup.

3 – Analyze: Este é o aplicativo responsável por gerenciar os problemas na base de dados do VSS. Ele é a muito lento e exige que ninguém utilize a base de dados durante a execução. Por exemplo, em uma base de dados de 5GB, o Analyze demora 24 horas para executar. Lembrando que a Microsoft recomenda que este deve ser executado semanalmente. Outro problema é que nem sempre ele resolve todos os problemas, inclusive, podendo causar novos problemas ao remover um arquivo corrompido;

4 – Lentidão: Outro problema é a lentidão para executar algumas operações, como o Share/branch, delete e pesquisa na base de dados;

5 – Customização limitada e complexa: Caso seja necessário criar consulta ou procedimento que acessem diretamente a base do VSS, o custo se torna muito alto, pois é necessário recursos altamente especializados e o tempo para esta tarefa é muito grande;

6 – Software Arcaico: Devemos lembrar que a estrutura do VSS existente hoje, no ínicio de 2007 é praticamente a mesma existente em 1996. Dez anos para informática é muito tempo!!


A partir dos problemas acima, resolvi estudar outro software de controle de versão.

Como utilizamos VisualStudio 2005 e o PowerBuilder para desenvolvimento, resolvi analisar o Team Foundation Source Control ( TFSC) que é a evolução natural para o Visual SourceSafe.

A primeira questão é se o mesmo seria compatível com o PowerBuilder 9. Realizei algumas pesquisas e descobri que a Microsoft lançou uma API que realiza a compatibilidade entre outras aplicações e o TFSC, chamada de Visual Studio team Foundation Server MSSCCI Provider ( http://www.microsoft.com/downloads/details.aspx?familyid=87E1FFBD-A484-4C3A-8776-D560AB1E6198&displaylang=en ). De acordo com as informações do site, ela é compatível com PowerBuilder 10.5. Investigando melhor, descobri no Blog do desenvolvedor da Microsoft responsável pelo produto, que eles apenas testaram com o PowerBuilder 10.5, mas não quer dizer que não é compatível com outras versões do PowerBuilder. Testei com o PowerBuilder 9.0.3 Build 8784 e funcionou perfeitamente.

Já estou em fase final de deste e essa versão trouxe muitas melhorias e piorou algumas funcionalidades. Abaixo vai uma relação das vantagens e desvantagens existentes:


* Vantagens
- Utiliza Banco de Dados SQL Server;
- Não corre risco de corromper;
- rotinas de manutenção são a mesma de banco de dados (Backup e Reindex, processos rápidos e automatizados);
- Mais recursos para Administração (Permissões, Grupos de usuário e tipos de acesso);
- Maior segurança (Integrado com a segurança do Windows, não necessitando criar usuários no próprio VSS);
- Maior Velocidade no acesso e gravação dos dados (Adicionar objetos, Refresh Status e GetLatestVersion);
- Permite fazer GetLatestVersion de um HotFixes especifico;
- Manutenção pode ser feita on-line, com os usuários utilizando;
- Permite fazer Merge de uma versão inteira ou de objetos específicos;
- Não há necessidade de Archive, pois o SQL Server gerencia bem a formato da base;
- Possibilidade de criar novos índices nas tabelas e melhorar o desempenho da base de dados do VSS;
- Possibilidade de se criar consultas direto na base de dados do VSS;
- Permite acesso via http, inclusive, é possível colocar a base de dados fora da empresa, em um DataCenter;
- Resolveu problema do simbolo de alterado quando o objeto é identico
- É possível Criar vários "Bases de dados" para projetos diferentes e com permissões diferentes.

* Desvantagens
- Problema ao registrar o primeiro objeto da PBL, onde deve-se observar o limite de no máximo 25 objetos, para que o PBG seja criado corretamente;
- Complexidade para saber quais objetos foram alterados entre um label e outro;
- Novo e pouco utilizando com o PowerBuilder, o que pode ocorrer Bugs na utilização;
- Custo (Tem que comprar o TeamFoundation, SQLServer e SharePoint)
- Ao Mover o objeto tem que desconectar, mover o objeto e alterar o PBG manualmente (PBL de origem e destino) ;
- hardware Mínimo ( 1GB de memória, 20 GB HD e Processador de 2 GHZ);

Veredicto: Aprovado!!

3 comentários:

Anônimo disse...

thiago, bom dia, somos os representantes do MAKER em MG, você conhece o MAKER?
Caso queira conhece-lo envie emai para mim.
luiz@avancoinfo.com.br

Obrigado.

Unknown disse...

really its nice post about PowerBuilder. Thanks for sharing this Information.

Administrador disse...

Olá Thiago!

Você já trabalhou com o Powerbuilder 6 e com algum controle de versão (GIT, SVN, TFS) para essa versão do powerbuilder?