我有兩個項目,利用這些技術來實現:
- 的Apache Tomcat
- 的PostgreSQL
- 休眠
- JPA
- 春
- 春季安全
- JAX WS
- GWT
- MVP4g
我只使用Spring將所有技術放在一起。
我有兩個不同的應用程序,我想分享在這些應用程序中一起使用這些技術的經驗。這兩個應用程序在服務器上都沒有困難的邏輯,即使在第二個應用程序中,所有的邏輯都放在了客戶端上,而服務器只是將數據存儲到/從數據庫獲取數據。GWT解決了這個問題。我認爲,服務器上的最低計算是最適合雲應用程序的。
1,第一個是監控系統,這是建來解決這些任務:
所以,主要的問題是獲取和顯示在圖表中的數據的大金額,這是存儲在一個表這個數據(每5天約1百萬行)。我們必須在一張圖上顯示5k到20k點,並定期重新加載此圖以從服務器獲取實際信息。我們決定使用hibernate + jpa,但我認爲這不是最好的方式,因爲我們開始從獲取和發送10k +行中獲得問題。
所以,我們決定從春天+遷移休眠+ JPA到彈簧+ JDBC因爲它比第一次更快,我的情況下使用更少的內存。因此,最好是不使用Hibernate如果您:
- 有幾個entites的(在我的情況6)
- 具有大數據量
- 需要快速負載
一定要記住你需要得到儘可能從數據庫,你可以更少的數據,使用不同的過濾器等(它沒有我的情況下工作,因爲我必須證明儘可能多的信息,我可以有操作員最好的統計數據,但你也可以用數學來平均一些數值,數字等)
至於客戶端,谷歌圖表與GWT工作得很好。當應用程序被放置在本地網絡中時,我們在客戶端載入大量數據時沒有問題。 我在雲端部署了應用程序(Jelastic),僅用於測試,並且由於在很短的時間內大量數據傳輸而面臨緩慢的客戶端負載。
2.第二個應用程序是用於管理銷售,訂單,聯繫人等雲應用:
它始建於解決這些任務:
- 快速存儲,獲取,計算數據
- 用戶提供簡單而愉快的界面操作任務,上面
提到這個程序沒有服務器端的邏輯。服務器只能從數據庫中獲取和存儲數據。 我們devided應用與行家的幫助下幾個模塊(實體+ DAOS,春季服務和Web GWT)。
所以冬眠,因爲我們有實體的大ammount的,而不是大表+ JPA是演技不錯這裏。此外,所有客戶端網格都具有加載少於100行的默認過濾器,用戶也必須過濾他的搜索。所以,在Hibernate + JPA使用在這個項目的情況下,我有相反的方向:
至於GWT的大金額,這是偉大的編寫客戶端純Java的端邏輯,調試代碼和刷新頁面測試新創建的邏輯。 我也建議你使用MVP4g作爲模型視圖主持人框架建立GWT應用程序中的正確的方式:)它確實簡化了開發過程和代碼unerstanding。
至於tomcat的我們在這兩個項目沒有什麼大的問題了。
我想這些基本的建議將幫助你建立好項目! 祝你好運!
感謝您的幫助!我們的新項目與您的第一個項目相似,但數據量會更少。因此,讓我問幾個問題。提到你在圖表中顯示數據。 Google Charts可以顯示圖表嗎?我需要展示一個有節點和邊緣的網絡。 – 2012-02-04 09:02:54
第二個問題 - 我即將使用GWT 2.4。所以它嵌入了mvp框架。我應該選擇哪一個和mvp4g? – 2012-02-04 09:05:28
對不起,我誤解了關於圖的問題,我不是母語的人,我在談論圖表:)只是註釋時間表,區域和餅圖。我不能說在GWT本地MVP是壞的,但我更喜歡mvp4g。你最好試試幾個框架,然後決定哪一個更適合你。此外gwt平臺是一個不錯的。我可以添加更多內容 - 閱讀gwt請求工廠 - 從gwt 2.1開始,將客戶端連接到服務器的第二種方法。在下一個項目中,我將使用請求工廠而不是RPC。 GL! – BraginiNI 2012-02-04 19:47:55