Jboss用于3层客户端服务器架构

时间:2009-08-19 15:21:55

标签: architecture jboss client

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

JBoss适合这种布局吗?我是否必须部署JBossAS的 2份,每个节点一个?

由于

3 个答案:

答案 0 :(得分:1)

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

第一个节点需要做servlet和JSP。 Java EE服务器这样做,JBoss做Java EE,因此合理使用JBoss。您可以使用其他Java EE服务器,但您所说的很少,没有理由避免使用JBoss。这是一份副本。

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

这导致了为什么分离节点的问题?一个原因可能是允许您单独扩展演示文稿和业务层。因此,从长远来看,您可能不仅仅有两个JBoss实例。

强烈建议:设计从一天开始,假设您可能希望以这种方式扩展。很容易(例如)创建在群集中不能很好地运行的巨大Http会话。

答案 1 :(得分:0)

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

按照检查清单,如果你有大多数答案“是”,请使用EJB(aka JBoss),否则在java代码上考虑DataAccessLayer上的简单bean。

  • 您的企业已经暗淡或动态地更改了规则。
  • 您不确定数据库或产品是否可以在生命周期内更改数据库引擎。
  • 可扩展性的一些意味着你。
  • 您的产品需要通过界面(而非通过网络)向第三方组件公开功能。
  • 您的数据库没有很好的功能来实现复杂的业务逻辑(例如德比 - 快速但受限制)。

答案 2 :(得分:0)

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

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

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

相关问题