Uso de JBoss Seam com ou sem EJB 3 integrado ou não com Spring?

6 respostas
R

Pessoal, gostaria de saber de vcs vantagens de utilizar o seam com EJB 3 ou nao?

Minha opnião é que o uso de EJB 3 esta muito facilitado em comparação com outras
versões dele, versões 2.x por exemplo não eram muito facil de utilizar.
Ao meu ver o unico ponto negativo para o uso dele seria
ter um application server, que nem considero uma desvantagem, visto que gosto muito
do JBoss por exemplo e seu uso não é muito trabalhoso. A questão seria em uma aplicação que não irei precisar de acesso
remoto, seria melhor utilizar EJB 3 para o controle transacional, fazendo o mesmo q o spring faz?. Sempre
fico com a duvida, sobre usar seam com EJB 3 e colocar o application server ou usar seam com
EJB 3 usando o JBoss Embeded no tomcat ou integrar o seam com o spring para ter o controle transacional
do spring e com isso não precisar de EJB 3 com application server ou com Jboss Embeded?

Gostaria então de opniões de vcs de cases que vcs usaram de suas experiencias, se vale a pena usar
o Jboss Embeded com tomcat, se vale a pena usar spring ou
usar somente o seam(o q eu particularmente nao acho muito produtivo pois teria todo o controle transacional manual).
Enfim se puderem deixar suas opniões e experiencias.

Desde já agradeço.

6 Respostas

felipe_gdr

Oi!

Você ainda tem uma outra opção, que é usar Seam apenas com Tomcat, seam embedded container nem Jboss. Eu tive que usar essa opção porque é muito dificil de achar um provedor que ofereça um servidor Jboss, e também custa muito mais caro que um provedor que oferece Tomcat apenas.
Essa solução funcionou muito bem no meu caso.
Agora, se você pode utilizar Jboss Server no seu caso, não vejo razão de partir para o Tomcat.

E o Seam tem controle transacional

R

Mais o controle transacional funciona de forma automatica como com EJB 3 e spring ou eh manual com commits manuais?

So para explicar, o Jboss Embeded eh colocado dentro do tomcat entao seria usando somente tomcat e colocado o jboss embeded para
rodar no tomcat, resta saber se funcionara bem se ficara bom em producao ou se eh melhor integrar com o spring para que o controle
transacional nao seja manual que eh o q quero evitar.

felipe_gdr

Se você criar suas classes baseado nas classes do Seam-Gen (EntityHome, etc.) você não precisa se preocupar com transações. Elas cuidam disso pra você.

R

Somente usando o seam-gen o controle transacional funciona?

felipe_gdr

A classe EntityHome encapsula o controle de transação dentro de seus métodos (update, delete, etc.) o que acho bem prático. Agora se você não quizer usar seam-gen, pode criar uma classe simples que encapsule o controle de transação, o que é relativamente simples. Um conselho: não deixe de usar Jboss Seam por causa disso 8)

R

Usar o seam eh fato ja eh certeza, e esta fora de questao controlar transacao manualmente.

Sendo assim posso estar errado mais as unicas formas que eu vejo sao:

1 - Usar EJB 3 com um application server. Modelo que vejo muita gente nao querendo usar
nao sei pq pois na versao 3 o EJB esta tao simples de se usar.

2 - Usar o seam com EJB 3 com o jboss embeded no tomcat. Esse modelo me permite
usar EJB 3 com controle transacional e todos os outros servicos que o EJB permite usando somente o tomcat.
A duvida fica por conta de o quao performatica eh essa solucao em producao.

3 - Usar o Seam integrado com o Spring, usando com isso o controle transacional do Spring sem a nescessidade de EJB 3.
A duvida seria se essa integracao compromete a aplicacao de alguma forma ou funciona perfeitamente como quando
usamos spring.

Criado 6 de novembro de 2009
Ultima resposta 8 de nov. de 2009
Respostas 6
Participantes 2