Construindo e integrando aplicações Java com o Maven
Paulo Jerônimo @ Lado Servidor
Última atualização em 09/June/08 às 21:32
Construindo e integrando aplicações Java com o Maven
Descrição
- Treinamento presencial sobre ferramentas para a construção e integração de aplicações Java: Maven, Continuum, Hudson, Archiva e Artifactory, cobrindo ainda, práticas para o desenvolvimento ágil de software como Test-Driven Development (TDD) e Continuous Integration;
- Apache Maven:
- Ferramenta para gerenciamento e automação de projetos em Java;
- Similar ao Ant porém, com modelo de configuração mais simples;
- Utiliza uma construção conhecida como Project Object Model (POM), que descreve todo o processo de construção de um projeto de software, suas dependências de outros módulos e componentes e sua seqüência de construção;
Descrição (2)
- Apache Maven:
- Contém tarefas pré-definidas que realizam funções bem conhecidas como compilação e empacotamento de código;
- Gera documentação e relatórios sobre o projeto;
- Construído para trabalhar em rede;
- Baseado em plugins, que podem ser baixados de repositórios (os mesmos utilizados por outros projetos Java do Apache e outras organizações);
Descrição (3)
- Continuous Integration (ou integração contínua) é o ato de se realizar a integração de um software produzido por um time várias vezes ao dia, garantindo que a base de código permaneça consistente ao final de cada integração.
- Continuum e Hudson são algumas das ferramentas para integração contínua que suportam o modelo de construção de aplicações do Maven;
Descrição (4)
- Apache Continuum:
- Servidor para integração contínua capaz de construir projetos Java baseados no Maven (1 e 2), Ant e Shell Scripts;
- Hudson:
- Servidor para integração contínua e monitor de execuções de jobs;
- Ênfase na facilidade de uso e na extensibilidade (+ de 50 plug-ins);
- Ganhador do prêmio Duke's Choice Awards na categoria "Developer Solutions";
Tópicos cobertos no curso
- Módulo 1 (28h): Maven
- Introdução
- O que é o Maven?
- Convenção ao invés de configuração
- Breve histórico do processo de construção de aplicações Java
- Porque simplesmente não utilizar o Ant?
- Desenvolvendo um projeto simples
- Introdução
- Instalação
- A coordenação do Maven
- Repositórios e o POM
- Geração do site do projeto
- Primeira execução
- Dicas e truques
Tópicos cobertos no curso (2)
- Módulo 1 (28h): Maven
- O POM e o relacionamento entre os projetos
- O ciclo de vida da construção
- Plugins
- Arquétipos
- Profiles
- Geração do site
- Montadores (Assemblies)
- Escrevendo plugins
- O repositório
- Desenvolvendo aplicações Java EE
Tópicos cobertos no curso (3)
- Módulo 2 (20h): Ferramentas para integração contínua e para gerencimanento de repositórios do Maven
- O que é integração contínua?
- Instalação, configuração e uso de ferramentas para integração contínua
- Instalação, configuração e uso de gerenciadores de repositórios para o Maven
Didática
- Apresentação de slides (formato S5) e vídeos;
- Slides contendo links e servindo como roteiro de aula;
- Vídeos demonstrando tarefas comuns de instalação, configuração e execução das ferramentas;
- Explicação de exemplos:
- Em sua maioria, didáticos;
- Em várias situações reais, demonstrando a aplicação das ferramentas em aplicações existentes e funcionais disponibilizadas como software livre;
- Resolução de exercícios;
- Durante o período do curso, os alunos poderão também retirar suas dúvidas sobre os tópicos apresentados utilizando uma lista de discussão gerenciada pelo instrutor;
- Notas:
- Para um melhor aproveitamento, é importante que o aluno:
- Explore as referências! Vá além dos tópicos cobertos no curso;
- Faça os exercícios extras, propostos no final de cada capítulo;
Pré-requisitos (desejáveis)
- Experiência no desenvolvimento Java EE envolvendo tecnologias e ferramentas como:
- Experiência em sistemas gerenciadores de versões de software:
- Experiência básica em Linux (utilizaremos o Ubuntu):
- Comandos de uso cotididiano;
- Interpretação de Shell script (será utilizado o Bash);
Referências
- Livros (não inclusos, cada aluno deverá adquirir sua cópia):
- Documentação sobre Maven:
Material
- Como material deste treiamento, serão entregues para cada aluno 1 ou 2 DVDs contendo:
- 1 máquina virtual VMware instalada com o Ubuntu contendo todos os softwares configurados para a execução no treinamento;
- Estes slides;
- Vídeos;
- Exemplos didáticos e aplicações reais (software livre) utilizando as ferramentas abordadas;
- Exercícios solucionados;
- Cópias de documentações encontradas livremente na Internet;
Calendário
- Duração total: 48 horas
- Módulo 1 (32h): Início em 19/Jun/2008 e fim em 02/Jun/2008:
| Ter |
Qua |
Qui |
Sex |
|
|
19 |
20 |
| 24 |
25 |
26 |
27 |
| 01 |
02 |
|
- Módulo 2 (16h): Início em 03/Jun/2008 e fim em 09/Jul/2008:
| Ter |
Qua |
Qui |
Sex |
|
|
03 |
04 |
| 08 |
09 |
|
- Horários das aulas: das 08:00 às 12:00 (4h diárias)
Eu!
- PJ ;-)
- Linuxer (Ubuntu) e blogger (http://paulojeronimo.com);
- Desenvolvedor Java desde 1998 (SCJP, SCWCD, SCBCD, SCEA(I), CJA, CJD);
- Consultor e Instrutor do Lado Servidor;
- Foco atual em treinamentos, administração, configuração, monitoração, clusterização e tuning de servidores de aplicações Java livres: Tomcat, JBossAS, GlassFish, Geronimo, ...;
- Analista de Suporte na Andima. Responsabilidades:
Eu! (2)
- Experiência anterior nos tópicos deste treinamento:
Vocês!?
- Nome? Apelido??
- Empresa, departamento e cargo em que trabalha?
- Experiência anterior nos tópicos que serão abordados neste curso?
- Experiência em Linux? Ubuntu?? Outros???