领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多有时,重要的变化会悄然而至。这些变化并非由营销活动推动,而是由许多个人决策累积而成;没有盛大的宣传;当人们注意到它们时,它们已经积累了惊人的势头。我在最近的 Spring Experience 大会上的开场主题演讲中提到了其中一项发展:Tomcat 的稳步崛起。
最近,我们开始在 SpringFramework.org 上进行民意调查,一些结果很有趣。问题您使用哪些应用程序服务器?产生了以下结果:BEA WebLogic(各种版本)和 JBoss AS 在 Java EE 应用服务器中并列第一,各占 16%,IBM WebSphere 以 15% 的份额紧随其后,Glassfish 以 5% 的份额表现不俗。但轻松获胜的是 Tomcat,占 37%。
市场研究公司 BZ Research 的 2006 年 12 月的第六届 Java 使用和认知度调查 提出了类似的问题:贵公司目前正在使用哪些 Java 应用程序服务器?。允许选择多个答案,因此总数超过 100%。毫无疑问,Tomcat 再次成为领导者,占比 64.3%,领先于 WebSphere 的 36.9%、JBoss 的 32% 和 WebLogic 的 23.7%。
调查之间的差异可能部分归因于 Spring 在大型企业客户中获得了特别的成功。因此,我们在 Spring 用户中看到了大型机产品的过度代表。
然而,毫无疑问,Tomcat 处于领先地位,这在两项结果中都得到了体现。其他正在研究该领域的分析公司,例如 the 451 Group,也发现了类似的结果。
一些有趣的收获
<li>Tomcat is a clear leader. It may well be the elephant in the room. This is particularly interesting given that <i>no large (or even medium sized) vendor is promoting Tomcat.</i> The Tomcat numbers aren't driven by vendor marketing, but by thousands of companies making similar decisions.</li>
Forrester Research 的高级分析师 Michael Goulde 表示,他看到 Tomcat 的采用率自 2005 年以来一直在上升。但不仅仅是 Web 开发人员在倾听 Tomcat 的“喵喵叫”;SOA 开发人员也同样关注。“Java EE 服务器并不是当今 SOA 的全部和最终选择。还有很多其他选择,”Goulde 说。
当然,Tomcat 并不是 WebSphere 或 WebLogic 的完整替代品。它仍然缺乏这些产品具有的许多重要企业功能,尽管它在集群等重要领域正在取得进展,并且与几年前相比,其性能有了很大提高。在这一点上,这不是一个苹果对苹果的比较,更类似于 Oracle 对 MySQL 的比较。如果您需要 Oracle 擅长的一些东西,例如其事务模型,那么 MySQL 就不具有吸引力。(我是那种重视这些东西的人。)另一方面,如果您正在实现许多驱动互联网的应用程序,那么撇开成本不谈,MySQL 可能是更好的技术选择。
然而,这引发了一个有趣的问题:**Tomcat 能否达到那个水平?**市场是否有足够的动力来确保一个或多个供应商开始添加缺失的功能?一个有趣的因素是,性能最高的网格/集群解决方案不是应用程序服务器本身,而是 GigaSpaces、Oracle Coherence 和 IBM ObjectGrid 等专业解决方案。HA 功能无需与 Java EE 服务器相关联。
这些差异意味着,在 WebLogic 上运行大型部署比在 Tomcat 上更容易,这与 Java EE 规范无关,而是与 QoS 和可管理性有关。例如,对于绝大多数用户来说,WebLogic 并非因为 EJB(他们不需要)或 JCA 或许多其他基本上无关的 Java EE 规范而优越。这一切都与规范之外的东西有关,这些东西源于 BEA 客户群的需求。BEA 在过去几年中的定位反映了对这一点的认识,强调 WebLogic 可以适应多种编程模型,并提供“SOA 的坚实基础”。IBM 几乎没有追逐 API,距离 Java EE 5.0 的认证实现还有一段距离,并且在 WebSphere 产品页面上做出了类似的关于 SOA 而不是 Java EE 的定位声明。
在开源时代,应用程序服务器的传统 API 主导销售已被 QoS 销售所取代。Java EE 6“配置文件”可能有助于将此形式化。有趣的是,这里最需要担心的应用程序服务器供应商可能是 Red Hat。如果应用程序服务器是 QoS 销售而不是 API 销售,那么 JBoss AS 在 API 上与 BEA 和 IBM 相匹配但在 QoS 上却没有匹配的事实可能不足以证明其相对于 Tomcat 的使用合理性。