我正在設計一個系統,其中有2個節點:1個節點與提供JSP頁面的Web服務器,並將請求轉發到另一個節點中的Web服務。在這個其他節點中,這些Web服務將請求轉發到業務邏輯層,然後與DBAcccess層進行交互。Jboss爲3層客戶端服務器體系結構
JBoss是否適合這種佈局?我必須部署2副本的JBossAS,每個節點一個?
感謝
我正在設計一個系統,其中有2個節點:1個節點與提供JSP頁面的Web服務器,並將請求轉發到另一個節點中的Web服務。在這個其他節點中,這些Web服務將請求轉發到業務邏輯層,然後與DBAcccess層進行交互。Jboss爲3層客戶端服務器體系結構
JBoss是否適合這種佈局?我必須部署2副本的JBossAS,每個節點一個?
感謝
你有兩個節點,意思是兩個獨立的機器? [在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會話,這些會話在羣集中效果不佳。
這是一種什麼地方實施「商業邏輯層」
跟蹤檢查列表,如果你有大部分回答「是」使用EJB(又名JBoss的),否則想簡單的老問題Java代碼上的DataAccessLayer上的Bean。
感謝您的回答!讓我稍微解釋一下這個項目。
我們正在爲一位客戶開發地理信息系統,他詢問主要功能是根據某些業務邏輯公開CSV文件處理的一組Web服務。客戶還要求我們構建一個Web前端來使用此服務(儘管他們(Web服務)可能會被其他應用程序使用)。他們還告訴我們,這兩臺服務器可能位於不同的節點/機器中。數據庫訪問區域出現了另一個限制:2臺服務器在2個數據庫上運行,這2臺服務器也可能位於不同的物理機器中,共產生4個節點!
因此,我的問題是如果在2臺服務器中使用JBoss或Spring AS的2個實例是合理的,並且這2種技術中的哪一種最適合它。
因此,服務JSP頁面的服務器節點使用一個數據庫,而業務邏輯/ Web服務節點使用另一個數據庫?將所有數據庫訪問放在一個地方避免「模型腐敗」或代碼重複是不是更好的設計? – mjn 2009-11-13 17:10:41