Lançado o JBoss Seam 1.1

O Seam é um framework visa facilitar o desenvolvimento de aplicações JavaServer Faces integradas com EJB 3 ou Hibernate. O Seam usa o conceito de "conversações" para manter as sessões do Hibernate ou do EJB 3 abertas durante toda uma "transação do usuário", que normalmente acontece em várias requisições web. Ele tem suporte interno a AJAX, facilita o trabalho com BPM, facilita o controle de páginas JSF (você praticamente não mexe com o faces-config) e muito mais.

Mais informações sobre essa nova versão -&gt http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/12/13#seam11-goes-ga

Maurício,

Eu preciso usar o JBoss ? Tem algum plugin para Eclipse ?

Márcio

Não precisa usar o JBoss, ele roda em qualquer servidor web Java comum (como Tomcat e Jetty). Como plugins tem o Hibernate Tools (o plugin oficial do Hibernate) que gera páginas Seam e o editor de jBPM da JBoss -> http://docs.jboss.com/jbpm/v3/gpd/

Maurício, o Seam já está maduro o suficiente para projetos em produção?
Tipo, hj faço tudo com o Spring. Daria para substituir o Spring pelo Seam?

valeu

o seam-gen é muito legal! :smiley:

[quote=giu]Maurício, o Seam já está maduro o suficiente para projetos em produção?
Tipo, hj faço tudo com o Spring. Daria para substituir o Spring pelo Seam?

valeu[/quote]

A idéia não é substituir um pelo outro, ambos podem ser utilizados em conjunto.

Mauricia, eu n uso o JSF.
Uso mentawai, displaytag , hibernate + tomcat 6
Tem pq eu usar o seam?

[quote=afsrj]Mauricia, eu n uso o JSF.
Uso mentawai, displaytag , hibernate + tomcat 6
Tem pq eu usar o seam?
[/quote]

você não tem que usar o Seam, porque ele é um framework que usa JSF.

[quote=Maurício Linhares][quote=giu]Maurício, o Seam já está maduro o suficiente para projetos em produção?
Tipo, hj faço tudo com o Spring. Daria para substituir o Spring pelo Seam?

valeu[/quote]

A idéia não é substituir um pelo outro, ambos podem ser utilizados em conjunto.[/quote]

Na empresa onde trabalho já utilizamos o JBoss Seam desde a versão 1.0. É bastante produtivo.
Na realidade o Seam é feito para ser utilizado sozinho, ou seja, sem a ajuda de nenhuma outra application framework (spring, struts etc). Não conheço o Spring, mas posso dizer que não existe necessidade do Seam ser utilizado em conjunto.
Maurício, sem recentimentos, a idéia é substituir sim :slight_smile: (mesmo pq os beans do Seam só servem pra ele)!

abração
t+

Concordo com o bobmoe, até daria pra utilizar em conjunto, mais isso não é muito bom. Os beans do Seam utilizam annotations específicas dele, o que os torna dependendtes do framework, mais os ganhos obtidos compensam.
A bi-injeção do Seam facilita muito, sua integração com o ajax4jsf e a facil e o fato de não mais precisar ficar criando managed beans e navigations no faces-config.xml é uma maravilha.

Afinal, se vai começar um projeto novo, o Seam é uma boa opção. Não sei se compensa trocar toda uma arquitetura baseada em Spring ou outro framework pelo Seam, deve-se avaliar muito bem.

Bom, eu nao uso o Seam mas gostaria de usar… porém fiquei com algumas dúvidas…
Com ele eu nao tenho que usar EJB 3 né? quase todos os exemplos que eu vi usanvam EJB, e eu gostaria de usar numa aplicação simples, só com o hibernate annotation mesmo. quanto a isso nao tem problema né?
Outra coisa é com relacao ao JSF 1.2 e Facelets 1.2… o Seam nao tem nada a ver com a parte view né? Entao ele nao atrapalharia o uso do Facelets?
E pra finalizar, disseram que ele tem integracao com o ajax4jsf. Como é isso? O ajax4jsf nao fica só nas jsp’s enquanto o Seam fica do lado Java? Pergunto isso porque eu uso o ajax do Facelets 1.2 e é muito bom, entao fiquei preocupado dessa integracao dele com ajax4jsf me “atrapalhar” :?

A integração dele com o ajax4jsf é no que diz respeito a bi-injeção. Ele permite a utilização de tags do ajax4jsf utlizando os beans diretamente, sem precisar do managed bean configurado no faces-config.xml.

Quanto ao facelets, sem problemas.

Aqui na empresa utilizamos facelets, tomawalk, ajax4jsf e outras coisas mais, e ele rola bem.

Você pode utilizar com Java Bean normamente, não é necessário ser EJB 3.0, pode ser um Pojo do Hibernate sem rolo.

Nâo vejo porque, o Spring faz muito mais coisas do que o Seam e serve pra propósitos bem diferentes. Os dois não são concorrência de forma alguma, até porque se o Seam fosse ser “concorrente” do Spring ia ter que mudar um bocado de arquitetura, começando pela necessidade de se utilizar JSF e um servidor Java.

Bom, deixando de lado a possibilidade do Seam querer substituir o Spring como um todo (virar concorrente propriamente dito), numa aplicação real, que use JSF, o que eu ganharia usando Spring e Seam juntos?
Quando o JSF estava nos primórdios teve gente dizendo que nao era pra substituir o Struts e tal, que dava pra usar os dois juntos… mas alguém consegue ver algum ganho em usar os dois juntos?
Nao to falando bem ou mal do Struts ou Spring (mesmo porque o Spring é muito bom), só queria saber se tem ganho real de eu usar o Seam junto com o Spring?
Alguém aí usa os dois juntos e poderia nos falar os ganhos?
Ou entao alguem que ja usou Spring em alguma aplicação e agora ta usando o Seam poderia nos dizer se sente falta de algo que o Spring fazia e que é ruim de fazer com Seam.

Rapaz, a configuração de dependências no Seam é meio chatinha (mesmo sendo bem parecida com a do Spring). Nâo vi os objetos fábrica do Spring no Seam, não é tão simples de se fazer proxies e, de muito longe, o suporte do Spring a outros serviços, como JMS e webservices é bem maior e mais antigo.

O que você quis dizer com configuração de dependencia?

Mas nao tem muito overhead em usar os dois juntos? Se nao tiver nao vejo problema em usar juntos, pois vc começa com o Seam e se sentir necessidade de colocar o Spring coloca, e em funcionalidades quem ambos ofereçam cada um faz a escolhe segundo seu critério. Meu receio é ter um baita overhead para suprir poucas coisas que o Seam nao faz e que podem nao ser “vitais” em aplicações mais simples.

Só uma consideração, Spring não se resume a Spring MVC, sendo este apenas um de seus módulos.

Eu uso MUITO Spring e nunca utilizei Spring MVC, utilizo Spring AOP/Transaction (e o core-bean) com JSF + JPA