2011-08-12 93 views
1

我目前正在制定一個Web應用程序的規範,它包含一個管理界面和一組將由分享者網站使用的Web服務。GWT和Spring集成

我一直在玩GWT,它看起來非常適合管理界面,但同時我也很喜歡使用Spring框架來生成基於REST的web應用程序API。

我的計劃是創建兩個獨立的Web應用程序,一個用於管理員,另一個用於Web服務。一個設置爲春天,另一個設置GWT應用程序。很顯然,我希望分享這兩個應用程序之間的領域模型,我猜這應該是相當微不足道的完成?我只是爲了保持簡單,在GWT客戶端項目中實現完整的域模型,並簡單地設置Web服務的源路徑以包含來自GWT項目中相關文件夾的域模型。

現在,我的問題。我確信有人在這裏做了類似的事情,在出發之前我應該​​注意哪些潛在的陷阱?

我爲這個項目留出了相當多的時間,但是我從來沒有真正使用GWT來處理任何「嚴重」的事情,我只是爲了個人興趣而玩弄它,而且我在Swing和Android方面都很有經驗用戶界面開發,所以我相信我可以使用它(非常簡單)的用戶界面。該方程中的「未知」是共享域模型。我無法想象這是一個問題,因爲域模型將只是POJO的(使用JDBC,但同樣,我不能想象這是一個問題)。

此外,是否有更好的方法來整合GWT和Spring,而不是簡單地分離Web應用程序和共享他們的領域模型?

+0

如果我要實現它,我會在一個應用程序中使用Google App Engine和GWT。 REST也可以從GAE中暴露出來。做pojo,你也可以使用Spring Roo加快開發 – Wei

+0

嗨:)感謝您的反饋,我們不會在Google App Engine上部署,但它需要訪問我們的Oracle服務器。它最初將部署在Tomcat上。 – JustDanyul

回答

2

爲什麼你想創建兩個單獨的應用程序? 創建一個,具有明顯分離的應用程序服務層。將這些服務通過標準的Spring註解公開爲webservices,並通過GWT requestfactory公開對這些服務的訪問(不幸的是,據我所知,當前requestfactory對REST請求不太好,主要是因爲他們的序列化方式)。這種方法只對您的應用程序導入一個入口(外觀),並允許以兩種不同的方式使用此外觀。

我已經在幾個GWT + Spring項目上工作過 - 對於標準案例,開發速度非常快,框架集成得非常好。但是,如果您想要進行一些自定義,例如基於彈簧安全性引入安全性 - 您需要做一些攻擊,比如覆蓋運輸類。當然需要一些時間,但結果非常好。

我肯定會推薦看一下Spring ROO示例應用程序(據我所知,roo是由谷歌部分開發的)。