Architecture 用于3层客户机-服务器体系结构的Jboss

Architecture 用于3层客户机-服务器体系结构的Jboss,architecture,jboss,client,Architecture,Jboss,Client,我正在设计一个系统,其中我有2个节点:1个节点带有一个web服务器,该服务器为JSP页面提供服务,并将请求转发给另一个节点中的web服务。在另一个节点中,这些Web服务将eRequests转发到业务逻辑层,然后业务逻辑层与DBACCESS层交互 JBoss适合这种布局吗?我是否需要部署两个JBossAS副本,每个节点一个 谢谢这是一个关于在哪里实现“业务逻辑层”的老问题 遵循检查列表,如果您有大多数答案“是”,请使用EJB(又称JBoss),否则请考虑java代码上DataAccessLayer

我正在设计一个系统,其中我有2个节点:1个节点带有一个web服务器,该服务器为JSP页面提供服务,并将请求转发给另一个节点中的web服务。在另一个节点中,这些Web服务将eRequests转发到业务逻辑层,然后业务逻辑层与DBACCESS层交互

JBoss适合这种布局吗?我是否需要部署两个JBossAS副本,每个节点一个


谢谢

这是一个关于在哪里实现“业务逻辑层”的老问题

遵循检查列表,如果您有大多数答案“是”,请使用EJB(又称JBoss),否则请考虑java代码上DataAccessLayer上的简单bean

  • 您的业务具有模糊或动态更改的规则
  • 您不确定DB或产品是否可以在生命周期中更改DB引擎
  • 有些事情对你来说很重要
  • 您的产品需要通过接口(而不是通过web)向第三方组件公开功能
  • 您的数据库没有很好的功能来实现复杂的业务逻辑(例如derby-速度很快但受到限制)

    • 您有两个节点,这意味着两台独立的机器?[在WebSphere land中,“节点”一词还有另一个常见含义,只是检查一下我们使用的术语是否相同。]

      第一个节点需要执行servlet和JSP。JavaEE服务器做到了这一点,JBoss做到了JavaEE,所以这是JBoss的合理使用。您可以使用其他JavaEE服务器,但您所说的一点并没有理由避免JBoss。这是一份

      第二个节点,WebServices和一些业务逻辑以及一些DB访问。JavaEE也做过类似的事情。还有其他选择,但如果你已经知道JBoss,那为什么不呢?如果您在节点1中使用JBoss,我不会在节点2中选择不同的JavaEE服务器。[我没有在这一层中使用非Java EE解决方案的经验-毫无疑问Spring afficionados会发表评论。]所以如果在这里使用Java EE,那么JBoss,另一个实例

      这就引出了一个问题:为什么要分离节点?一个原因可能是允许您分别扩展表示层和业务层。因此,从长远来看,您可能不止有两个JBoss实例


      强烈的建议:从一天开始设计,假设您可能希望以这种方式进行扩展。例如,创建在集群中无法正常工作的大型Http会话太容易了。

      谢谢您的回答!让我再解释一下这个项目

      我们正在为一个客户开发一个地理信息系统,该客户要求主要功能是一组web服务,这些服务根据一些业务逻辑公开CSV文件的处理。客户还要求我们构建一个web前端来使用此服务(尽管它们(web服务)可能被其他应用程序使用)。他们还告诉我们,这两台服务器可能位于不同的节点/机器中。DB访问区域中出现了另一个限制:两台服务器在两个数据库上运行,这两台服务器也可能位于不同的物理机器中,总共产生4个节点


      因此,我的问题是,在两台服务器中使用JBoss或Spring的两个实例是否合理,这两种技术中的哪一种最适合它。

      因此,服务JSP页面的服务器节点使用一个DB,而业务逻辑/web服务节点使用另一个DB?将所有数据库访问放在一个地方以避免“模型损坏”或代码重复不是更好的设计吗?