课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 三种开源的Java EE应用服务器对比
  • 三种开源的Java EE应用服务器对比

    发布:昆明Java培训      来源:达内新闻      时间:2016-02-28


  • 在开源Java应用服务器领域,昆明java培训小编觉得像JBossTomcat ApacheGeronimo,他们不仅仅是商业领域的领跑者,同时是技术领域的先行者。

    当然,所有的Java EE应用服务器的实现不尽相同,但其很多方面具有一定程度的可比性。昆明java培训在本文中对 JBoss4.2Geronimo 2Tomcat 6三种开源的Java EE 应用服务器,就他们的特性、部署及性能等方面进行一一比较。

    一、前言

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

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

    二、特性比较

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

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

    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.2Geronimo 2均支持EJB3 Tomcat 6本身并不支持EJB3,但Apache OpenEJB项目可以使Tomcat 支持EJB3,据称Tomcat可以运行一种嵌入式的JBoss EJB3容器

    3.支持JSP 2.1/Servlet2.5

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

    4.支持JSF 1.2

    JSF(Java Server Faces)是一种在Java EE应用部署的组件式架构。提供基本的Web开发的用户界面。与请求驱动的 MVC(Model-View-Controller)的架构不同的是,JSF采用了组件驱动的模式。就目前的JSF1.2而言,JBoss 4.2 Geronimo 2都有很好的支持,而运行在Tomcat 6时有不少的问题待解决。

    5.支持客户化插件

    客户化插件支持,意味着可以在原有应用服务器功能的基础上,开发新的功能,并能很好的协同使用。在JBoss中使用MBeans(managed beans) 来处理插件开发。而Geronimo也采用类似的处理方式,只是名称不一样,叫GBeans。这些客户的Beans 为开发及部署客户资源时,提供一系列统一的接口。

    6.支持业务规则引擎

    几乎所有的应用程序都是建立在一系列业务规则之上,或称之为业务逻辑。而业务规则引擎组件则能帮助管理与简化业务逻辑编程。一般的编程过程中,程序员最常见的逻辑有如if/then 逻辑。而有了业务规则引擎,则可以实现许多更加智能的业务逻辑。Drools作为一种业内很流行、标准化的业务规则引擎,在JBoss 4.2 Geronimo 2Tomcat 6中均可得到支持。Geronimo完全支持Drools ,而JBoss支持Drools的历史最久,已达三年之久,并使JBoss/Drools 成为了一种非常有市场竞争力的业务规则解决方案。

    7.支持Hibernate 3.x

    HibernateJava编程提供了强有力的关系/对象模型(ORM Object-r elational mapping)Hibernate可以将面向对象的模型映射为关系型数据库,这对Java开发来说是最有吸引力的。 Hibernate作为一种开源的软件,最早就是由于JBoss的一个团队所开发(Gavin King)。当然,JBoss 4.2 Geronimo 2Tomcat 6均支持Hibernate 3

    8.支持JBoss Seam

    JBoss Seam是一种着名的应用框架,集成了众多的JavaWeb技术,例如AjaxJSF Java PortletsBPM(Business-process management)等技术。SeamJBoss 的项目,理所当然, JBoss 4.2自然支持它,同样Geronimo 2也支持JBoss Seam。据JBoss Seam 的开发团队称,Tomcat可以通过使用JBoss嵌入式EJB 3容器来支持JBoss Seam

    9.支持集群

    集群通过并行在多台服务器运行同样的服务,从而大大的提高应用的吞吐量,达到所谓的高负荷的效果。由于采用了数台服务器同时运行,所以当其中的某台服务暂时或死机时,对客户不会造成服务停止,从而达到业务的可持续。集群极大的提高了企业级的Java应用的性能、吞吐量等能力。

    JBoss 4.2Geronimo 2Tomcat 6均以同样的方式来支持集群。JBoss 在集群层使用及时复制的方式来达到集群的目的。而Geronimo所发布的集群,还处于测试阶段,需要时间的考验,如果有兴趣,可以与Apache 基金组织联系。

    10.支持Eclipse IDE

    Eclipse是目前最流行的Java开发工具,自然,与Eclipse的集成是众多Java EE 5应用服务器应该提供的功能。JBossGeronimoTomcat均支持与 Eclipse整合。特别地,JBoss还有自己的Eclipse版本,称为Red Hat Developer Studio ,目前正处于测试的阶段。利用Geronimo提供的工具,可以省去手工配置XML 文件的烦琐。同时,数据库连接池工具都可以自动的下载所需要的数据库连接驱动。

    三、部署

    这三种应用服务器的安装均十分简单。在相关的网站上下载ziptar包进行解压,唯一需要配置的是设置 JAVA_HOME环境变量(不过一般均有配置)。注意,在Linux/Unix系统下,需要先发送 chmod命令。

    1.Geronimo

    Geronimo 2来说,进行配置及部署Java应用程序非常的简单,特别是通过它提供的Web 控制台更加简单。Geronimo控制提供了许多简单的功能来帮助开发人员进行应用程序的配置。可以进行数据库的连接池测试及安全设置或配置等。

    2.JBoss

    JBoss 4.2有非常漂亮的Web管理控制台,但它所提供的管理功能及特性与Geronimo不尽相同。首先看到的是 JBoss的状态及其监测信息,但并没有提供部署功能。而部署Java应用时,只需要将它复制到default/deploy 文件夹下面,JBoss会自动的检测到它并进行相关的快速部署。当然,也可以通过修改配置jboss-service.xml来进行客户应用程序所在目录的映射。

    3.Tomcat

    Tomcat 6不愧为一款快速的轻量级的应用服务器。它的控制台提供了基本的部署功能。可以通过Tomcat的控制台进行服务的启动/ 停止及WAR包的deploy/undeploy操作。当然也提供了Tomcat 的运行状态及监测信息,同时有很好的用户授权系统。

    四、性能

    就可靠性而言,性能应该是所以的应用服务器所应该提供的最重要的特性。在本文中,笔者做了一个小实验,使用JSP页面及编译好的servlet 来测试应用服务器所能处理的用户会话个数以及所能连接的用户数量。当然,实际的Java应用是更加复杂的,而本实验中的JSP 页面及servlet是比较简单的,主要用于测试Web应用服务器的稳定性、可靠性及速度。

    使用的测试机器为:双核-64 CPU4G 的内存,在实验中,让第一种应用服务器运行到1200000个会话。当然,这些会话不并是同时连接。

    测试所用的代码量只有区区的几百行,为了准确起见,笔者对三种服务器使用了相同之处的配置。当然,如果采用实际的Java 应用程序来测试时,所得到的数据结果图会有一定的出入,但大概的趋势会一致。

    JBoss 4.2的表现不如Geronimo2,毕竟Geronimo 2所采用的实现技术及思想都是最新的。Tomcat 6 的性能最好,因为Tomcat 6本身就是为JSP/servlet量身定做的Java EE 5应用服务器。相比起 JBoosGeronimo需要20秒进行启动的长时间,Tomcat仅仅需要 3秒钟。

    推荐文章

上一篇:JSP虚拟主机都有哪些好处?

下一篇:云计算时代要先掌握Java开发

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56