You are on page 1of 6

Avaliao do Produto CA Harvest

Marcos Hidalgo Nunes


Clula de Servios de Uso Comum
Novembro de 2004

Objetivo
Este relatrio analisa o uso do Harvest como ferramenta para gerenciamento de mudanas,
incluindo o controle de verses dos fontes dos programas de plataforma aberta. Para os fontes de
mainframe a CA oferece o Endeavour para suprir a mesma funcionalidade. Estes produtos fazem
parte do conjunto de solues AllFusion, para gesto de mudanas. Neste trabalho ser
mencionada a integrao das ferramentas atravs do AllFusion Enterprise Workbench, que permite
a criao de uma solicitao integrando o mainframe e Plataforma Aberta.
A soluo no cobre aspectos referentes documentao de fontes, incluindo referncia cruzada
entre os programas.

Situao Atual
Atualmente o gerenciamento de fontes e a gesto de mudanas so processos completamente
distintos, com diferentes procedimentos para as reas que usam esse procedimentos em
plataforma aberta.
O gerenciamento de fontes feito atravs dos seguintes produtos:
Microsoft Visual SourceSafe
Gerenciador de fontes que vem junto com o Microsoft Visual Studio, estando fortemente integrado
com essas ferramentas. Foi testada a integrao com o IBM WebSphere Application Development
Studio (WSAD) atravs do uso de um "plugin" padro Eclipse, com sucesso.
As aplicaes VB da Clula de Sistemas Administrativos, aplicaes VB e ASP da Clula de
Processos P.A. e as pginas JSP das aplicaes Java da Clula de Produtos P.A. so gerenciadas
por esse produto. A Clula de Servidores mantm os repositrios dos servidores, incluindo o
procedimentos de "backup". Atualmente a ferramenta que gerencia a maior parte do cdigo fonte
de plataforma aberta da Serasa.
Essa ferramenta (VSS) possui funcionalidades bsicas, como guarda do histrico de verses,
incluindo comparao de fontes, "check-in" e "check-out" e possibilidade de reverter a uma verso
anterior. Alm disso a nica ferramenta que integra com o Microsoft Visual InterDev, ferramenta
padro no desenvolvimento de pginas ASP.
O controle de fontes feito individualmente para cada arquivo que compe uma soluo (por
exemplo mdulos e classes que geram uma DLL), No h o conceito de pacotes, cobrindo tudo o
que necessrio para compilar um programa.
Devido s limitaes da ferramenta, a Clula de Produtos P.A. desenvolveu um controle especfico,
conforme NQ-00.132, para atender as KPAs previstas pelo CMMi.
Na verso 2005 do Visual Studio .NET, ela ser oferecida como uma soluo departamental, sendo
que para desenvolvimento corporativo a Microsoft oferecer uma nova soluo que usar o
Microsoft SQL Server 2005 para gesto de fontes.
Repositrio do IBM VisualAge
Este repositrio guarda as verses das classes Java desenvolvidas com o VisualAge. Ele est
totalmente integrado ferramenta e permite o controle de verses por pacotes. A manuteno
deste repositrio est ao cargo da Clula de Groupware & EDI.

