2011-10-12 12 views
5

Tenendo presente la nozione di SOA, il mio obiettivo è fornire diversi servizi che sfruttano lo stesso modello di dati. Immaginate un'applicazione di poker - possiamo avere i seguenti servizi:Creazione di un modulo framework Play per la condivisione di un livello dati tra diversi servizi

  • gioco frontend
  • frontend amministrativo
  • Grado Giocatore/servizio leaderboard
  • Player finanzia servizio
  • servizio di integrazione Bank
  • ..

Tutti questi servizi possono essere verage lo stesso modello (magari fornendo informazioni aggiuntive sul modello laddove necessario).

Nel gioco! quadro, è possibile per me esternare questo modello di dati, ma mantenere i benefici che otteniamo dall'uso di Play. Ad esempio, ri-compilazione del runtime.

I moduli sembrano come se potessero servire il lavoro, ma c'è poca documentazione su di loro, e gli esempi forniti suggeriscono il paradigma opposto - dove i servizi sono i moduli, e l'applicazione di gioco principale richiama le funzionalità.

Qualsiasi consiglio sarebbe apprezzato.

risposta

3

È difficile ottenere un vero stile SOA utilizzando Play. Perché Play non è solo un framework: è una piattaforma web che fornisce servizi direttamente da HTTPRequest al database di persistenza e non in isolamento.

Nel tuo caso, se devi veramente esternalizzare il livello dati, allora ti suggerisco di provare Spring module. Spring dovrebbe prendersi cura di Persistenza, logica di business e incapsulare questo in Service Interfaces.

Nella tua app Play, il controller dipende da queste interfacce di servizio esposte. I servizi di primavera devono essere indipendenti da qualsiasi funzione di riproduzione (sia per convalida o persistenza JPA ecc. Ovvero nessuna importazione)

L'obiettivo è - tommo se necessario, dovresti essere in grado di utilizzare qualsiasi framework MVC (Spring MVC, Struts ecc.) E utilizzare gli stessi servizi.

0

Sto tentando qualcosa di simile.

Quello che sto per tentare è

  • DAL scrivere in un modulo
  • scrivere ogni componente separato come modulo separato.
  • in futuro, ogni componente può essere ospitato in un'app separata. Basta spostare l'app, installare il modulo DAL e tutto è pronto. Questo spero coprirà ogni aspetto della scalabilità.

In teoria dovrei essere in grado di chiamare i comandi di gioco configurando i comandi di compilazione di Eclipse quindi questo dovrebbe permettere a me di creare automaticamente i moduli per l'applicazione principale da utilizzare.

Speriamo che funzioni per me ...

Problemi correlati