2011-09-14 195 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