2009-01-07 20 views
7

我有一個包含不同動態Web項目的Web應用程序,每個Web應用程序通常都包含一個EJB項目。我們想讓它們保持交互,就像通過JNDI使用彼此的EJB中的bean和類,共享相同的數據庫或使用它們自己的。但我們也希望能夠在不同的服務器上保留不同的項目。關於使用EJB 3.0,JPA和JBoss上的動態Web項目的Java EE應用程序的項目體系結構/組織結構

在架構和組織方面,這種項目的正確關注點是什麼?

我們應該如何使用EAR?一個EAR統治他們,在黑暗中束縛他們? (對不起,必須做LOTR參考),或者每個服務器/ Web項目的EAR等?

回答

2

磁盤空間很便宜,但如果將所有內容都放到單個EAR中,即使您只需要服務A,您的應用程序服務器也可以運行它們。您最好打破常用的EJB並將它們部署到他們自己以及他們自己的EAR中的每個服務的組件。

然後,以JBoss爲例,您可以將工件直接複製到任何要運行它們的服務器的deploy目錄中。

OrderManagement.ear InventoryManagement.ear StoreFront.ear

然後,您可以有全部,部分或任何特定服務器上什麼都沒有。

1

EJB的意思是模塊化的,所以根據你想提供的服務你應該提供一個適當的EAR來部署。另外,請嘗試使用MBean並將它們作爲獨立服務部署。調試和測試時,管理界面有很多幫助。

1

請記住錯誤修復/升級和迴歸測試場景。在同一個EAR中擁有的EJB模塊越多,即使您僅爲其中一個模塊修復或添加了新功能,功能點也需要回歸測試。