2012-01-11 1 views
5

È possibile riprodurre un'architettura Java EE con Play? Con Java EE intendo questi 4 livelli: vista, controller, servizio, modello.Architettura Java EE con Play Framework

So che il gioco utilizza un'architettura migliore basata solo su MVC, e adoro questo, ma devo usare un'architettura Java EE per un progetto specifico e mi piacerebbe usare Play considerando che è il miglior framework Java dal mio punto di vista.

risposta

1

È possibile utilizzare il modulo primavera integra la primavera con il gioco e usarlo per il servizio/modello strati: http://www.playframework.org/modules/spring

Oppure si può semplicemente creare un livello di servizio tra controllori e per modello e utilizzare alcuni modelli da soli (Singleton, fabbrica, ...) per collegare controllori con questi servizi

4

Nel mio progetto attuale usiamo una tradizionale app Java EE come backend per un'applicazione Play. Tutta la logica dell'applicazione è implementata in EJB stateless a cui si accede tramite RMI.

I controller di riproduzione utilizzano la ricerca JNDI remota per ottenere stub per le interfacce remote per i nostri EJB. Le definizioni delle classi per le classi modello e le interfacce remote sono condivise tra l'app Play e l'applicazione Java EE in esecuzione sul nostro server applicazioni (Glassfish).

L'applicazione Java EE è creata da Maven che distribuisce un ejb-client.jar sul nostro server centrale Nexus, anch'esso accessibile per il runtime di riproduzione (abilitato dalla creazione di un file di installazione Ivy personalizzato).

Questa soluzione ha funzionato bene per noi finora. Per velocizzare le cose e rendere l'app scalabile, utilizziamo il supporto asincrono di Job e memcache di Play.

Dolce :-)

+1

Potrebbe condividere alcuni dettagli su come si esegue la ricerca JNDI? Ho anche cercato di cercare EJB distribuiti su GlassFish da un'applicazione Play 2.1 ma come puoi vedere in questa domanda non ho avuto molta fortuna finora ... – Christina