2009-08-19 129 views
2

我正在設計一個系統,其中有2個節點:1個節點與提供JSP頁面的Web服務器,並將請求轉發到另一個節點中的Web服務。在這個其他節點中,這些Web服務將請求轉發到業務邏輯層,然後與DBAcccess層進行交互。Jboss爲3層客戶端服務器體系結構

JBoss是否適合這種佈局?我必須部署2副本的JBossAS,每個節點一個?

感謝

回答

1

你有兩個節點,意思是兩個獨立的機器? [在WebSphere-land中常見的單詞「節點」有另一個含義,只是檢查我們使用的是相同的術語。]

第一個節點需要執行servlet和JSP。 Java EE服務器這樣做,JBoss執行Java EE,所以這是對JBoss的合理使用。您可以使用其他Java EE服務器,但是您所說的一點沒有理由避免JBoss。這是一個副本。

第二個節點,WebServices和一些業務邏輯和一些數據庫訪問。 Java EE再次做這些事情。還有其他選擇,但是如果你已經知道JBoss,那麼爲什麼不呢?如果您在節點1中使用JBoss,我不會在節點2中選擇不同的Java EE服務器。[我沒有在此層中使用非Java EE解決方案的經驗 - 毫無疑問,Spring afficionados可以發表評論。]因此,如果在這裏使用Java EE,然後是另一個實例JBoss。

這導致了問題爲什麼分離節點?其中一個原因可能是允許您單獨擴展Presentation和Business層。因此,從長遠來看,你可能不止有兩個JBoss實例。

強烈的建議:從一開始就設計,你可能想要以這種方式進行縮放。非常容易(例如)創建巨大的Http會話,這些會話在羣集中效果不佳。

0

這是一種什麼地方實施「商業邏輯層」

跟蹤檢查列表,如果你有大部分回答「是」使用EJB(又名JBoss的),否則想簡單的老問題Java代碼上的DataAccessLayer上的Bean。

  • 您的業務模糊或動態更改規則。
  • 您不確定數據庫或產品是否可以在生命週期中更改數據庫引擎。
  • 可擴展性對你來說意味着什麼。
  • 您的產品需要通過接口(不通過網絡)向第三方組件公開功能。
  • 您的數據庫沒有很好的功能來實現複雜的業務邏輯(例如德比 - 速度快但受到限制)。
0

感謝您的回答!讓我稍微解釋一下這個項目。

我們正在爲一位客戶開發地理信息系統,他詢問主要功能是根據某些業務邏輯公開CSV文件處理的一組Web服務。客戶還要求我們構建一個Web前端來使用此服務(儘管他們(Web服務)可能會被其他應用程序使用)。他們還告訴我們,這兩臺服務器可能位於不同的節點/機器中。數據庫訪問區域出現了另一個限制:2臺服務器在2個數據庫上運行,這2臺服務器也可能位於不同的物理機器中,共產生4個節點!

因此,我的問題是如果在2臺服務器中使用JBoss或Spring AS的2個實例是合理的,並且這2種技術中的哪一種最適合它。

+0

因此,服務JSP頁面的服務器節點使用一個數據庫,而業務邏輯/ Web服務節點使用另一個數據庫?將所有數據庫訪問放在一個地方避免「模型腐敗」或代碼重複是不是更好的設計? – mjn 2009-11-13 17:10:41

相關問題