2012-02-03 181 views
2

我需要了解在新項目中使用的體系結構。我們希望使用GWT & spring mvc作爲基礎。 另外,我們在領域模型中有大約100個實體,這些實體需要堅持DB。所以我們可能會使用Hibernate作爲ORM解決方案。春季企業Web應用程序的體系結構

  1. 我不明白我們應該使用哪個應用程序服務器?在我們的案例中,我們能夠獲得tomcat還是企業應用程序的最佳解決方案?請推薦我。

  2. tomcat如何提供http請求,需要通過hibernate進行數據庫操作?

  3. 當spring applicationContext.xml被讀取?是否在每個http請求期間?

  4. 使用Spring + Hibernate + JPA是中等負載應用程序的快速方法嗎?

回答

1
  • 1)Tomcat是一個很好的 - 很難說什麼是最好的
  • 2)Tomcat的只是一個servlet容器。數據庫訪問必須由你在你的服務器端應用程序
  • 3)在啓動時
  • 4)不可能說,你是什麼意思的中間加載,我的用例.... - Spring將不會對運行時性能造成太大的影響:所以最終的問題是,JPA Objct關係映射器是否足夠快 - 在很多情況下是這樣。

請詢問建設性的問題,我只回答,因爲問題的3

2

我有兩個項目,利用這些技術來實現:

  • 的Apache Tomcat
  • 的PostgreSQL
  • 休眠
  • JPA
  • 春季安全
  • JAX WS
  • GWT
  • MVP4g

我只使用Spring將所有技術放在一起。

我有兩個不同的應用程序,我想分享在這些應用程序中一起使用這些技術的經驗。這兩個應用程序在服務器上都沒有困難的邏輯,即使在第二個應用程序中,所有的邏輯都放在了客戶端上,而服務器只是將數據存儲到/從數據庫獲取數據。GWT解決了這個問題。我認爲,服務器上的最低計算是最適合雲應用程序的。

1,第一個是監控系統,這是建來解決這些任務:

  • 收集來自主公司服務器的統計信息(從每30secs每5分鐘)

  • 做一些簡單的計算在服務器端

  • 的數據存儲在數據庫

  • 顯示在最終用戶的圖形表達(我的大學,撥號器等)

所以,主要的問題是獲取和顯示在圖表中的數據的大金額,這是存儲在一個表這個數據(每5天約1百萬行)。我們必須在一張圖上顯示5k到20k點,並定期重新加載此圖以從服務器獲取實際信息。我們決定使用hibernate + jpa,但我認爲這不是最好的方式,因爲我們開始從獲取和發送10k +行中獲得問題。

所以,我們決定從春天+遷移休眠+ JPA到彈簧+ JDBC因爲它比第一次更快,我的情況下使用更少的內存。因此,最好是不使用Hibernate如果您:

  • 有幾個entites的(在我的情況6)
  • 具有大數據量
  • 需要快速負載

一定要記住你需要得到儘可能從數據庫,你可以更少的數據,使用不同的過濾器等(它沒有我的情況下工作,因爲我必須證明儘可能多的信息,我可以有操作員最好的統計數據,但你也可以用數學來平均一些數值,數字等)

至於客戶端,谷歌圖表與GWT工作得很好。當應用程序被放置在本地網絡中時,我們在客戶端載入大量數據時沒有問題。 我在雲端部署了應用程序(Jelastic),僅用於測試,並且由於在很短的時間內大量數據傳輸而面臨緩慢的客戶端負載。

2.第二個應用程序是用於管理銷售,訂單,聯繫人等雲應用:

它始建於解決這些任務:

  • 快速存儲,獲取,計算數據
  • 用戶提供簡單而愉快的界面操作任務,上面

提到這個程序沒有服務器端的邏輯。服務器只能從數據庫中獲取和存儲數據。 我們devided應用與行家的幫助下幾個模塊(實體+ DAOS,春季服務和Web GWT)。

所以冬眠,因爲我們有實體的大ammount的,而不是大表+ JPA是演技不錯這裏。此外,所有客戶端網格都具有加載少於100行的默認過濾器,用戶也必須過濾他的搜索。所以,在Hibernate + JPA使用在這個項目的情況下,我有相反的方向:

  • 數據transferings的少量
  • 實體

至於GWT的大金額,這是偉大的編寫客戶端純Java的端邏輯,調試代碼和刷新頁面測試新創建的邏輯。 我也建議你使用MVP4g作爲模型視圖主持人框架建立GWT應用程序中的正確的方式:)它確實簡化了開發過程和代碼unerstanding。

至於tomcat的我們在這兩個項目沒有什麼大的問題了。

我想這些基本的建議將幫助你建立好項目! 祝你好運!

+0

感謝您的幫助!我們的新項目與您的第一個項目相似,但數據量會更少。因此,讓我問幾個問題。提到你在圖表中顯示數據。 Google Charts可以顯示圖表嗎?我需要展示一個有節點和邊緣的網絡。 – 2012-02-04 09:02:54

+0

第二個問題 - 我即將使用GWT 2.4。所以它嵌入了mvp框架。我應該選擇哪一個和mvp4g? – 2012-02-04 09:05:28

+0

對不起,我誤解了關於圖的問題,我不是母語的人,我在談論圖表:)只是註釋時間表,區域和餅圖。我不能說在GWT本地MVP是壞的,但我更喜歡mvp4g。你最好試試幾個框架,然後決定哪一個更適合你。此外gwt平臺是一個不錯的。我可以添加更多內容 - 閱讀gwt請求工廠 - 從gwt 2.1開始,將客戶端連接到服務器的第二種方法。在下一個項目中,我將使用請求工廠而不是RPC。 GL! – BraginiNI 2012-02-04 19:47:55

相關問題