JBoss Seam (http://www.seamframework.org), é uma poderosa plataforma open source de desenvolvimento web para construção de aplicações ricas de internet, em Java.
Esse post foca no desenvolvimento com Seam, utilizando o container web Tomcat, sem utilização de EJB, mas utilizando Seam com POJO e JPA+Hibernate como provedor de persistência. Ele foca na configuração do Seam no Tomcat.
Não vou explicar os conceitos implementados pelo Seam (como conversação e segurança, por exemplo), usados nessa aplicação. Isso fica para um outro post.
Na documentação do Seam existem todos os passos de configuração para utilização do Seam no Tomcat e em outros servidores.
Antes de tudo, baixe o Seam. Vou usar o release 2.1.1.GA. Vou considerar que o Seam, após ser descompactado em alguma pasta, está em $SEAM_HOME.
Pasta onde o seam foi descopactado
Vou usar um exemplo que já vem com o Seam. É uma aplicação de Reservas de Hotel (BookingHotel), que faz consultas em hotéis para se hospedar, faz reserva de quartos, e o cadastro de usuário (no caso, o hóspede solicitante da reserva). Essa aplicação exige um usuário logado.
Sendo bem direto, vou mostrar os passos e depois comentá-los.
De acordo com a documentação:
• Instale Tomcat 5.5 ou Tomcat 6
• Copie a lib do banco de dados embutido que vem com o download do Seam que está em $SEAM_HOME/lib/hsqldb.jar para $TOMCAT_HOME/common/lib (no Tomcat 5.5) e
$TOMCAT_HOME/lib (no Tomcat 6)
• Entre na pasta $SEAM_HOME/examples/jpa pelo console e execute:
Para Tomcat 5.5
# ant tomcat55
Para Tomcat6
# ant tomcat6
Pasta de exemplo com JPA do Seam
executando o build do ANT no console
• Copie o .war gerado que deverá estar na pasta $SEAM_HOME/examples/jpa/dist-tomcat6/jboss-seam-jpa.war para a pasta $TOMCAT_HOME/webapps
Aplicação gerada para deploy no Tomcat
• Inicie o tomcat
• Acesse a aplicação em http://localhost:8080/jboss-seam-jpa/
Nesse momento, a aplicação já deve estar funcionando. Com o arquivo .war, fica fácil de importá-lo para o Eclipse/MyEclipse. Essa explicação também fica para outro post.
Agora, como prometido, explicando os passos, após instalar o Tomcat:
• A aplicação de exemplo BookingHotel usa um banco de dados livre, o HSQLDB. As entidades dessa aplicação já criam as tabelas necessárias. Não é necessário se preocupar com configurações do banco. Leia esse artigo sobre ele.
• No passo 3, o building do exemplo é feito como Ant. O Apache ANT é uma ferramenta de automação de builds bem conhecida. Mais informações nesse artigo.
• Esse comando do ant chama o arquivo build-tomcat55.xml ou build-tomcat6.xml dependendo do comando. Perceba que, na pasta da aplicação existem outros arquivos de build, como o build-glassfish, o build-jboss, o build-websphere61. Ou seja, presumimos que para usar o seam em outros servidores, os passos devem ser semelhantes. A documentação que vem com o download do Seam explica tudo isso no arquivo $SEAM_HOME/examples/jpa/readme.txt
• Os demais passos são simplesmente o deploy (copiar o .war) para a pasta webapps do Tomcat, iniciá-lo e acessar o endereço.
Perceba que o Tomcat não necessita de nenhuma configuração a mais. Digo isso, pois já vi muita coisa complicada sobre rodar o seam no tomcat.
Espero que esse tutorial sirva como base para projetos baseados em Seam com POJO+JPA+Hibernate.
Compartilhe suas idéias.