2011-09-14 92 views
3

我對Java EE體系結構有一個具體的問題。我有需要幾個組件的應用程序:Java EE應用程序設計

  • web服務和持久層(CXF /休眠)
  • 甲管理/配置控制檯(?Struts2的/ JSP)
  • 一個或多個用戶 「應用程序」 (也許Vaadin?)

注意,web服務將爲用戶應用程序提供服務。

該Web服務已經構建爲一個cxf/glassfish應用程序(Eclipse動態我們的應用程序),並且運行良好。

應該將管理和用戶應用程序作爲完全獨立的應用程序(EJB或?)開發,還是使用Web服務構成「單個」應用程序的一部分。我不確定我是否能夠很好地解釋這一點 - 但我對這種設計很陌生,並且試圖以一種結構良好的方式來處理解決方案。例如,我可以想像,採取單獨的服務(應用程序)的方法可能會導致:

  • 主要的Web服務(不常用的數據持久性的東西)
  • 身份驗證服務
  • 管理應用服務
  • 第一用戶應用服務
  • 第二用戶應用服務

每個用戶的應用程序很可能有兩個COM單一和獨特的數據持久性要求。

回答

1

要決定如何拆分你的實現,你應該考慮你的系統通過不同的意見。在軟件架構中,有一種非常有用的方法叫做4 + 1架構視圖模型(http://en.wikipedia.org/wiki/4%2B1_architectural_view_model)。使用物理視圖,您將能夠決定是否需要在不同的機器上安裝不同的組件,這將幫助您定義開發視圖,這將爲您提供問題的答案 - >如何分割不同的組件從發展的角度看你的系統的組件。一旦有了開發視圖,就可以定義組件如何通信(處理視圖)等等。

此視圖一直幫助我,我希望你覺得它有用。

+0

我真的很感激 - 謝謝你這是一個非常有用的方法。 – skyman