TDD e BDD em Aplicações Java EE com JUnit, Arquillian, Selenium e Cucumber, parte 1
Introdução
TDD e BDD na prática em apps Java EE, com JUnit, Arquillian, Selenium e Cucumber é o título do tutorial que submeti ao evento Agile Brazil 2013. Nesse tutorial, minha proposta é oferecer aos participantes os conceitos fundamentais, numa visão prática e através do uso de excelentes ferramentas, um guia para a construção de aplicações Java EE através de práticas que dirigem o desenvolvimento tornando-as testáveis e aceitáveis para o cliente, sob o ponto de vista de negócios. Meu desejo é que, ao término desse tutorial, qualquer desenvolvedor Java EE ainda não "infectado por uma metodologia baseada em testes" passe a sê-lo. =)
Este post apresenta o roteiro do tutorial que cobrirei no tempo esperado para sua realização (80 minutos), caso ele seja aprovado. Contudo, ele vai além pois também faz links com outros artigos e materiais disponíveis sobre o assunto na Internet (alguns de autoria própria), apresenta código que utilizo para explicar de conceitos que demonstrei há alguns anos em outros artigos e, por fim, faz uma breve introdução ao Cucumber. Até o dia do evento, escreverei partes complementares a esse material, também na forma de tutoriais e/ou vídeos, onde explicarei exemplos menos triviais e mais reais que demonstrarão, ainda, o uso integrado de ferramentas como o Arquillian, o Selenium e o Cucumber. Independente da submissão de minha palestra ser aprovada, isso deverá ocorrer pois esse material também tem importância fundamental para um trabalho que venho desempenhando num cliente, nesse instante.
Proposta de atividade para o FLISOL-DF 2013
Este post é, na verdade, uma proposta de atividade que estou enviando para o evento FLISOL/DF, edição 2013. Esse evento é de fundamental importância para a comunidade que atua com software livre no Brasil, especialmente no Distrito Federal, onde desenvolvedores Java vem trabalhando com softwares dessa categoria há muito tempo, sejam eles disponibilizados pelos grupos Apache, JBoss, GlassFish, etc. Sendo assim, eu considero de extrema relevância uma apresentação na forma de oficina/tutorial que demonstre como uma aplicação, com requisitos corporativos, pode ser construída e implantada em produção, partindo da montagem do ambiente de desenvolvimento para uma equipe, até sua instalação num ambiente que garanta alta disponibilidade, tolerância a falhas e capacidade para atender alta demanda transacional. Tudo isto, é claro, utilizando softwares livres e a especificação Java EE 6.
Compilando o JBoss: AS 7.1.3 e EAP 6.0.1
Como explico no livro que estou escrevendo, o JBoss EAP 6.0.1 é construído com base nos fontes do JBoss AS 7.1.3. O binário do JBoss EAP pode ser baixado pelo site da Red Hat (mediante subscrição ou assinatura trial) e o do JBoss AS 7.1.3 não está disponível na página http://www.jboss.org/jbossas/downloads (leia detalhes sobre isto em https://community.jboss.org/thread/197780). Porém, os fontes de ambos estão disponíveis e, podem ser compilados. Em meu livro estou explicando detalhadamente os scripts que apresento neste post e o processo de compilação. Todavia, aqui, estou sendo breve e direto a execução dos scripts. Vamos lá...
Utilizando um arquivo kickstart para instalar o CentOS
Um arquivo kickstart é muito útil para a montagem de um ambiente de treinamento que utilize o Linux CentOS. Ele é utilizado pelo instalador Anaconda que lê seu conteúdo e, baseado nas configurações realizadas, automatiza todo o processo de instalação e configuração de distribuições como o RHEL, Fedora, CentOS e Oracle Linux. Após a execução do Anaconda, com pouco ou nenhum questionamento, está pronto o Linux que eu e meus alunos utilizamos no ambiente que darei aula.
Neste post, utilizando o arquivo kickstart ks, a vm-centos gerada em "Criando uma VM CentOS via linha de comando" e também o mirror construído em "Criando e utilizando um mirror local do CentOS" eu concluo a documentação das tarefas que executo para criar a VM que utilizo nos treinamentos de JBoss que ministro e que também cito no meu livro. Após concluir sua leitura, você terá toda a bagagem necessária para montar tua própria VM CentOS, de maneira automática e rápida.