七款最佳的免费应用服务器

译文
运维 服务器运维
为了深入了解市面上这种软件的质量,我们列出了七款应用服务器,它们有望最终为部署了企业应用程序的机构大幅节省成本。

应用服务器是为应用程序提供业务逻辑的计算机软件。它提供了诸多服务,如管理大型分布式系统、数据服务、负载均衡、事务支持和网络安全等服务。应用服务器是三层应用体系的一部分,由图形化界面服务器、应用(业务逻辑)服务器和数据库/事务服务器组成。许多应用服务器支持Java平台,但是它们可能出现在其他环境中。

在企业环境部署应用服务器有几个充分的理由。大体上来说,应用服务器能够将应用程序的更新版和升级版分发给所有用户。系统管理员也得益于这个事实:可以集中对应用程序配置进行更改,这大大简化了技术支持,最终大大简化了最终用户体验。应用服务器还可以简化用户管理,不需要为应用程序建立和维护用户管理系统。这种类型的软件还可以改善可扩展性和资源使用状况,通过不同的部署包装器来展现业务组件。

随着云计算变得越来越重要,应用服务器的角色势必只会日益重要。

为了深入了解市面上这种软件的质量,我们列出了七款应用服务器,它们有望最终为部署了企业应用程序的机构大幅节省成本。

值得一提的两款应用软件是IBM WebSphere应用服务器和Apache Tomcat。IBM提供了社区版本的软件,采用免费使用和分发的许可证来发行,但是它基于下文介绍的Apache Geronimo。实际上,Apache Tomcat是一种Web容器,而不是完全成熟的应用服务器。Web容器是Web服务器中与服务器端小程序(servlet)交互的Web组件,而服务器端小程序就是一些Java类,可以扩展让客户端访问应用程序的服务器的功能。不过,Tomcat避免了与功能完备的应用服务器有关的一些开销。

为了深入了解现有软件的质量,我们列出了七款出色的开源应用服务器。但愿需要分层架构的企业会在这里找到感兴趣的一款应用服务器。

现在,我们介绍七款随时可用的应用服务器。我们全面介绍了每一款应用服务器,并深入分析了其特性,还提供了相关资源和评论的链接。

#p# JBoss

JBoss应用服务器是符合J2EE认证的平台,可用于开发和部署企业Java应用程序、Web应用程序和门户网站。除了扩展的企业服务(包括集群、缓存和持久化)外,JBoss应用服务器还提供了一系列齐全的J2EE 1.4特性。

JBoss应用服务器包括对Enterprise Java Beans (EJB) 3.0的支持,旨在显著简化企业Java编程模式。

JBoss是市面上使用最广泛的第一大Java应用服务器。成百上千的专业开源开发人员致力于为JBoss应用服务器从事开发。实际上,所有受雇为JBoss应用服务器从事开发的人都是从开源社区雇来的,他们每个人都为开源项目从事过开发工作。

特性包括:

•支持面向方面的编程(AOP)

•集群

•部署API

•分布式缓存(使用JBoss Cache,这是一个独立产品)

•分布式部署(批量部署)

•Enterprise JavaBeans版本3和2.1

•故障切换(包括会话)

•与Hibernate集成(面向持久化编程;Java持久性API或JPA)

•Java验证和授权服务(JAAS)

•与Java EE连接件架构(JCA)集成

•Java管理扩展件

•Java服务器页面(JSP)/ Java Servlet 2.1/2.5(Tomcat)

•JBoss Web服务(JBossWS),面向JAX-WS等Java EE Web服务

•JDBC

•负载均衡

•管理API

•OSGi框架

•RMI-IIOP(JacORB,Java和CORBA的缩写)

•SOAP with Attachments API for Java(SAAJ)

•Teiid数据虚拟化系统

•与JBoss 5包含在一起的JBoss EJB3实现了最新版的Enterprise Java Beans(EJB)规范。EJB 3.0深入改进和简化了EJB规范。EJB 3.0的目的是简化开发,方便测试驱动方法,并且主要致力于编写普通Java对象(POJO),而不是针对复杂的EJB API来进行编程。

•JBoss Messaging是JBoss企业中间件堆栈(JEMS)中的高性能JMS提供者,与作为默认消息提供者的JBoss 5包含在一起。它还是JBoss企业服务总线(ESB)基础架构的基石。JBoss Messaging对JBossMQ进行了全面改写,JBossMQ是JBoss AS 4.x系列的默认JMS提供者。

•JBossCache 2.0分为两个版本。一种是传统的树状结构、基于节点的缓存;另一种是PojoCache,这种内存中的、事务型的、复制的缓存系统让用户可以透明地处理简单的POJO,不需要用户主动管理复制或持久化方面。

