Java EE 应用程序设计

发布于 2024-12-04 17:42:21 字数 567 浏览 0 评论 0原文

我有一个关于 Java EE 架构的具体问题。我有一个需要多个组件的应用程序:

  • Web 服务和持久层(cxf/hibernate)
  • 管理/配置控制台(Struts2/JSP?)
  • 一个或多个用户“应用程序”(也许 Vaadin?)

注意,Web 服务将提供为用户应用程序提供服务。

Web 服务已构建为 cxf/glassfish 应用程序(Eclipse 动态应用程序)并且运行良好。

管理应用程序和用户应用程序是否应该开发为完全独立的应用程序(EJB 或?),还是构成具有 Web 服务的“单个”应用程序的一部分。我不确定我是否解释得足够好 - 但我对这种设计很陌生,并且正在尝试以结构良好的方式解决该解决方案。例如,我可以想象,采用单独服务(应用程序)的方法可能会导致:

  • 主要 Web 服务(执行常见的数据持久性操作)
  • 身份验证服务
  • 管理 应用程序服务
  • 第一个用户应用程序服务
  • 第二个用户应用程序服务

每个用户应用程序都可能具有共同和独特的数据持久性要求。

I have a specific question about Java EE architecture. I have an application that requires several components:

  • A web service and persistence layer (cxf/hibernate)
  • A management / configuration console (Struts2/JSP?)
  • One or more user "applications" (Maybe Vaadin?)

Note, the web service will provide services to the user applications.

The web service has been built as a cxf/glassfish application (Eclipse dynamic we app) and is working well.

Should the management and user applications be developed as entirely separate applications (EJB's or ?) or form part of a "single" application with the web service. I am not sure if I am explaining this well enough - but I am new to this sort of design and am trying to approach the solution in a well structured way. For example I could imagine that taking an approach of separate services (applications) could result in:

  • Primary web service (does common data persistence stuff)
  • Authentication service
  • Management App service
  • First user App service
  • Second user App service

Each of the user apps is likely to have both common and unique data persistence requirements.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

反话 2024-12-11 17:42:21

要决定如何拆分您的实现,您应该通过不同的视图来考虑您的系统。在软件架构中,有一个非常有用的方法,称为4+1架构视图模型(http: //en.wikipedia.org/wiki/4%2B1_architectural_view_model)。使用物理视图,您将能够决定是否需要在不同的机器上安装不同的组件,这将帮助您定义您的开发视图,这将为您提供问题的答案 ->如何从开发的角度拆分系统的不同组件。一旦有了开发视图,您就可以定义组件如何通信(流程视图)......等等。

这些观点一直对我有帮助,我希望你觉得它有用。

To decide how to split your implementation, you should consider your system through different views. In software architecture, there is a very useful method which is called the 4+1 architectural view model (http://en.wikipedia.org/wiki/4%2B1_architectural_view_model). Using the Physical view you will be able to decide if you may need to install the different components in different machines, and this will help you to define your development view, that will give you the answer to your question -> how to split the different components of your system in a development point of view. Once you have the development view, you can define how the components communicate (process view)... and so on.

This views have always helped me, I hope you find it useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文