什么样的J2EE应用服务器才算好产品?
本文主要介绍J2EE的商业实现——即J2EE应用服务器。在概览应用服务器市场及其商业产品的演进之后,我们将具体探讨一个优秀的应用服务器应该具备的各种品质和特性。最后,我们还将就企业如何选购合适的服务器产品提供一些建议。 Web应用服务器 Web应用服务器(
本文主要介绍J2EE的商业实现——即J2EE应用服务器。在概览应用服务器市场及其商业产品的演进之后,我们将具体探讨一个优秀的应用服务器应该具备的各种品质和特性。最后,我们还将就企业如何选购合适的服务器产品提供一些建议。
Web应用服务器
Web应用服务器(或简称为应用服务器)是分布式
中间件软件实施产品,其作用相当于一个接口,连接一端的各种类型的客户机,以及另一端的各类后台系统资源。
如今,越来越多的大中型企业IT架构开始逐步向全球范围的电子商务和基于Web的事务处理迁移,其中一个大动作就是要将其旧有信息系统改造成三层或多层分布式应用体系结构。在该结构中,Web应用服务器是关键的中间件组件。
定义
那么,到底什么是应用服务器?市场研究调查公司Forrester Research曾给应用服务器下过如下定义:
“应用服务器是具有一整套集成分布式计算能力的软件服务器产品。它管理客户请求,为业务逻辑提供宿主环境,连接数据、事务处理、目录等后端计算资源。”
优势
应用服务器的引入为企业带来了以下诸多好处:
● 功能强大的统一平台,在此基础上可以构建和部署各类应用程序。
● 支持各种组件模型,有利于紧凑的模块化系统设计、代码可重用度高。
● 平台/OS独立(主要适用于基于
Java的应用服务器)
● 可实现各种已有的企业信息系统——如ERP、
数据库和文件系统等——与分布式应用中间件的连接
● 聚类大量硬件设备,并将其视作单一资源池。当其中某一硬件发生故障时,可立即由集群中其他设备接替承担附加负载,以确保服务供应的连续性。这种可靠的后端运行时环境对所有基于Web的应用来说都是非常重要的。
● 监测敏感数据库事务处理服务,增强对现有数据库系统的控制、提高安全性能。
● 通过缓冲池、资源分配和负载平衡技术提供系统顺应能力和提高应用系统性能。
● 高效的远程管理能力。
● 实现资源的“即插即拔”,提高整个企业系统结构的灵活度和开放度。
● 为访问各类EIS资源提供统一途径。
演进
从历史角度来看,Web应用服务器是从各种中间件产品和技术中脱化而来的。
在Web技术出现的早期,HTTP服务器主要用于向客户机提供静态HTML主页。随着Internet逐步走向成熟,CGI/Perl
脚本语言和Coldfusion等技术又为Web服务器提供了业务逻辑和数据库访问能力。之后,这些技术的局限性、基于Web事务处理的高要求、以及全球电子商务稳定增长等几个因素,进一步刺激了一些传统中间件供应商充当急先锋,开始提供基于Web的
解决方案。
他们结合自身在事务监测、CORBA对象请求代理和低级数据库处理等领域的优势,发展出一种被称为“Web应用服务器”的服务器端基础设施解决方案。在这段时间前后,Sun公司发布了J2EE标准,给业界带来一个正处于不断演进之中的标准中间件体系结构与环境的光明前景,由此诞生了J2EE Web应用服务器。
J2EE Web应用服务器
J2EE应用服务器指符合由Sun公司倡导的J2EE规范标准和技术的Web应用服务器产品,它为应用组件提供标准化开发模型和运行时环境。
在J2EE应用服务器之上开发的代码,最大的特点是具有非常强的可移植性。例如,在BEA公司Weblogic服务器上开发的servlet可以部署到IBM公司的Websphere服务器上,而不需要经过任何代码级修改。
为了确保在不同供应商服务器产品上开发的应用组件之间的
兼容性,Sun公司发布了J2EE许可证计划和J2EE兼容性
测试包(CTS)。获得J2EE技术许可并通过CTS测试的供应商可以称其产品为“通过鉴定的J2EE”。
选择应用服务器
受到有数十亿美元增长潜力的巨大市场的吸引,一时间几乎所有的主要IT公司都竞相跳上了应用服务器这辆“花车”。这些公司包括ATG、BEA、
Borland、Broad Vision、Brokat、Compaq、CA、Fujitsu、Hewlett-Packard、Hitachi、IBM、Macromedia、NEC、Nokia、
Oracle、SAP、Silver Stream、Sybase、TIBCO、WebGain…所有这些公司均获得了J2EE技术许可,而且其中不少业已向市场推出他们自己的“通过鉴定的”J2EE应用服务器产品。
这些公司加上其他正准备加入许可证计划的其他应用服务器供应商,我们可以看到,应用服务器这个市场已经非常拥挤不堪了,其中每个产品都在努力开拓着属于自己的一小片生存空间。
根据各种市场调查报告,目前,BEA公司的Weblogic服务器和IBM的Websphere在J2EE应用服务器市场中占据绝对主导地位,紧随其后的主要选手是Oracle公司。富有讽刺意味的是,Sun公司自己的J2EE应用服务器产品(iPlanet,现已更名为Sun ONE应用服务器)至今尚未在应用服务器竞技舞台上产生重大影响。
一个至今尚未通过鉴定,但却非常值得一提的应用服务器由Jboss(http://www.jboss.org)公司出品。这是一个开放源码应用服务器产品,在企业环境中正扮演着相当重要的角色。
如何挑选应用服务器
为一个给定的企业环境挑选合适的应用服务器并不是一件轻松的任务。各家供应商在竞相推出各自的开发和运行时特色服务的同时,都在努力说服企业选购他们的产品,以此争夺市场分额。
在本文接下去的部分中,我们将逐一分析应用服务器对高度集成化、基于Web的企业IT架构有着重要意义的所有基本特征。当然,对一个给定企业而言,服务器的某部分特征与企业计算环境的相关性及其重要性更应该成为选购决策者的最终依据。
应用服务器的基本特征
·可伸缩性
可伸缩性指应用服务器应付动态站点流量,并为不断增长的客户请求提供服务的能力。Web流量的不确定性是服务器管理程序的潜在问题,如果处理不当,很容易打破服务器处理能力底线,导致系统崩溃。
·负载平衡
负载平衡指向同一集群中不同服务器均衡分配客户请求的能力。简单的具有负载平衡能力的硬件解决方案早见于智能化程度不高的请求路由安排中。但应用服务器与路由安排不同,它的负载平衡能力要高级得多,其均衡分配的是应用组件而非客户请求。
·容错
容错指当出现组件故障、
网络故障或服务器崩溃时,维持或重新启动系统,使之能继续正常运转的能力。通常,多台服务器被配置成一个具有协同工作能力的集群,当集群中一台服务器发生故障,其他服务器可以立即接替承担附加负载。
·事务处理监测
应用服务器应具备高效执行跨服务器及跨网络事务处理的能力。两段提交模式对特定的企业事务处理至关重要。
监测软件设计的好坏以及能否确保事务处理的成功完成应该作为衡量应用服务器性能的一个重要指标。
·资源的可用性
应用服务器的资源——诸如内存、计算能力、组件、数据库和其他后端系统——应该在任何时候都能为客户请求提供服务。确保客户请求不会因为服务器计算能力不够或缺少所需服务组件从而导致请求超时失败是应用服务器的职责所在。
·性能
通常性能被理解成应用服务器在最短时间内响应客户请求的能力。为了成功做到这一点,服务器必须具备在客户机与后端资源之间高效处理事务的能力。
一些应用服务器供应商和独立市场调查公司各自提出过不少标准(如ECPerf)来衡量应用服务器的性能。一个典型的衡量标准实例如:计量在给定配置下“每秒处理的客户请求数”。
·平台/OS支持
基于Java和J2EE的服务器很自然地要比其他种类的服务器支持更多的操作系统以及其他开发平台。它不仅支持在企业服务器环境下占主导地位的
UNIX或
Linux操作系统,而且支持基于
Windows操作系统的主流开发平台。
这里需要指出的一点是微软的.Net架构(Java/j2EE的直接对手)仅适用于Windows平台。
·工具和IDE支持
市场上许多应用服务器在销售时,捆绑了各类开发工具和集成开发环境(IDE),以期更利于应用的开发和部署。开发工具的
质量以及与特定服务器的集成度,都是选购应用服务器时需要考虑的因素。
这类例子有:IBM在Websphere服务器内捆绑了VisualAge套装开发工具;而BEA的Weblogic则捆绑了该公司的首选IDE——WebGain Studio。
·开发和运行时许可证
一些应用服务器提供免费的开发许可,仅对产品运行时许可收费。这对一些想直接从J2EE应用服务器开始做开发的新手来说,格外具有吸引力。因为当一个项目规模较大时,可能会需要多个开发小组参与。在这种情况下,如果征收开发许可费,那将是一笔相当可观的支出,大大加重了开发成本。
·Web服务器支持
应用服务器通常支持高品质HTTP Web服务器。对市场上主流HTTP Web服务器的顺应度以及与之兼容度也是选购应用服务器的一个需要着重考虑的因素。
·安全管理
当用户试图了解某一特定应用服务器的安全特性时,不妨深入考察一下以下几个问题:客户机与服务器之间以及跨层之间的事务处理究竟有多少安全性?服务器是否有什么特性专用于安全支持?服务器采用什么安全标准?服务器是否与哪个安全体系捆绑在一起?
·后端系统集成
应用服务器需要连接各种不同的后端资源:大型机事务处理、关系数据库、ERP、CRM和早期投资的遗留系统等。如果应用服务器能提供对特定后端环境的内置支持,将会节省大量系统集成的开销和工作量。
·管理能力
应用服务器还需要具备很多用于应付日常管理活动的人性化工具,如:资源监测、应用程序运行状态监控、组件部署及更新等等。
虽然不同供应商产品性能不尽相同,但几乎所有这些工具都提供基本操作的可视界面。其中绝大部分还具有远程管理能力,方便系统管理员工作,使其免受必须端坐服务器房之累。
·站点监测/分析、报告
一些应用服务器产品定期地,如每周/每月对采样数以及资源利用情况等作出报告。这一特征对于有统计
需求及有提交站点性能报告需求的企业非常有用。
·价格因素
限于预算及财力等因素,价格也常常是企业选购合适应用服务器的一大制约。如果一家企业项目尚处于实验阶段,或仅为客户提供概念验证,那么开放源码服务器应该是个不错的选择。
结束语
应用服务器是由不同供应商提供的中间件软件解决方案。J2EE平台业已实现标准化以及多个竞争产品之间的兼容性。目前,有很多家公司都在提供通过鉴定的J2EE应用服务器产品。
在为企业选购合适服务器产品时,需要考虑到多种服务器特性,如:伸缩性、负载平衡、安全性以及管理能力等。除了服务器性能的质量因素外,服务器的某些特征与给定企业计算环境的相关性及其重要性更应该成为选购时的主要决策因素。
原文转自:http://www.ltesting.net