主流Java EE应用服务器横向对比分析

在开源Java应用服务器领域,像JBoss、Tomcat及Apache的Geronimo,他们不仅仅是商 业领域的领跑者,同时是技术领域的先行者。当然,所有的Java EE应用服务器的实现不 尽相同,但其很多方面具有一定程度的可比性。本文对JBoss4.2、Geronimo 2及Tomcat 6 三种开源的Java EE应用服务器,就他们的特性、部署及性能等方面进行一一比较。

一、前言

当企业级的Java应用程序需要真正的应用部署时,Java EE应用服务器是必不可少的工 具。研究表明,除了商业的应用服务器之外,开源的Java EE应用服务器开始成为很多 Java企业级应用的最佳选择。而JBoss、Tomcat及Apache的Geronimo是其中最主流的开源 Java EE应用服务器。而这三者中,尽管JBoss和Tomcat并非100%的实现了Java EE 5标准 ,但这二者占有的市场份额相对比较大。Geronimo是对Java EE 5标准100%的实现,正在 快速的发展。如果读者想在Java EE领域找份像样的工作,对这三种开源的应用服务器应 该达到比较熟悉的程度,并能在一定程度上进行比较区分。

在本文中,对这三种主流的应用服务器,就其特性、部署及性能等方面进行比较。分 析了他们各自的特色对该应用服务器的重要性,当然,也提供了一些如何选择适合项目的 服务器的原则及建议。

二、特性比较

表1就JBoss 4.2、Tomcat 6及Geronimo 2的特性进行全面的比较。请注意,表中用到 的“部分支持”表述,表明该应用服务器并非完全的支持,需要安装一些额外 包。而其中的“原则上支持”表述,表明该应用服务器需要第三方的安装包的 支持。注:三种应用服务器均在Linux、Solaris、Windows及Mac OS X上进行过测试。

特性 JBoss 4.2 Geronimo 2 Tomcat 6
Java EE 5一致性 部分支持 完全支持 部分支持
支持EJB 3.0 支持 支持 原则上支持
JSP2.1和Servlet2.5 支持 支持 支持
JSF1.2 支持 支持 原则上支持
客户化插件 支持 支持 不支持
业务规则引擎 原则上支持 原则上支持 原则上支持
Hibernate3.x 支持 原则上支持 原则上支持
集群 支持 支持 部分支持
Eclipse IDE 支持 支持 支持

表1.Java EE应用服务器特性比较

当读者的应用需要比较特殊的扩展,或是想与Java EE 5最贴近时,那么,Geronimo 2 是最佳的开源Java EE应用服务器选择。尽管JBoss 4.2与Sun的Java EE标准在实现上有一 定的出入,但JBoss 4.2 team提供了许多与Java EE标准很符合的技术,同时也扩充了 Java EE 5的标准范围。而Tomcat 6本身就是一种轻量级的解决方案,所以它不并包括 Java EE 5的所有特性,或是在JBoss及Geronimo中所提供的特性,但正是由于它的轻量级 ,才使它对内存的占有量比较少,并且比其它两种服务器运行起来更快。

1.Java EE 5一致性

Sun公司的Java EE 5标准是一种行业标准,而作为这种标准的实现,开源的Java EE 5 应用服务器应该与其尽量的保持一致,因此Java EE 5的一致性是一个很重要的指标。在 这三种开源的实现中,Geronimo是实现得最好,与Java EE 5标准最贴近的应用服务器。 JBoss 4.2支持绝大部分Java EE 5的特性,当然,不久即将发布的JBoss 5将完全支持 Java EE 5的所有特性。而Tomcat一般看成是JSP/servlet的容器,仅仅支持Java应用服务 器的基本特性。

2.支持EJB3

EJB(Enterprise JavaBeans)是指能在Java EE服务器部署的Java组件。它通常将一 些业务功能打包成可重用的组件。新发布的EJB3提供了许多新功能,解决了旧版本中许多 问题。JBoss 4.2及Geronimo 2均支持EJB3。Tomcat 6本身并不支持EJB3,但Apache OpenEJB项目可以使Tomcat支持EJB3,据称Tomcat可以运行一种嵌入式的JBoss EJB3容器

3.支持JSP 2.1/Servlet2.5

对JSP/servlet的支持是绝大部分Java服务器应提供的最基本功能。JSP2.1和 Servlet2.5是Java EE 5对JSP/servlet的升级功能。JBoss 4.2、Geronimo 2及Tomcat 6 均支持JSP/servlet这一特性。

时间: 2024-11-03 01:53:01

主流Java EE应用服务器横向对比分析的相关文章