A ferramenta possui funcionalidades que facilitam o dia a dia dos desenvolvedores Java. Sua
principal limitao est em no prever o controle de cdigos como pginas JSP, scripts e outros
fontes no usados para criar classes Java.
Este repositrio um pacote fechado, de uso apenas com o ambiente VisualAge e incompatvel
com o WSAD, que a ferramenta de desenvolvimento Java que est em vias de padronizao
pelas clulas da Diretoria de Desenvolvimento de Telemtica.
CVS
Soluo de cdigo aberto para o gerenciamento de cdigo, usado principalmente no
desenvolvimento de aplicaes para ambientes Unix e linguagem Java. Na Serasa usado para
gerenciar aplicaes Java desenvolvidas pela Diretoria de Novas Tecnologias, ficando a
manuteno deste controle a cargo da Clula de Groupware & EDI.
O seu uso mais fcil para quem conhece o modelo de desenvolvimento de solues em cdigo
aberto. Alm disso ele a ferramenta padro para controle de fontes do Eclipse, base do WSAD.
Em alguns aspectos oferece funcionalidades superiores ao VSS, como concorrncia de
codificao, principalmente no uso durante o desenvolvimento de aplicaes que envolvam um
nmero grande de programadores.
Existem ferramentas que integram o CVS com o Microsoft Visual Studio, porm elas so
relativamente difceis de configurar e no usam a API de gerenciamento de fontes, ao contrrio de
outras ferramentas como o PVCS e o Harvest, objeto deste trabalho.
Atualmente no existe na Serasa uma ferramenta dedicada exclusivamente Gesto de
Mudanas. Existem programas especficos para atender funes do processo, mas eles so
dispersos entre as plataformas e no se integram entre si.
Para a atualizao de programas de programas VB, a Clula de Processos P.A. desenvolveu
programas tanto para ambiente cliente-servidor como aplicaes IIS/COM+. O GER002T copia
DLLs e programas para o servidor de desenvolvimento e o GER002P atualiza os programas em
produo. O IISAdm faz a atualizao de pginas ASP (atualmente no funciona com Windows
Server 2003) e o COMAdm atualiza os componentes de aplicaes COM+. E para a instalao de
aplicaes nos servidores Metaframe, a Clula de Servidores pede a criao de um programa de
"setup", feito geralmente com a ferramenta InstallShield.
Para as aplicaes Java a principal ferramenta de atualizao de programas o GEAR, usado
para montar scripts de atualizao e execut-los nos servidores de produo.
O controle das mudanas feito atravs de inmeras bases Notes, dispersas de acordo com as
plataformas envolvidas. Nenhuma dessas bases tem integrao entre si e com os programas que
executam as mudanas, o que demanda operaes manuais para execut-las. Outro ponto a
ressaltar que no existe uma ligao entre as solicitaes no mainframe e plataforma aberta,
mesmo quando existam dependncias entre os ambientes.

Anlise do Harvest
A avaliao do Harvest se fez atravs da presena de um consultor da CA que configurou o
ambiente e demonstrou o processo de gerenciamento de mudana atravs de diversas simulaes
de cenrios. O trabalho foi complementado com uma visita ao laboratrio da CA, onde foi
demonstrado o processo de compilao de programas usando o produto, bem como sua
integrao com o Endeavour atravs do Enterprise Workbench.
A instalao do Harvest foi feita em servidor Windows, usando o Oracle como banco de dados do
repositrio que ele gerencia. Segundo a CA as prximas verses oferecero o Ingres, banco de
dados que agora est disponvel segundo o modelo de software de fonte aberta.
O processo de instalao complexo, mas a CA oferece esse servio dentro do processo de
configurao do produto. Uma vez completada a instalao, o Harvest funcionou perfeitamente,
no ocorrendo nenhum problema de execuo nos testes realizados.
Os produtos AllFusion, incluindo o Harvest trabalham com o conceito de pacotes. Estes nada mais
so do que o conjunto de fontes necessrios para disponibilizar as funcionalidades dos sistemas.
Os pacotes so versionados de tal forma que possvel identificar claramente quais foram os
programas usados para compilar um determinado componente, independente de linguagem e
forma de instalao e uso.
Adicionalmente o Harvest faz a compilao de programas, atravs de scripts. Eles podem ser
customizados para incluir outros controles, como aplicar nomes fortes em assemblies .NET,
assinatura digital de applets Java, execuo de "profiling" para verificar o desempenho de
instrues SQL, entre outras possibilidades.
Pontos de Destaque:

O principal destaque da ferramenta a facilidade de modelar os processos de gesto de


mudana. Isso permite no s a aplicao das normas existentes como tambm de controles
previstos pelas KPAs do CMM e at mesmo novas demandas como "bug tracking";

S com o Harvest j possvel o casamento entre diversas plataformas (exceto mainframe)


numa nica solicitao. Por exemplo, cdigos em .NET ou Java e scripts de banco de dados.
Com isso uma solicitao que demanda alterao de banco de dados s estaria completada
com a execuo dos scripts de manuteno correspondentes;

Com o Harvest s possvel alterar os fontes dos programas se houver uma solicitao
correspondente. Adicionalmente possvel estabelecer outras regras para o seu uso, como a
obrigatoriedade de documentar as alteraes efetuadas;

Facilita a migrao do repositrio do VisualAge, onde esto ao maioria dos fontes em Java.
Com o Harvest a adoo do WSAD ser facilitada, no que diz respeito troca de repositrio
dos fontes