•JBossWS 2是面向JBoss 5的Web服务堆栈,提供了与Java EE兼容的Web服务:JAXWS-2.0。

•JBoss Transactions是JBoss 5的默认事务管理器。JBoss Transactions基于被行业证实的技术,而且18年来一直是分布式事务领域的领导者。

•JBoss Web是JBoss 5中的Web容器,这个基于Apache Tomcat的实现机制包括Apache便携式运行时(APR)和Tomcat原生技术,以获得不亚于Apache Http服务器的可扩展性和性能特点。

#p# Zope

Zope(Z对象发布环境)是一款免费开源的、面向对象的Web应用服务器,用Python编程语言编写而成。

Zope可以帮助你迅速创建动态的Web应用程序,比如门户网站和内联网网站。Zope随带所需的各项功能,包括支持成员、搜索和新闻。

特性包括:

•全面、自动的硬件检测

•结合了Python的优点、ZODB对象数据库和内置安全系统

•内置的Web服务器

•FTP服务器

•WebDAV服务器

•XML-RPC服务功能

•基于Web的界面

•对象数据库——事务型对象数据库,不但能存储内容和自定义数据,还能存储动态HTML模板、脚本、数据引擎、关系数据库(RDBMS)连接和代码。

•与关系数据库集成

•脚本支持

•用于创建HTML模板的两种机制:动态模板标记语言(DTML)和Zope页面模板(ZPT)

#p# Apache Geronimo

Apache Geronimo是一款开源应用服务器,由Apache软件基金会开发,采用Apache许可证来发行。Geronimo目前与Java企业版(Java EE)5.0规范兼容。

Apache Geronimo v2.2.1服务器通过了Sun的JEE5认证测试套件的测试。每个Geronimo服务器包都包括两种可能的Web容器中的一种:Tomcat或Jetty。

Geronimo提供了一种名为GShell的命令外壳环境,用于执行命令。

特性包括:

•易于使用

•Build服务器

•与Java企业版(Java EE)5.0规范兼容,比如JDBC、RMI、电子邮件、JMS、Web服务、XML、Enterprise JavaBeans、连接件、服务器端小程序、门户组件、JavaServer Pages和几项Web服务技术

•组件包括:

○Apache Tomcat

○Jetty

○Apache ActiveMQ

○Apache OpenEJB

○Apache OpenJPA

○Apache ServiceMix

○Apache Axis和Apache Scout

○Apache CXF

○Apache Derby

○Apache WADI

○MX4J

•支持Java SE 6

•插件配置文件

•提供满足开发人员、管理员和系统集成人员要求的运行时环境

•与市面上最佳的开源工具(如Eclipse)集成

•Geronimo管理控制台是一种基于Web的界面,为管理Geronimo服务器的诸多方面提供了一种使用方便、对用户友好的方式

•Geronimo Eclipse插件(GEP)为之前版本的Geronimo服务器环境提供了兼容性支持

#p# GlassFish

GlassFish是一款最初由Sun公司为Java EE平台开发的开源应用服务器,现在由甲骨文公司来支持。这个项目提供了用于开发高质量应用服务器的结构化流程。

GlassFish基于Sun发布的源代码和甲骨文公司的TopLink持久化系统。它使用Apache Tomcat的衍生版本作为用于提供Web内容的服务器端小程序容器。

特性包括:

•开放的、模块化的、可扩展的平台

•轻型、灵活

•基于OSGi的可扩展核心

•企业就绪的应用服务器,拥有大规模可扩展性和先进的管理功能

•全面集群

•集中式管理,基于角色的安全

•SSH或DCOM配置

•高可用性

•易于使用的管理控制台

•命令行工具

•更新中心

•嵌入式API

•为应用服务器消除监控负担的Flashlight基础架构

•支持REST监控

•支持所有的Java EE API规范,比如JDBC、RMI、电子邮件、JMS、Web服务、XML及更多

•支持动态语言,比如Ruby on Rails、Jython和Groovy

•支持Java EE 6

•插入式容器、支持脚本语言

•可与微软.NET协同运行

#p# Zend服务器社区版

Zend服务器社区版是一款简单的、直观的开源软件Web应用服务器,面向PHP 5,旨在消除编程方面的繁琐细节,让用户可以致力于大局。

Zend框架的一个优点是,采用了高度模块化的模型-视图-控制器(MVC)设计,使得代码更容量重复使用、更容易维护。

你可以在开发和测试期间,使用Zend服务器社区版在生产环境中运行应用程序,确保在整个应用程序的生命周期中拥有一致的环境。

