2012-01-11 25 views
5

Có thể tái tạo kiến ​​trúc Java EE với Play không? Bởi Java EE tôi có nghĩa là 4 lớp: xem, điều khiển, dịch vụ, mô hình. Tôi biết chơi chỉ sử dụng kiến ​​trúc tốt hơn dựa trên MVC, và tôi thích cái này, nhưng tôi phải sử dụng kiến ​​trúc Java EE cho một dự án cụ thể và tôi muốn sử dụng Play xem đó là khung Java tốt nhất từ ​​của tôi quan điểm.Kiến trúc Java EE với Khung Chơi

Trả lời

1

Bạn có thể sử dụng mô-đun mùa xuân để tích hợp vào mùa xuân với chơi và sử dụng nó cho các lớp dịch vụ/mô hình: http://www.playframework.org/modules/spring

Hoặc bạn chỉ có thể tạo ra một lớp dịch vụ giữa bộ điều khiển và Mô hình và sử dụng một số mô hình của mình (singleton, nhà máy, ...) cho bộ điều khiển dây với các dịch vụ này

4

Trong dự án hiện tại của mình, chúng tôi sử dụng ứng dụng Java EE truyền thống làm phụ trợ cho ứng dụng Play. Tất cả các logic ứng dụng được thực hiện trong các EJB không trạng thái được truy cập qua RMI.

Bộ điều khiển Play sử dụng tra cứu JNDI từ xa để nhận các sơ khai cho giao diện từ xa cho các EJB của chúng tôi. Lớp defintions cho các lớp mô hình cũng như các giao diện từ xa được chia sẻ giữa ứng dụng Play và ứng dụng Java EE chạy trên máy chủ ứng dụng của chúng tôi (Glassfish). Ứng dụng Java EE được xây dựng bởi Maven triển khai một ejb-client.jar đến máy chủ Nexus trung tâm của chúng tôi, nó cũng có thể truy cập được cho thời gian chạy Play (được kích hoạt bằng cách tạo một tệp thiết lập Ivy tùy chỉnh).

Giải pháp này đã làm việc tốt cho chúng tôi cho đến nay. Để tăng tốc mọi thứ và làm cho ứng dụng có thể mở rộng, chúng tôi sử dụng công việc không đồng bộ của Play và hỗ trợ memcache.

Ngọt :-)

+1

Bạn có thể chia sẻ một số chi tiết về cách bạn thực hiện tra cứu JNDI không? Tôi cũng đã cố gắng tra cứu các EJB được triển khai trên GlassFish từ một ứng dụng Play 2.1 nhưng như bạn có thể thấy trong câu hỏi này, tôi đã không có nhiều may mắn cho đến nay ... – Christina

Các vấn đề liên quan