【发布时间】:2013-02-08 04:31:12
【问题描述】:
我正在开始一个新项目。这将是一个 Java EE Web 应用程序。该应用程序将由 3 个部分组成,每个部分具有不同的功能,但它们都属于一个应用程序。我正在考虑使用以下架构:
将有 4 个独立的项目(JSF Web 应用程序)。第一个将负责与数据库的通信并公开远程 EJB。我们将第一个项目称为“DataLayerProject”。我上面提到的其他 3 个应用程序将使用“DataLayerProject”中的 EJB 以便与数据库进行通信。它们将代表应用程序的表示层。
在我看来,这种方法将允许彼此独立地维护和开发这 3 个部分。这将使项目更具可扩展性(以防需要向主应用程序添加另一个子项目)。
这是一个可行的解决方案吗?
我应该使用 REST 服务而不是远程 EJB。 (对不起,如果我在这里误解了一些东西)?
我将通过主页访问其他 3 个部分。问题是我需要对每个应用程序进行单点登录。因此,通过在主页上登录,用户会自动登录其他 3 个应用程序。
我应该使用任何门户解决方案来使单独的 Web 应用程序协同工作吗?
【问题讨论】:
-
出于性能原因,我认为使用 RESTful 服务而不是远程 EJB 会更好,但这并不意味着您根本不能拥有 EJB,请查看How to Combine REST Services with EJB 3.1。
-
RESTFul Vs EJB :在 REST 情况下,由于它完全依赖于 http 协议,因此实现需要更少的基础设施并提供额外的可移植性。我们需要考虑的是如何对每个服务调用进行身份验证和授权。
标签: jsf jakarta-ee architecture