DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Seam 3: Forge, Solder e Catch - Revista Java Magazine 98

Seam 3 é marcantemente diferente das versões anteriores do framework, a ponto de até confundir antigos usuários da plataforma Seam. Neste artigo, veremos qual é a nova filosofia por trás do Seam, assim como algumas ferramentas úteis da nova vers






Desde que foi lançado pela JBoss em 2006, o framework Seam cresceu em adoção e criou uma rica, ativa e fiel comunidade. A versão 2 de Seam consolidou o sucesso da plataforma, tornando-a uma das mais relevantes no universo do desenvolvimento de Java EE. Sua importância transformou o framework em uma das grandes inspirações na evolução das especificações de Java. Esta influência de Seam pode ser facilmente percebida em especificações como a JSR-299 e a JSR-330.

Muitas das ideias do core de Seam 2 acabaram por influenciar o CDI, de modo que várias funcionalidades do núcleo passaram a ser fornecidas pela própria plataforma oficial Java EE 6. Isto representou um novo desafio aos desenvolvedores de Seam: se as funcionalidades do núcleo do framework já estão disponíveis na própria plataforma Java EE, o que a nova versão do framework poderá oferecer? A resposta veio com Seam 3.

Ao contrário de seu antecessor, Seam 3 dificilmente pode ser definido como um framework monolítico. Enquanto Seam 2 definia vários aspectos das tecnologias e arquitetura adotadas em sua aplicação, a versão 3 deixa isto em aberto. Na verdade, é mais adequado descrever o novo framework como um conjunto de componentes fracamente acoplados, a serem usados em uma plataforma integrada via CDI. O papel do core de Seam 2 foi delegado a Weld, e Seam 3 tornou-se um conjunto de bibliotecas, provendo ferramentas e facilidades diversas para o desenvolvimento em Java EE. Em resumo, Seam 3 é mais um conjunto de ferramentas para a nova plataforma Java EE que um framework integrado. Pode-se dizer que, na versão 3, Seam é apenas um conjunto de componentes e Java EE 6 é o framework. Esta nova postura deixou muitos na comunidade confusos, por não conseguirem ver como migrar de uma versão 2 para a mais recente. O fato é que não existe transição fácil: Seam 3 é um produto totalmente novo, com uma filosofia diferente, e dificilmente comparável às versões anteriores. Esta mudança também não veio sem polêmica. Alguns desenvolvedores tradicionais de Seam 2 sentem-se incomodados pela mudança, e reclamam tanto da nova filosofia quanto das implementações, ainda imaturas e pouco documentadas, dos módulos de Seam 3.

Para aquecer ainda mais a discussão, mudanças ainda maiores foram anunciadas. Em um post recente no blog de in.relation.to, os desenvolvedores Shane Bryzak e Pete Muir anunciaram que planejam migrar vários componentes de Seam para outros projetos. Por exemplo, Seam Persistence pode vir a fazer parte do projeto Hibernate, tornando-se o Hibernate CDI; Seam REST iria para o projeto RESTEasy; e Seam Faces se tornaria o componente Faces CDI do projeto RichFaces. Estas propostas despertaram um debate ainda mais acalorado sobre o futuro da família Seam.

Você é um usuário de Seam 2, compreende inglês e acredita que pode colaborar com a discussão? Então participe! Ao fim do artigo, há um link para o fórum em que se debate como deve ser o futuro de Seam. Os desenvolvedores da plataforma aguardam ansiosamente por seu feedback sobre Seam 3.

Apesar disto, algumas tendências parecem propensas a se manter. Seam 3 provavelmente continuará como um framework extremamente portável e modular, e seus componentes serão mantidos, mesmo que em outros projetos. Parece improvável, também, que alguns módulos centrais sejam adotados por outros projetos. Assim, vale a pena estudar, desde já, como Seam 3 funciona, assim como compreender alguns dos componentes mais maduros da plataforma.

Como utilizar Seam 3

Seam 3 pode ser utilizado em qualquer sistema Java EE 6 ou CDI. Como o framework é modular e não exige nenhuma arquitetura específica, qualquer aplicativo deste tipo pode empregar um ou mais módulos de Seam 3. Além disso, como Java EE 6 e CDI são plataformas relativamente recentes, é provável que o framework seja utilizado principalmente em novas aplicações.

Weld archetypes

No artigo da Edição 94 da Java Magazine, vimos como criar um projeto CDI: basta acrescentar um arquivo beans.xml ao diretório META-INF ou WEB-INF de uma aplicação Web – com alguma configuração a mais caso a aplicação seja implantada em um container de servlets (como Tomcat ou Jetty), ao invés de um servidor de aplicação compatível Java EE 6. Uma solução mais prática é gerar um projeto Java EE 6 através de Maven archetypes. Existem dois archetypes para Weld: um cria projetos para servidores de aplicação e outro gera aplicações CDI para containers de servlets. A chamada abaixo cria uma aplicação a ser instalada em servidores Java EE 6:

 

mvn archetype:generate -DarchetypeArtifactId=jboss-javaee6-webapp -DarchetypeGroupId=org.jboss.weld.archetypes -DgroupId=br.com.devmedia.seam3 -DartifactId=aplicacaoJavaEE6

"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Adam Victor Nazareth Brandizzi

Desenvolvedor Java há cinco anos e já desenvolveu aplicações Web que utilizavam threads e JNI para acesso a hardware.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03