2012-01-11 31 views
5

¿Es posible reproducir una arquitectura Java EE con Play? Por Java EE me refiero a estas 4 capas: vista, controlador, servicio, modelo.Arquitectura Java EE con Play Framework

Sé jugar usar una mejor arquitectura solo basada en MVC, y me encanta esta, pero debo usar una arquitectura Java EE para un proyecto específico y me gustaría usar Play teniendo en cuenta que es el mejor framework Java de mi punto de vista.

Respuesta

1

Puede utilizar el módulo de primavera para integra la primavera con el juego y utilizarlo para las capas de servicio/modelo: http://www.playframework.org/modules/spring

o simplemente puede crear una capa de servicio entre los controladores y del modelo y utilizar algunos patrones por sí mismo (Singleton, fábrica, ...) para cablear controladores con estos servicios

4

En mi proyecto actual utilizamos una aplicación Java EE tradicional como back-end para una aplicación Play. Toda la lógica de la aplicación se implementa en EJB sin estado a los que se accede a través de RMI.

Los controles de reproducción utilizan la búsqueda JNDI remota para obtener los resguardo de las interfaces remotas para nuestros EJB. Las definiciones de clase para las clases modelo, así como las interfaces remotas, se comparten entre la aplicación Play y la aplicación Java EE que se ejecuta en nuestro servidor de aplicaciones (Glassfish).

La aplicación Java EE está construida por Maven que implementa un ejb-client.jar en nuestro servidor Nexus central, que también es accesible para el tiempo de ejecución de Play (habilitado al crear un archivo de instalación de Ivy personalizado).

Esta solución ha funcionado bien para nosotros hasta ahora. Para acelerar las cosas y hacer que la aplicación sea escalable, utilizamos el trabajo asincrónico de Play y la compatibilidad con Memcache.

Dulce :-)

+1

¿Podría compartir algunos detalles sobre cómo realiza la búsqueda JNDI? También he estado intentando buscar EJB implementados en GlassFish desde una aplicación Play 2.1 pero, como pueden ver en esta pregunta, hasta ahora no he tenido mucha suerte ... – Christina