【问题标题】:Java - Reference implementations vs 3d party vendor provided onesJava - 参考实现与 3d 方供应商提供的实现
【发布时间】:2010-11-23 20:13:11
【问题描述】:

处理 Java - 大多数情况下您更喜欢的选项 - 参考 impl。由任何其他供应商提供的某种技术或另一种技术?

一些例子——有 Glassfish 服务器,它基本上是 Java EE 的官方参考实现。 但是,我真的很少看到人们使用它。 Jboss、一些免费的 Apache 项目相关(如 Apache ActiveMQ for JMS)、WebLogic、WebSphere...

有人有自己的规则吗(纯成本除外:)),哪个更可取?

我确实在这里看到了两个相反的观点:

1) RI 正在更快地获得新功能和新版本的规范。

2) 3-d 方供应商解决方案通常更加“完整”且面向最终程序员,就像包含的任何其他可用功能/实用程序(不属于规范的一部分)一样。

【问题讨论】:

    标签: java jakarta-ee implementation specifications vendors


    【解决方案1】:

    还有几点:

    3) 与其他工具的集成通常更适合第 3 方(例如 apache http 服务器和 tomcat servlet 容器)

    4) RI 包含所有功能,第 3 方通常仅包含广泛有用的功能。该软件不太复杂,有时更方便,性能更好。

    5) RI 是前沿。对于生产服务器,当不需要最新功能时,需要更老的实现(大多数“Java EE”应用程序在 Tomcat 5.5 - 2.4 servlet 容器上工作 - 我相信)

    更新:对于 Java EE 6 和即将推出的 7,情况发生了变化。还有完整的标准开源实现(例如用于 Java EE6 的 TomEE),而且 glassfish 似乎为 Java EE 7 提供了一个可用的 RI,这是唯一适合早期采用者的 RI。

    【讨论】:

    • 这也是我的想法。 3-d 派对的东西似乎更可取..
    【解决方案2】:

    对于“参考实施”与其他实施,这里确实没有“规则” - 您将拥有的要求/偏好/资金与每个可用选项的功能/成本进行比较。

    长期以来,Tomcat servlet 规范 RI。很长一段时间以来,EJB RI 都是一个笑话——实际上没有人使用它。并且整个 J2EE 没有“参考实现”。

    大多数人使用其他服务器的原因是因为长期以来 Weblogic 和 Websphere 是唯一(现实的)实现,所以开始使用 J2EE 的项目/人会更适应它们. JBoss 是第一个成功的开源 J2EE 应用服务器 - 所以喜欢开源(或只是想要一个免费的应用服务器)的人非常受限于这个选项 - 而且 - 这些人会更喜欢他们所知道的。

    但是,目前 GlassFish 与其他开源/商业 Java EE 应用程序服务器相当。它使用 Tomcat 作为其 servlet 引擎 - 并且非常模块化,因此您可以取出不需要的部分。

    影响这一点的另一件事是开发人员从“重量级”J2EE 规范迁移到“轻量级”开源解决方案,例如 Hibernate 和 Spring(一旦它们可用),并且仅在 servlet 容器(通常是 Tomcat)中运行,而无需一个成熟的应用服务器。

    【讨论】:

    • hibernate 不是嵌入式 jboss(例如)持久性提供程序吗?它们不是相互排斥的东西......
    • 令人困惑 - Hibernate 是一个独立的 ORM 项目。但它在内部用于很多事情。它也是一个“第三方供应商”JPA 实现(我相信 JPA RI 是 TopLink)。而且我认为 JBoss 目前正在使用 Hibernate 来支持它的 EJB3 实现。但是 JBoss 并没有开始使用 Hibernate 来实现持久性——他们是最早的开源 EJB 供应商之一,他们编写了自己的 EJB 2.1 实现。在您的 Web 应用程序中直接对 Hibernate(或 Hibernate JPA)进行编程与通过 EJB3 使用它是有区别的...
    猜你喜欢
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2011-01-10
    • 1970-01-01
    • 2021-07-31
    相关资源
    最近更新 更多