25 de jan de 2010

JBoss Seam - Configuração de ambiente

Estou começando alguns estudos sobre JBoss Seam. Já a alguns anos utilizo struts2 e previamente webwork, que é muito parecido com struts2 e no qual ele foi inspirado e utilizado como base. Ultimamente tenho visto muitos desenvolvedores que considero de alta qualificação falarem muito bem do JBoss Seam e por isso resolvi fazer alguns estudos e o primeiro desafio nestes casos é reunir tudo o que precisamos para configurar o ambiente de desenvolvimento para poder fazer alguns testes e aprofundar nos estudos. Neste post eu coloco os links de downloads que efetuei para deixar o ambiente pronto para trabalhar com o Seam.

Os softwares que utilizo para esta configuração são:
*Eclipse Galileo.
*JBoss 5.1.
*JBossTools para eclipse galileo. Utilizei o site configurado no eclipse galileo. A configuração que funcionou melhor no meu caso foi a Development. O update site é: http://download.jboss.org/jbosstools/updates/development/
*Seam 2.0.2.SP1 - Estou usando o 2.0 pois a maioria da documentação, atualmente, cobre essa versão.
*Mysql 5.1. - Baixei com o gerenciador de pacotes do Ubuntu.Foi necessário baixar também o driver JDBC do Mysql para configurar no JBoss Tools no eclipse.

Depois de baixar todos os softwares basta abrir o eclipse e criar um novo projeto do Seam. Alguns wizards irão aparecer para configurar os ambientes do JBoss App Server,JBoss Seam e Base de dados o driver do banco utilizado será necessário e a criação de uma base de dados com usuário e senha para utilizar durante os estudos. Com isso em mãos não tem segredo e depois é só começar a conhecer as ferramentas do JBoss Tools para começar os estudos.

Minha primeira impressão com o Seam foi bastante encorajadora. O ambiente do JBoss Tools parece bem amigável e fornece alguns wizards interessantes que facilitam e agilizam o desenvolvimento.
[]s

2 comentários:

Daniela Lopes disse...

Marcos eu te enviei a dúvida abaixo e vc a respondeu por e-mail. Bom, estou postando aqui para novaemente para, quem sabe, poder ajudar outra pessoa.

A dúvida:

Oi, Marcos

Em relação ao seu post "JBoss Seam - Configuração de ambiente", instalei tudo conforme sua explicação, no entanto, ocorre o seguinte erro quando tento executar um projeto de teste: "type Status report
message /TST/ description The requested resource (/TST/) is not available".

Como soluciono este problema?

O nome do projeto de teste criado foi TST.

Ah, o jboss inicia normalmente e quando chamo http://localhost:8080/ a partir do browse, ele exibe aquele logo da JBoss.

Grata,
Daniela

Eis a sua resposta:

Olá Daniela,

pelo erro me parece que o deploy do seu projeto Seam não foi efetuado. Para fazer isso vc tem algumas alternativas, o mais comum é utilizar o comando "seam explode" ou se estiver usando o ant na raiz do projeto "ant explode".

Quais os passos que vc efetuou até o momento para criar o seu projeto do Seam?

Outra coisa, seria interessante vc postar suas dúvidas no blog pois elas podem ser as dúvidas de outras pessoas também e com isso ajudar a esclarecer.


Agora vou explicar como fiz. Bom, baixei tudo conforme sua explicação, só uma coisa difere, pois utilizo SQL Server.

E utilizo Win XP.

Criei um Seam Web Project e defini as configurações conforme abaixo:

Target Runtime
Jboss 5.1 runtime

Dynamic Web Module Vesion
2.5

Target Server
Jboss 5.1 Runtime Server (

Configration
Dynamic Web Project with Seam 2.2

Na última etapa, Seam Runtime
jboss-seam-2.2.0.GA e o deploy as como EAR

Configurei o uma conexão com o SQL Server (pingou normal)

Copio o tst-ds para a pasta deploy, vou na guia Servers e adiciono o projeto, com isso o servidor já faz o deploy quando inicia, ao menos no Ganymede funciona assim.

Não funciona de modo algum. Não sei o que fazer.

Grata,
Daniela

mmaia disse...

Qual o nome do .war que vc está gerando? Me parece que vc está tentando acessar com o contexto errado.
No seu seam-gen.properties veja o seu atributo project.name . Enfim, verifique o contexto que sua aplicação está utilizando, isso é mostrado também no console do JBoss em uma linha como essa:

11:08:12,139 INFO [TomcatDeployer] deploy, ctxPath=/anototudo, warUrl=.../deploy/anototudo.ear/anototudo.war/

Observe o atributo ctxPath= , veja o nome que aparece e utilize na url de chamada no browser.

[]s