Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Além da IDE - Monte um ambiente completo de desenvolvimento de software - Artigo Revista Java Magazine 93
O artigo trata de ferramentas úteis no desenvolvimento de sistemas e de sua integração a um ambiente completo para este desenvolvimento, baseado na IDE. É o segundo artigo da série, abordando nesta parte as atividades de automação da construção
Java Magazine 93
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 93
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 93
Esta é a segunda parte de uma série de artigos sobre a construção de um ambiente completo para desenvolvimento de software. Na primeira parte, publicada na edição 92 de Java Magazine, foram abordados a IDE (peça central da maioria dos ambientes de desenvolvimento), o servidor Web ou de aplicação (para implantar e testar aplicações Web ou corporativas), o servidor de banco de dados relacional (grande parte dos sistemas de informação atualmente utiliza-o para persistência de objetos) e uma ferramenta para gerenciamento das bases de dados.
Para a continuação desta série, há ainda uma extensa gama de ferramentas que podem ser integradas a este ambiente de desenvolvimento, trazendo benefícios diversos aos desenvolvedores. Já citamos muitas delas no primeiro artigo da série, como por exemplo: ferramentas de construção (build), gerenciamento de dependências, testes unitários, controle de versão, gerenciamento de falhas (bugs) e novas funcionalidades, análise de desempenho, integração contínua, etc.
O foco deste artigo será nas seguintes atividades/ferramentas:
• Automação da construção: permite automatizar tarefas relativas à construção (build) da aplicação, como compilação, empacotamento, geração de documentação, etc. Serão abordadas as ferramentas Maven e Ant;
• Gerenciamento de dependências: controla as dependências de um projeto, no caso do mesmo requerer diversos frameworks, que possivelmente por sua vez dependem de outros frameworks, formando uma cadeia de dependências complexa. Maven e Ivy são as ferramentas citadas para esta atividade;
• Testes unitários: consiste na elaboração de testes específicos para cada método da aplicação e sua integração ao processo de construção automatizada do sistema. A presença de testes unitários pode auxiliar o desenvolvedor a descobrir mais rapidamente quando uma alteração no sistema adicionou uma falha em módulos que já foram testados. O foco aqui será o framework JUnit.
O projeto EngeSoft, iniciado na primeira parte da série, continuará a ser utilizado nos exemplos deste artigo. Quando for mais conveniente, projetos de teste poderão ser criados somente para demonstrar determinadas abordagens. Também continuarão a ser usadas as IDEs Eclipse 3.6 (Helios) e NetBeans 7.0.
Automação da construção (build automation)
Em projetos de desenvolvimento de software de médio e grande porte é muito comum automatizar uma série de atividades relativas à construção (build) da aplicação, como por exemplo:
• Compilação do código-fonte;
• Empacotamento das classes compiladas;
• Execução de testes unitários;
• Implantação no servidor (no caso de aplicações distribuídas);
• Geração de documentação;
• Etc.
Uma das primeiras ferramentas deste tipo a ser amplamente utilizada foi o Make, criado em 1977 para automatizar a compilação de arquivos de código-fonte em arquivos objeto e a subsequente ligação de vários arquivos objeto (módulos do sistema) em um único executável. O Make foi desenvolvido para o Unix e até hoje versões modernas da ferramenta são utilizadas em sistemas Unix e Linux, tendo crescido em versatilidade. Hoje o mesmo é utilizado não só para compilação, mas para as mais variadas tarefas, como acessar repositório de controle de versão, instalar/desinstalar o programa compilado no sistema, etc.
No entanto, atualmente as duas ferramentas de automação da construção de projetos Java mais utilizadas são o Ant e o Maven (veja Links), ambos desenvolvidos pela fundação Apache. De maneira bastante resumida, pode-se dizer que o Ant é bem similar ao Make, porém portável entre diferentes plataformas e com a configuração do processo de construção via XML. O Maven vai além e provê diversas outras funcionalidades (dentre elas destaca-se o gerenciamento de dependências, sobre o qual falaremos em seguida), definindo-se como uma “ferramenta de gerenciamento e compreensão de projetos”.
Integrando o Ant
A partir da versão 4.0 (lançada em 2004), o NetBeans baseia os processos de compilação e construção de seus projetos no Ant. Ao clicar em Run > Clean and Build Main Project para apagar todos os arquivos compilados e gerá-los novamente, por exemplo, o NetBeans nada mais faz que executar com o Ant as tarefas clean e dist, que são automaticamente configuradas no arquivo build.xml criado pela própria IDE e que se encontra na pasta raiz do projeto. De fato, como mostra a Figura 1, o mesmo resultado que é impresso na aba Output do NetBeans poderá ser visto caso o leitor abra um terminal (prompt de comando) no diretório do projeto e execute o comando ant clean dist, assumindo que o Ant encontra-se instalado em seu sistema operacional.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal Java
Publicidade
Vítor Estêvão Silva Souza
Space do autor
Graduação em Ciência da Computação e Mestrado em Informática com ênfase em Engenharia de Software na Universidade Federal do Espírito Santo (UFES), onde trabalhou também como professor substituto.
Space do autor


0
0
