Closed 。这个问题是基于意见的 /help/closed-questions 。目前不接受答案。
我目前正在开始一个新的应用程序开发。应用程序架构师坚持要求我们使用JBoss5 因为它“更好”。有谁对“更好”有更广泛的定义(如果是这样的话)?
我有使用经验Tomcat5 6 在具有大量用户负载的大型应用程序中,它处理得很好(恕我直言)。两者都会运行在RedHat6 在相同的硬件条件下(如果实施很重要)。
提前致谢
说任何工具或框架只是“更好”都是荒谬的。这总是取决于情况、架构等。你不一定想用锤子来拧螺丝。
我写了《JBoss in Action》,所以我显然很喜欢 JBoss 技术,但我会第一个说 JBoss 在很多情况下可能有点过分了。例如,对于我开发的最后两个站点,使用 Grails 构建并部署在独立的 Tomcat 实例上更有意义。
如果说使用 JBoss 时您得到的只是 EJB 和 JMS,这有点不公平。 JBoss 提供许多服务和功能,包括:
Servlet/JSP 容器
JNDI
EJB
JTA
聚类
caching
JMS
数据源/资源管理
JMX集成
OSGi支持
网页服务
portals
网豆(接缝)
一些管理控制台
IoC 容器
etc.
JBoss 吸引许多架构师的原因是它的灵活性。它使用插件架构,允许您添加和删除服务。正如其他人所说,使用 Tomcat 作为其 Servlet 容器,因此您可以将 JBoss 削减到实际上只是一个 Tomcat 服务器。这样做有什么好处呢?如果您认为您将使用 JBoss 的其他功能,那么这是面向未来的。
JBoss 中的这些服务是预先集成的,并努力提供一致的部署模型,最大限度地减少您自行编写应用程序逻辑或配置来集成它们的工作量。话虽这么说,像 Spring 这样的其他框架在支持集成许多流行库和框架的统一方式方面也做得很好。但由于他们专注于集成第三方库,因此服务之间的互操作性取决于您。由于 JBoss 正在构建服务和集成平台,因此他们花时间开发(并提供支持)互操作性。
做出选择时要问的一些问题是:
Are you going to use standard JavaEE architectural components like EJB?
顺便说一句,EJB 可以使用 JBoss 嵌入式容器在独立的 Tomcat 中运行,因此如果您只使用 EJB,那么您仍然不必使用 JBoss
您要使用 Web 服务、门户、JMS 吗?
您是否正在考虑使用 Web Beans 或 Seam 进行构建?
您的 IT、支持和开发人员当前使用哪些部署平台(Tomcat、JBoss 等)?如果您要使用新的东西,您将需要支付额外的费用来学习新平台。
如果您销售客户将部署的产品,它将对客户的 IT 组织产生什么影响。
Are you going to need paid support?
您可以通过许多公司(我相信包括 Red Hat)找到对 Tomcat 的支持。
您需要比较成本,因为我认为 JBoss 支持并不便宜,尽管我最近没有查过价格。
Will you need to do any sophisticated clustering?
JBoss 具有一些出色的集群功能,您可能会通过 Red Hat 获得良好的集群支持。不过,为了充分披露,我从未与任何其他框架做过任何复杂的集群来进行比较。
您是否需要高级事务管理(分布式事务、两阶段提交等)
听起来不像无耻的插件,但《JBoss in Action》的第一章是免费提供 http://www.manning.com/affiliate/idevaffiliate.php?id=284_83 在曼宁网站上。虽然我们不做direct 在本章中,JBoss 与其他应用程序服务器和部署环境的比较,我们确实讨论了一些架构差异,这与您的问题相关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)