2009-07-30 66 views
5

我正在研究用Java編寫的應該打包爲EAR文件並部署到JBoss應用程序服務器的分層業務應用程序。有一個Web應用程序層,一個服務層,一個域層但沒有持久層。至少在紙上。用於部署用Java編寫的分層業務應用程序的模式

部署不同層的最佳做法是什麼?在我們的團隊,我們有一點點的宗教戰爭回事之間:

  • 在其自己的JAR文件中打包的每個層(例如自己的Maven的模塊中),並且將每個模塊的EAR文件,或者
  • 捆綁所有內容都集中在一個JAR文件中,每個層映射到一個包命名約定。

我錯過了其他的可能性嗎?這方面的最佳做法是什麼?有沒有我可以諮詢的在線或離線資源?

回答

4

在我的公司,我們將每個圖層捆綁到它自己的JAR中。然後我們將它包含在WAR中。

如果您沒有任何需要託管的EJB,那麼在部署WAR上使用EAR並沒有真正的優勢。

+0

+1:我個人喜歡將圖層分解成不同的罐子給你。我認爲它有助於維護層之間的正確依賴關係,這隻能幫助維護系統結構。 – 2009-07-30 12:46:32

1

無論您選擇哪種方法,請確保您實際獲得。換句話說,不要服務於架構原則(包/罐)讓架構原則爲您服務。

您需要平衡關注與效率的分離。越是繁瑣的項目,項目越多,但如果您有一個項目,那也可能很麻煩。

看看您的需求,上下文和應用程序的大小,並決定哪種方法最適合您。