2011-10-12 5 views
5

Teniendo en cuenta la noción de SOA, mi intención es proporcionar varios servicios diferentes, que aprovechan el mismo modelo de datos. Imagínese una aplicación de poker - podemos tener los siguientes servicios:Creación de un módulo de Framework de reproducción para compartir una capa de datos entre varios servicios

  • Juego frontend
  • interfaz administrativa
  • rango de los jugadores/servicio de clasificación
  • jugador financia el servicio
  • servicio de integración de Banco
  • ..

Todos estos servicios pueden verage el mismo modelo (tal vez proporcionando información adicional del modelo donde sea necesario).

¡En el juego! marco, ¿es posible para mí externalizar este modelo de datos, pero mantener los beneficios que obtenemos del uso de Play? Por ejemplo, compilación de tiempo de ejecución.

Parece que los módulos podrían servir para el trabajo, pero hay poca documentación sobre ellos, y los ejemplos brindados sugieren el paradigma opuesto, donde los servicios son los módulos y la aplicación core play incorpora características.

Cualquier orientación sería apreciada.

Respuesta

3

Es difícil obtener un verdadero estilo SOA con Play. Porque Play no es solo un marco: es una plataforma web que proporciona servicios directamente desde HTTPRequest hasta la persistencia de la Base de Datos y no aisladamente.

En su caso, si tiene que externalizar realmente la capa de datos, le sugiero que pruebe Spring module. Spring debe encargarse de persistencia, lógica comercial y encapsular esto en las interfaces de servicio.

En su aplicación Play, el controlador depende de estas interfaces de servicio expuestas. Los servicios de primavera deben depender de cualquier característica de Play (ya sea para validación o persistencia de JPA, es decir, no importa)

El objetivo es - tommo si es necesario, usted debe poder usar cualquier marco de MVC (Spring MVC, Struts, etc.) y utilizan los mismos servicios.

0

Estoy intentando algo similar.

Lo que voy a intentar es

  • DAL escritura en un módulo
  • escribir cada componente por separado como un módulo separado.
  • En el futuro, cada componente se puede alojar en una aplicación separada. Simplemente mueva la aplicación, instale el módulo DAL y ya está todo listo. Es de esperar que cubra cualquier cosa de escalabilidad.

Teóricamente debería poder llamar a los comandos de reproducción configurando los comandos de compilación en Eclipse, así que esto me debería permitir construir automáticamente los módulos para que la aplicación principal los use.

Espero que esto funcione para mí ...

Cuestiones relacionadas