【问题标题】:What are benefits of JBoss AS-based application architecture?基于 JBoss AS 的应用架构有什么好处?
【发布时间】:2010-06-29 17:53:34
【问题描述】:

我想了解与独立架构相比,JBoss AS 可以为项目带来什么?

我的模型应用程序是一个可靠的东西,作为一个整体并且仅在主机上启动、运行和停止。 它有一个数据库存储,并与用户和其他服务器通信,需要集群。 它有网络部分。这只是一个标准的大应用程序。

对我来说,JBoss 是(通常)多个应用程序的外壳,为我的应用程序提供一些标准服务。这个外壳也是一个可靠的东西——“要么全部要么一无所有”,可以打开/关闭某些东西(不可预测地影响您的应用程序,或影响 JBoss 的其他部分)或替换(非常困难并且已经是一种 hack)用不同的版本或其他模块。

对我来说,独立的应用程序是通过 IoC 布线组合在一起的,它们之间有胶水(如果你喜欢的话是 Spring)。我们可以通过 JBoss 获得我们可以拥有的一切,但要分开。 Spring 或其他粘合剂在这里起到了应用服务器的作用,但它更薄,我们仍然可以更换部件甚至 Spring 本身(从编码的角度来看,IoC 接线很简单)。

对我来说,独立的、无 AS 的方法提供了更多的控制和灵活性。此外,JBoss AS 的最新版本完全有文档记录,一些特性(最感兴趣的)根本没有记录。

那么,为什么还有人选择 JBoss - 有什么好处?

我喜欢更独立的应用程序方法,但需要更多事实来更好地理解和说服他人。

【问题讨论】:

  • 两者并不相互排斥。我们在 JBoss 容器中部署基于 Spring 的应用程序。

标签: java jboss jboss5.x


【解决方案1】:

在我看来,您所描述的似乎是同类最佳(收集所有部件并将它们自己粘合在一起)与集成堆栈(JBoss 编写所有部件并为您集成它们)之间的经典选择。这是一场永恒的争论。如果同类最佳的产品适合您,请坚持下去。

JBoss 是一个 J2EE 容器。如果您不熟悉 J2EE 规范,请查看它。基本上,Sun 的社区流程提出了一个开发框架,其中包含您在创建大型应用程序时可能感兴趣的组件。 J2EE 包含多个子规范,例如 Servlet、EJB、JTA、JMS 和一大堆其他字母汤技术。如果您没有使用任何这些技术,那么您不需要 J2EE 容器。如果您只是对使用 Servlet 和 JSP 感兴趣,那么您最好使用 Tomcat、Jetty、Resin 等 servlet 容器。

提供诸如可扩展性、事务支持、联合用户管理等企业功能是很困难的。 J2EE 容器提供了这些特性的标准级别。如果您能在其他地方找到它们并达到您满意的水平,那么您将获得更大的力量。

【讨论】:

    【解决方案2】:

    您还可以选择是否在 JBoss 中运行。如果您对 JBoss 服务感到满意,您可以使用它们,如果您不喜欢 JBoss 为您提供的服务,可以部署其他一些服务。

    从 JBoss 最小配置开始并构建您自己的配置应该会给您一个设置,您不需要运行您不需要的服务。就个人而言,我想知道我的 AS 正在运行什么,所以我更喜欢从最小配置开始,只添加必要的部分。

    【讨论】:

      【解决方案3】:

      我会说使用 JBoss 的唯一原因是如果您需要访问 Java EE 服务(如消息传递、容器管理的事务等)。

      请记住,JBoss 是(粗略描述的)Tomcat 加 Java EE 服务(是的,是的,我知道,这是一种非常简化的方法,请耐心等待)。我提到这一点,因为我会说你的决定是:

      • 如果您只需要 IoC 和其他一些可以通过 Spring 和 Tomcat 获得的功能,那就去吧
      • 如果您的应用程序需要 Java EE 服务,请使用 JBoss

      请记住,您始终可以从基本系统(Spring + Tomcat)开始,如果以后需要,可以迁移到 JBoss。没有什么可以禁止的。从这种方法开始可能会告诉您您是否真的需要 Java EE 服务,或者您是否过度设计了解决方案。

      【讨论】:

      • 我认为我们可以在没有 JBoss 的情况下获取消息,也可以使用某种容器管理的事务。除此之外,还有什么 JEE 服务?为什么它们会紧密耦合?如果他们选择这个解决方案,为什么会像有人认为的那样有好处?
      • 是的,您可以在没有 JBoss 的情况下获得服务(如 Messaging),但我个人觉得如果您开始需要它们,最好使用开箱即用的支持它们的容器(更易于维护和设置)。在服务上,这里 (java.sun.com/javaee/technologies/index.jsp) 有一个 JEE 默认提供的列表。诸如持久性、消息传递之类的东西……Tomcat 默认提供了一个小子集(Servlet、JSP)。
      猜你喜欢
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2011-05-18
      • 1970-01-01
      • 2021-03-19
      相关资源
      最近更新 更多