Zend Server提供了两个版本:Zend服务器社区版是一款轻型版的Zend服务器,另一个版本是全面的、企业就绪的Web应用服务器,它是为了在生产环境中部署、运行和管理业务关键型PHP应用程序而设计的。

特性包括:

•全面的PHP堆栈,包括Zend框架

•应用程序部署

•基于Web的PHP管理控制台

•调试器界面

•PHP缓存和优化

•字节码加速

•支持充分利用REST的Web API

•Java连接件

•PHP字节码加速(Zend Optimizer+)——无需对应用程序进行变更,即可提升性能

•数据缓存API——一组函数让开发人员可以将数据缓存到共享内存或缓存到磁盘

•可连接到所有常见数据库

•与Apache或IIS集成

•全面支持PHP 5.2和5.3

•原生安装

非开源Zend服务器的额外特性

•PHP监控

○函数错误

○数据库错误

○函数执行速度慢

○查询执行速度慢

○请求执行速度慢

○内存占用率高

○输出大小不一致

○Java错误未发现

○例外情况

○自定义事件

○致命的PHP错误

○PHP错误

•应用程序问题的诊断

•代码跟踪

•集群支持

•作业队列:卸载了执行长时间运行的PHP脚本这一任务

•Zend下载服务器

#p# JOnAS

JOnAS是一款成熟的开源应用服务器,由ObjectWEB联盟开发和运行,它实现了符合Java EE 5认证的应用服务器规范。

该软件通过EasyBeans提供了全面兼容的EJB容器,与嵌入式Tomcat或Jetty Web容器一并提供。

特性包括:

•实现了全面的Java EE 5执行堆栈,并与EasyBeans一起提供了高效的、可插入的、易于使用的EJB3容器,还提供了一些Java EE 6TM预览(JPA 2.0和CDI等),借助OW2 EasyBeans容器支持EJB3、借助Tomcat 6/7或Jetty 6/8支持服务器端小程序、借助CXF 2支持JAX-WS,借助Jersey支持JAX-RS 1.1等

•高级集群机制,确保可扩展性和高可用性

•一目了然的远程管理控制台

•在OSGi架构上运行

•面向许多集成开发环境(IDE)的插件

#p# Jetty

Jetty是一款开源HTTP服务器端小程序服务器(应用服务器),完全用Java编写而成。它旨在确保轻型、高性能、嵌入式、可扩展和灵活,因而使得它成为处理来自任何Java应用程序的动态HTTP请求的理想平台。Jetty可以嵌入到众多设备、工具、框架、应用服务器和集群中。

Jetty用于许多不同的产品,包括Ubuntu、Liferay、Zimbra、雅虎Hadoop集群、Apache Geronimo、Alfresco、谷歌应用引擎、Eclipse及其他许多产品中。

特性包括:

•功能齐全、基于标准

•实现了核心标准服务器端小程序2.5规范

•灵活、可扩展。它可以部署和集成到广泛环境:

○软件框架和工具

○JEE应用服务器

○嵌入式应用程序、产品和服务

○从手机到大型服务器的诸多设备

•占用资源少

•可嵌入式

•异步

•可灵活扩展,适用于企业环境

•灵感源自EE的众多特性,比如Java命名和目录接口(JNDI)、Java事务API(JTA)、Java消息服务(JMS)和邮件服务器

•采用Apache和Eclipse双许可证来发行

原文链接: http://www.linuxlinks.com/article/20120317015727999/ApplicationServers.html

责任编辑:张玉 来源: 51CTO
相关推荐

2015-08-14 09:31:55

开源Python服务器

2018-11-29 10:22:43

Java应用服务器

2009-01-10 19:32:36

2018-12-12 08:40:11

服务器TomcatJava

2009-01-16 14:37:57

TomcatWeb服务器应用服务器

2012-02-23 10:02:08

Web服务器应用服务器

2018-02-07 10:08:02

应用服务器网络数据库

2009-06-18 10:03:57

EquinoxOSGi应用服务器

2014-08-08 16:35:37

应用服务器

2018-05-24 10:15:18

服务器Session问题

2009-02-27 14:25:00

Weblogic应用服务器服务器管理

2012-02-02 10:24:08

JavaResin

2009-06-16 15:35:20

JBoss应用服务器

2021-05-28 05:18:08

PHP语言roadrunnner

2018-03-20 14:24:10

Web服务器HTTP

2009-05-08 16:38:54

SpringHyperic服务器

2014-05-30 11:29:36

Java服务器

2009-06-16 12:02:37

JBoss IPv6

2017-10-17 09:15:06

Web服务器区别
点赞
收藏

51CTO技术栈公众号