tomcat - que - cdi java ee 7
CDI en Tomcat 7-¿Tiene sentido? (2)
Si puedo elegir, uso JBoss 7 para un proyecto Java EE 6 usando JSF 2 y CDI.
Pero a veces, el entorno para el proyecto de un cliente está más o menos definido, por lo que en un caso estamos limitados a Tomcat (6 o quizás 7).
Entonces, leí un par de artículos sobre el uso de CDI (por ejemplo, WELD) y JSF 2 en Tomcat, lo que demostró que básicamente no es un problema hacerlo.
Sin embargo, mi pregunta es: ¿tiene sentido? ¿O es que un contenedor de servlets no es el entorno adecuado para tal arquitectura? ¿Alguien tiene experiencia con Tomcat + CDI para algo más que un proyecto de demostración?
¡Gracias por adelantado!
Buena pregunta, en primer lugar :)
La implementación de una aplicación empresarial en un motor de servlet es el escenario principal de, por ejemplo, Spring, por lo que es ciertamente posible. Pero sabrá que Spring es un ecosistema completo de API y archivos de configuración en lugar de unos pocos JAR que simplemente coloca en el servidor y se divierte.
Jugué bastante con Weld & JSF en Tomcat 7, y funcionó bastante bien. Pero hay una gran diferencia entre HelloWorldOnTomcat.java y una aplicación real para clientes reales. Estoy seguro de que eres consciente de esto.
Yo diría que podrás compilar una configuración decente en un tiempo relativamente corto. Ni CDI ni JSF serán problemáticos. Pero dependiendo de sus requisitos concretos, tendrá que lidiar con otros aspectos que no están cubiertos por un Tomcat listo para usar. Seguridad, agrupación en clústeres, conmutación por error, mensajería, asincronía para mencionar algunas preocupaciones (y transacciones, como se menciona en los comentarios).
Si tiene (más o menos) dominio de tales requisitos y su próximo proyecto es bastante relajado y no se supone que controle la próxima misión a Marte, sin duda lo intentaré.
Por otro lado, si conoce estos requisitos, buscaría (a) una configuración en un servidor de aplicaciones Java EE, o (b) otra pila en un Tomcat.
Echa un vistazo a Apache Tomee:
Apache TomEE , pronunciado como "Tommy", es una pila certificada de Apache Java EE 6 de perfil web, donde Tomcat es el mejor perro. Apache TomEE se ensambla a partir de un archivo zip apache Tomcat de vainilla. Comenzamos con Tomcat, agregamos nuestros frascos y comprimimos el resto. El resultado es Tomcat con características adicionales de EE - TomEE.