三款主流服务器集群软件对比分析

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统.并且集群系统的管理员可以随意增加和删改集群系统的节点. 下面就服务器常用的三款集群软件做一个对比分析介绍: 1.ROSE HA 服务器集群软件 在双机热备的架构中,除了要考虑切换时间外,要根据每个系统的作业环境,包括网路系统是单网或是双网,数据库的安装和作业内

主流PHP框架的优缺点对比分析_php实例

PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP框架包括:CodeIgniter.CakePHP.ZendFramework.Symfony.我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长. CodeIgniter 优点: 1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高:具有基本的

主流iSCSI Initiator软件的对比分析

要实现iSCSI读写,除了使用特定的硬设备外,也可通过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接. iSCSI即internet SCSI,是IETF制订的一项存储传输协议标准,用于将SCSI数据区块映像成以太网数据封包.iSCSI协议基本上是一种跨过IP网络来传输SCSI 数据区块的方法,发起读写请求的来源机器设备称作Initiator(发起方),被请求的目标设备则称作Target.透过这种方式可在IP网络上以区块级模式存取大

构建可扩展的Java EE应用(一)

对于一个具备使用价值的应用而言,其使用者有可能会在一段时间内疯狂的增 长.随着越来越多的关键性质的应用在Java EE上运行,很多的Java开发者也开始 关注可扩展性的问题了.但目前来说,大部分的web 2.0站点是基于script语言编 写的,对于Java应用可扩展能力,很多人都抱着质疑的态度.在这篇文章中, Wang Yu基于他本身在实验室项目的经验来展示如何构建可扩展的java应用,同时 ,基于一些在可扩展性上做的比较失败的项目给读者带来构建可扩展java应用的 实践.理论.算法.框架和经

应用容器云:接过Java EE的枪

本文根据DCOS联盟第4期线上分享整理而成   讲师介绍宋潇男 普元云计算架构师     曾任职华为,负责云计算产品与解决方案的规划与管理,十年以上分布式系统和中间件技术经验,熟悉HPC.同格计算.云计算实战.   主题大纲: 1.回顾Java EE的发展 2.揭示Java EE的根本性缺陷 3.从Java EE的角度看应用容器云 4.对未来的展望   大家好,首先自我介绍一下.     我来自普元软件,对Unix和云计算技术比较熟悉,而所在公司的传统业务是中间件,在这个背景下,我对眼下的容器热

在Java EE环境下使用Kodo EJB

Kodo EJB是一个支持对象/关系映射的框架,根据EJB3规范的要求,Kodo EJB除了支持在普通Java应用中提供轻量级的持久层框架之外,也支持在JAVA EE容器中使用满足重量级企业应用的需求,充分利用JAVA EE容器中提供的优越特性如容器管理事务.远程(Remote)访问. 基于Kodo EJB开发的应用支持使用EJB或者JCA标准接入到JAVA EE环境中: JCA Kodo EJB支持JCA1.0标准,因此基于Kodo EJB开发的应用可以和其他JCA资源一样轻松的发布到JAVA

Docker, Java EE 7, 和 Maven with WebLogic 12.1.3 【已翻译100%】

WebLogic 12.1.3已经发布,并且对于JavaEE7的APIs在数据库支持web应用开发上也是最重要的支持.以下是在发行版本中支持的一些标准: Java Persistence API 2.1 (implemented by EclipseLink) JAX-RS 2.0 (implemented by Jersey) JSON-P 1.0 (implemented by GlassFish subproject jsonp) WebSockets 1.0 (implemented b

《Java EE核心框架实战》—— 导读

前言 从近几年用人单位对人才招聘的要求来看,越来越趋向于"实战性",也就是要求新入职的员工能立即融入团队,迅速上手项目开发,快速创造经济利益. 多年以来,我一直从事与软件开发相关的工作.我的很多学员建议我写一本内容精悍而又不失实用价值的主流Java EE开源框架图书,使其只包含主流框架最重要.最核心.最常用的内容.这样他们就可以尽快上手,可以自行在工作和学习中不断拓展和深掘.这也是我写作本书的主要目的. 的确,他们的建议非常有道理,因为Java EE世界非常庞大,市面上没有任何一本书能

Java EE应用程序在Glassfish上的性能调优案例分析

Java EE应用的性能问题对严肃的项目和产品来说是一个非常重要的问题.特别是企业级的应用,并发用户多,数据传输量大,业务逻辑复杂,占用系统资源多,因此性能问题在企业级应用变得至关重要,它和系统的稳定性有着直接的联系.更加重要的是,性能好的应用在完成相同任务的条件下,能够占用更少的资源,获得更好的用户体验,换句话说,就是能够节省费用和消耗,获得更高的利润. 要获得更好的性能,就需要对原来的系统进行性能调优.对运行在Glassfish上的JavaEE应用,调优是一件相对复杂的事情.在调优以前必须要