【问题标题】:Java EE multi layered architectureJava EE 多层架构
【发布时间】:2013-08-02 18:55:17
【问题描述】:

我们正在使用 PrimeFaces(演示)、EJB 3.1(业务)和 JPA(持久性)在 JSF 2.0 中开发 Java EE Web 应用程序。

我们想让每一层都独立,这样以后任何其他想要访问我们的应用程序的应用程序都应该能够轻松地访问我们的应用程序。

所以我们计划将我们的 EJB 公开为 Web 服务调用。

我们发现我们的表示层看起来是紧密耦合的,其中模型、控制器和视图一起作为一个框架。

我们想知道如何将模型和控制器公开为单独的服务,以便任何外部视图都可以轻松访问它们。

【问题讨论】:

    标签: jakarta-ee


    【解决方案1】:

    您不能在 JSF 中单独公开控制器。框架提供的是 Faces Servlet。

    也不要直接暴露模型。在 JSF 术语中,模型的入口是支持 bean。这种类型的 bean 是特定于页面的,不应重复使用。

    支持 bean 不应包含业务逻辑。相反,它只是委托给一个服务 bean,它通常是一个 EJB。

    这些服务和它们使用的 (JPA) 实体应该被设计成可以重复使用。这可以在稍后阶段通过 JAX-RS、JAX-WS、Remote EJB 完成,或者只需将这些 bean 复制到 jar 并将它们包含在另一个应用程序中即可。

    现在只需确保您的服务不依赖于任何 UI 包,并且它们不会尝试执行任何 UI 工作。当您拥有其他应用程序时,担心重复使用它们的确切方式。

    【讨论】:

    • 感谢布劳恩先生的回复。你说的对。我们正在考虑制作一个通用模型。框架看起来不可能。当数据库中有很多频繁的更改时,如何将 JPA 用于我们的持久层。
    猜你喜欢
    • 2011-05-06
    • 2013-09-27
    • 2011-03-26
    • 2012-06-04
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多