O Harvest permite a criao de diferentes repositrios, especficos para cada finalidade. Por
exemplo, um para .NET, outro para Java e assim por diante;

A ferramenta possui controles adequados para garantir o acesso aos cdigos a quem de
direito;

Os formulrios eletrnicos do Harvest podem ser customizados de acordo com nossas


necessidades. possvel colocar desde os questionrios para GACE e GACM at mesmo as
informaes que preenchemos hoje nas SSIs. Eventualmente ele poder trabalhar de forma
integrada com o sistema de SSI existente, usando a numerao gerada por este ltimo;

O Harvest permite a obteno de diversas consultas gerenciais, atravs de ferramentas que o


produto disponibiliza para a gerao de relatrios;

Controles hoje inexistentes em plataforma aberta, como "profile" de instrues SQL e


aderncia dos cdigos s melhores prticas so implementveis via scripts e arquivos de
compilao. Adicionalmente possvel colocar outras funcionalidades, de acordo com a
linguagem em uso e outras ferramentas que venhamos a usar;

possvel estabelecer solues especficas para ciclos de desenvolvimento. Por exemplo, se


durante a homologao for identificada uma falha grave, possvel criar uma solicitao
especfica, amarrada com a original. Enquanto as duas no estiverem na mesma fase, a
solicitao original no segue em frente;

O Enterprise Workbench permite a integrao entre solicitaes de mainframe e plataforma


aberta, atravs dos "Enterprise Packages", que fazem o casamento entre os ambientes de tal
forma que uma solicitao s atendida quando for completada em todos os ambientes.

Limitaes

O controle de acesso do Harvest no integra diretamente com o "Active Directory" que est em
implantao. Ele pode importar dados desse ambiente, mas a criao de novas usurios feita
diretamente em sua console. Isso no afeta os processos de desenvolvimento, mas poder ser
motivo de questionamento pela Segurana de Sistemas;

O controle de fontes das paginas ASP continuar manual, podendo eventualmente ser
suportado por um repositrio VSS especfico. Porm essa tecnologia dever migrar para
ASP.NET, que coberta pela integrao do Harvest com o Visual Studio .NET.

No proposta da soluo AllFusion o gerenciamento da documentao das aplicaes. Por


exemplo, a montagem de "Enterprise Packages" fica na dependncia dos processos de
documentao hoje existentes.

Concluso
O Harvest uma soluo completa de gerenciamento de mudana em plataforma aberta. Com ele
podemos resolver demandas hoje existentes, como o atendimento de requisitos das KPAs do
CMMi, introduo de melhores controles para liberao de programas em ambiente de produo,
facilidades para garantir o uso de melhores praticas de codificao e racionalizao dos
procedimentos de solicitao.
Segundo a CA, o projeto de instalao do produto em um ambiente como o nosso leva de trs a
quatro meses. Isso compreende a configurao do produto, o projeto dos repositrios de controle e
o desenho das fases de desenvolvimento a serem adotadas e o acompanhamento dos projetos
piloto que sero gerenciados pelo produto.
Durante a fase de desenho dos novos controles, podero ser revistos os procedimentos de
solicitao, contemplando at mesmo a customizao para atender os mecanismos de SSI hoje
existentes. Mesmo que este sistema seja mantido parte, os cdigos que ele gera para as
solicitaes seriam adotados pelo Harvest para seus controles internos.
Um grande diferencial est na integrao com o ambiente mainframe, atravs do gerenciamento de
pacotes do Harvest e Endeavour usando o Enterprise Workbench. Para que o uso dessa
funcionalidade seja bem sucedido, ser necessrio revisar as normas existentes para reforar a
necessidade de documentar corretamente os sistemas. O site de documentao j permite
estabelecer quais transaes do mainframe so usadas em cada sistema, bastando apenas
reforar a importncia deste dado. A partir da possvel criar Enterprise Packages adequados
quando houverem mudanas em programas do mainframe.

A aquisio do Harvest melhorar o processo de gesto de mudanas existente, atravs da


simplificao e racionalizao dos procedimentos atuais e adicionalmente facilitar a melhoria na
qualidade dos programas desenvolvidos para a plataforma aberta.

You might also like