Spring ou EJB3

10 respostas
rodrigoK

Qual dos dois vocês acham melhor para uma aplicação Web o Spring ou EJB3 e por que?

Sei que ambos tem suas vantagens e desvantagens, gostaria das opiniões de vocês, eu nunca usei EJB, mas Spring sim.

Abraços,

10 Respostas

Jair_Rillo_Junior

Depende dos requisitos da sua aplicação.

Se sua aplicação vai ser distribuida, ou seja, invocação de objetos remotos, webservice de forma fácil de implementar, JMS e cia, além de escabilidade, performance, caching, load balancing e etc (onde a grande maioria das aplicações NÃO precisam disso) * EU optaria pelo EJB 3. Claro, um Servidor de Aplicação é necessário nesse caso.

Embora com o Spring seja possível fazer praticamente tudo que o EJB 3 faz (e usando apenas um web container), eu ainda prefiro ficar com a especificação oficial, pois o EJB 3 facilitou muito o processo de desenvolvimento, assim como testes e performance.

  • isso é uma opinião pessoal.
Rafael_Nunes

Com a facilidade de desenvolvimento do EJB3, as promessas do EJB 3.1(rodar em ligthweight container, empacotar em war, etc…) e tudo o que foi citado acima, eu optaria(e tenho optado) por ele.

rodrigoK

Mas não consigo rodar EJB3 em um tomcat certo.

Eu estou totalmente por fora do EJB3, se puderem me ajudar agradeço.

Abraços,

Jair_Rillo_Junior

rodrigoK:
Mas não consigo rodar EJB3 em um tomcat certo.

Eu estou totalmente por fora do EJB3, se puderem me ajudar agradeço.

Abraços,

Não, o Tomcat é apenas um web container. Para rodar EJB, você precisa de um EJB Container. Nesse caso você precisa de um servidor JEE completo (Glassfish ou JBoss por exemplo).

Analise bem as suas necessidades e se realmente você achar que o EJB3 seja legal para o que você precisa, não hesite em estudá-lo.

Mais uma opinião pessoal: Cuidado em desenvolver sistemas frankstein, ou seja, aqueles que você começa a integrar vários frameworks, vários .jars. Isso no futuro (principalmente quando surgem novas versões dos frameworks, pode te dar uma dor de cabeça muito grande (experiência própria).
Assim como cuidado na hora da escolha de um servidor JEE 5. O JBoss por exemplo ainda não implementa todas as funcionalidades do JEE 5 (a annotation @EJB) não funciona até a versão 4.2.2, além do que, cada Servidor tem suas próprias características (as famosas extensions). Assim, se você começar a estudar EJB e ler que um determinado projeto com EJB irá funcionar em outro servidor JEE-Compliant sem problemas, fique com um pé atrás (experiência própria 2 - o retorno).

Giulliano

se vc não sabe usar EJB…então a probabilidade de se implantar isso no seu projeto e ele dar certo são mínimas…o mesmo vale pro spring.

Agora se vc perguntou isso pq quer estudar…eu estudaria EJB e foi o que eu fiz… :smiley:

Embora no projeto onde trabalho atualmente não use EJB mas sim spring eu não precisei saber usar…afinal o spring já vem com tudo pronto (aparentemente). Eu só instancio o dao e salvo sei lá como funciona por trás dos panos…e sinceramente nem vou querer saber o que eu vi do spring em alguns tópicos são coisas que eu sempre implementei na mão e nunca deram problema (HibernateTemplate, OpenSessionOnView, IoC)…

L

Existe um projeto da Apache chamado Open EJB, onde é possível usá-lo dentro do Tomcat. Você poderia dar uma olhada.

Minha opinião é de que Spring ainda é melhor que EJB 3. Porém, é por pura paixão mesmo. Não sei o que te enquadraria no teu caso.

rodrigoK

Meu intuito é estudar mesmo.

Spring eu já brinquei um pouco com ele e gostei muito, mas com EJB nunca, sempre tive aversão a versão 2 e sempre ouvi falar muito mal dela, mas o 3 me pareceu mais interessante e tenho ouvido falar bem dele, na empresa que eu trabalho tem sistemas que usam o 2 e outros que não usam nenhum. Nunca vi Spring em nenhuma empresa que trabalhei acho utilizarão muito mais o EJB3 do que o Spring nas empresas, até mesmo por virem do 2 e não conhecerem muito o Spring.

Abraços,

Rafael_Nunes

Como assim não funciona?
Eu aqui utilizo essa anotação para DI sem problemas. O Jboss não suporta como prevê a especificação em Servlets ainda, mas em Beans, Web Services e JMS funciona sim.

Uma das coisas que me afasta do Spring é aquela porrada de xmls

rodrigoK

Mas o Spring 2, já usa Annotations, ou seja não precisa daqueles XMLs todos. :slight_smile:

Abraços,

Jair_Rillo_Junior

Como assim não funciona?
Eu aqui utilizo essa anotação para DI sem problemas. O Jboss não suporta como prevê a especificação em Servlets ainda, mas em Beans, Web Services e JMS funciona sim.

Uma das coisas que me afasta do Spring é aquela porrada de xmls

Isso mesmo Rafael, bem lembrado… Em Servlet que não funciona (e eu acho que é culpa do Tomcat).

Criado 29 de maio de 2008
Ultima resposta 29 de mai. de 2008
Respostas 10
Participantes 5