2012-01-11 20 views
5

Play ile bir Java EE mimarisi yeniden üretilebilir mi? Java EE ile bu 4 katman anlamına gelir: Görünüm, denetleyici, servis, model.Oyun Çerçevesi ile Java EE mimarisi

Oyunun sadece MVC'ye dayanarak daha iyi bir mimariyi kullandığını biliyorum ve bunu seviyorum, ancak belirli bir proje için bir Java EE mimarisi kullanmalıyım ve Play’i kullanmak istiyorum. bakış açısı.

cevap

1

Sen oyuna yayı entegre etmek bahar modülünü kullanabilirsiniz ve servis/model katmanları için kullanılır: (http://www.playframework.org/modules/spring

Veya sadece Kontrolörleri ve modeli arasında bir Servis katmanı oluşturmak ve kendiniz bazı desenleri kullanabilirsiniz singleton, fabrika, ...) bu servislerle kontrol cihazları için

4

Mevcut projemde, bir Play uygulaması için geleneksel bir Java EE uygulaması kullanıyoruz. Tüm uygulama mantığı, RMI üzerinden erişilen Durumsuz EJB'lerde uygulanır.

Oyun denetleyicileri, EJB'lerimiz için uzak arabirimler için ipuçları almak üzere uzaktan JNDI araması kullanır. Uygulama sınıfları ve uzak arabirimler için sınıf tanımları, uygulama uygulaması (Glassfish) üzerinde çalışan Play uygulaması ve Java EE uygulaması arasında paylaşılır.

Java EE uygulaması, Maven tarafından, bir oyun konsolu için erişilebilen merkezi bir Nexus sunucumuza bir ejb-client.jar dağıtır (özelleştirilmiş bir Ivy kurulum dosyası oluşturarak etkinleştirilir).

Bu çözüm şu ana kadar bizim için iyi çalıştı. İşleri hızlandırmak ve uygulamayı ölçeklendirmek için Play'in senkronize olmayan işini ve memcache desteğini kullanıyoruz.

Sweet :-)

+1

JNDI arama işlemini nasıl gerçekleştirdiğinizle ilgili bazı ayrıntıları paylaşabilir misiniz? Ayrıca, Play 2.1 uygulamasından GlassFish'e dağıtılan EJB'leri aramaya çalışıyorum ama bu soruda gördüğünüz gibi şimdiye kadar çok şansım olmadı ... – Christina