2011-07-07 13 views
5

Soy bastante nuevo en el concepto de inyección de dependencia y actualmente estamos escribiendo una aplicación web utilizando JSF y quizás Primefaces. Actualmente estamos evaluando si usar Spring o EJB3. Estaba realmente cerca de elegir Spring, pero luego escuché sobre CDI. ¿Puede darnos algunos consejos, que podrían ser los mejores para la siguiente situación:Spring o CDI o EJB3

Actualmente somos bastante nuevos en el mundo J2EE y no sabemos si usaremos Glassfish o JBoss (o simplemente nos apegaremos a Tomcat) .

La aplicación web es básicamente un prototipo para una aplicación CRUD empresarial que debe ser capaz de manejar una lógica empresarial compleja. Queremos centrarnos en la "adaptabilidad", ya que algunos requisitos no están claros y se decidirán un año más tarde (cuando sabemos si aún podemos usar el prototipo).

No podemos usar Hibernate, ya que tendremos que escribir sentencias SQL bastante complejas. Actualmente hicimos buenas experiencias con la abstracción de SQL en Spring.

Maybee Actualmente estoy comparando manzanas y naranjas, pero hay demasiada información, si eres nuevo en j2ee. Creo que los EJB son el estándar definido a través de JCP, Spring es el estándar definido por el mercado y CDI es un estándar que también está definido por el JCP para hacer lo que Spring puede hacer. Pero ciertamente estoy equivocado ;-).

Thx,

iuiz

+1

Pregunta fácil, respuesta imposible. Ciertamente, sus requisitos no descartan a ninguno de los competidores fuera de la carrera. Es bastante fácil buscar en Google tantos llamamientos sobre este tema como desee, y la decisión final dependerá de usted y de sus preferencias. –

+0

Thx. Pero ese es un punto muy importante que llegaste allí, porque al menos sé que no estoy mirando algo completamente inútil y desactualizado. – iuiz

Respuesta

8

Lincoln Baxter hace un excelente trabajo explicando las diferencias técnicas en este artículo: http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/ Larga historia corta: tanto la primavera y CDI ambos serán capaces de proporcionar la inyección de dependencia. Uno es un estándar Java EE, el otro es una tecnología comúnmente conocida. Glassfish y JBoss ejecutan aplicaciones de Spring y CDI sin problemas. En cuanto a no poder usar Hibernate, no es el caso que no pueda usar native SQL dentro de Hibernate. Si puede, guarde a su equipo una gran cantidad de código CRUD extra muerto.

+0

Gracias. Veré este artículo. Parece bastante prometedor. Sin embargo, lo de Hibernate es algo que solicité hace un tiempo http://stackoverflow.com/questions/5769943/java-database-abstraction-for-gwt-or-is-hibernate-a-good-choise y decidimos no hacerlo . – iuiz

Cuestiones relacionadas