(这条文章已经被阅读了 194 次) 时间:2001-08-04 01:41:48 来源:付毅 (mytuotuo) 转载
在过去一年中,Web应用服务器和其他一些中间层产品已经取得了全方位的发展。在三层应用环境中,应用服务器扮演着控制事务逻辑层的角色,而且这一市场发展状况良好。
面向企业的Web应用服务器通常提供成熟的系统层服务,如在多个主机之间提供应用负载平衡和故障自动恢复,他们通常包括会话和事务的保存和回卷,以保证用户的在线事务处理不会丢失会话和数据。Web应用服务器同时还管理后端的数据库连接,通过使用数据库连接的缓存等来提高运行的性能。他们同时也处理前端通过一个集成的Web服务器或一个外部Web服务器连接的用户接口层。他们也许是直接通过第三方产品操纵事务处理,比如BEA系统公司的Tuxedo或 IBM公司的Encina/CICS系统。一个中间层的应用服务器能够将用户的事务逻辑进行集中化处理,提高了可管理性、灵活性和容错性。
产品成熟
目前Web应用服务器市场已经趋于成熟,新的厂商不断参与进来,之间的合并不断发生。在一件最大的合并案中,NetDynamics公司和Forte软件公司双双被Sun公司兼并,然后Sun公司和Netscape公司合作推出了新的iPlanet应用服务器,作为Netscape公司的应用服务器和Sun公司的NetDynamics 服务器的升级替代产品。
在产品的性能方面,也充分显示了这一市场的成熟程度,从低性能的产品到高端产品应有尽有。从前的“轻量级 ”或适用于中小企业领域的产品,如Pervasive软件公司的Tango和Allaire公司的ColdFusio n产品,由于增强了有关方面的性能,因而使用对象已经向中等规模企业转移。但是他面临的竞争也相当激烈,其中包括苹果计算机公司的WebObjects和Bluestone软件公司的Sapphire/Web。这些产品与其他产品的不同之处是,在如负载均衡、故障恢复和数据库连接性能方面,已经变得非常普遍。产品之间的区别主要集中在深度、灵活性以及对这些特性的控制和管理方面,而不是简单的有没有这些功能。
另一个关键的区别在于对于Java的支持方面。事实上所有的Web应用服务器都在一定程度上支持Java 标准,其中有一些产品做得特别好,如BEA公司的WebLogic,它最初就是为Java所设计的。在这方面,对于E JB(企业JavaBeans)和J2EE(Java2企业版本)规范的全部构件的完全而通用的支持是非常重要的。
特性增强
用户希望Web应用服务器提供哪些功能呢?它又应该支持哪些现在和未来的技术呢?下面是几个绝对不能缺少的关键特性。
首先,需要XML语言的支持,用来进行XML数据的解释和输出。在电子商务应用环境中,XML语言的使用可望有着新的推进。假如问厂商在对于XML语言的支持方面的发展策略时,包括Bluestone公司和BEA公司,都会努力使XML语言的使用成为他们的Web应用服务器的核心特性。
其次,要检查关键的系统层服务的功能性的深度,如故障恢复和负载平衡。一定要仔细考虑负载均衡控制如何工作以及采用的是何种算法。采用的是简单的“循环法”还是“下一个可用”系统?根据特定的主机负载、相关的处理能力和其他因素,是否还有更为灵活的平衡选择?假如一台主机在事务处理过程中发生故障,故障恢复程序是否能够维护用户的交易数据,还是用户将丢失刚才输入或访问的数据?对于电子商务应用来说,容错是最基本的一条。
假如应用服务器应该带有IDE(Integrated Development Environment ),则一定要很好地集成在整个软件包中。用户也许会非常在意这是否是一个真正的IDE或者是否厂商只是简单地将一个第三方开发工具简单地糅合在一起。用户可以向厂商提出以下问题:这个IDE是否支持完整的源码控制?调试和源码开发特性是如何完成的?是否进行了跨构件的调试?其中包括或集成了何种RAD(Rapid Application Deve lopment)工具以帮助开发者对最终编码进行高级设计?用户也许希望Web应用服务器包含一个集成的Web站点开发工具,但也许这一集成只是简单地包含了一个第三方工具。只有把握应用系统的全面特性,用户才能够充分发挥系统的功能。
最后,确认Web应用服务器对分布式构件模型有着相应的支持,如EJB、CORBA或者DCOM/COM +。对于EJB的支持几乎是普遍的,但假如是用户微软公司的忠实拥护者,也许会选择DCOM/COM+。假如已经有了一个使用CORBA的基本系统,请确认能够和他们轻松地进行互操作。
管理自如
管理能力永远是最基本的,尽管这一特性最难以进行定量的评估。用户应该清楚使用所熟悉的设备来配置、监测和维护一个大型、复杂的企业系统的难易程度。首先看看自动配置和站点复制工具,其中包含哪些性能监测工具以及应该执行怎样的安全策略和访问控制特性。
假如用户在电子商务系统中使用了Web应用服务器,一定要先测试用于后台连接的内置能力和同ERP以及其他一些在线商业系统集成在一起的能力。为了继续沿用遗留下来的系统,用户在使用过程中所做的客户化工作越多,需要花费在译码和维护上的成本就越高。
此外,测量跨平台支持的可用性也是非常重要的。随着用户商业系统和IT系统的发展,用户也许想要将应用和部分的体系结构迁移到替换系统中。假如用户的Web应用服务器能够基于多种Web服务器,那就能够从配置的灵活性中获得相当的好处。
客观看待
几乎所有Web应用服务器都能够支持一种或多种标准模型用来访问分布式对象。随着在跨平台和操作系统之间混合和匹配“构件化”的代码日益可行,这一性能对许多IT执行策略将变得至关重要。下面三个主流的标准模型可以作为参考:
CORBA(Common Object Request Broker Architecture): CORBA是最老的、最成熟和最为广泛应用的分布式对象技术。个别厂商的实现是基于由Object Manageme nt Group这一行业协会所提交的规范说明。最新的规范是3.0版本的,但究竟规范的哪一部分会得到厂商的积极支持,这一点还是值得怀疑。
COM/DCOM/COM+(Component Object Model):微软公司的构件模型在W indows 95/98和NT操作系统中广泛采用。从1996年引进开始,在Windows 2000产品线上DC OM已经是COM+的别称。在微软公司的其他产品中,如Microsoft Transaction Server( MTS)中已经和操作系统中的COM+结合在一起,而Microsoft Message Queue(为MSMQ)则已经成为了相当易于实现、主要用于Windows系统的构件模型。
EJB(Enterprise JavaBeans):EJB最新的1.1版本的规范说明结合了许多人们热切盼望的特性,如对实体Beans继续实行容器式管理。而和其他Java技术相比较,其中包括JNDI(Java Naming & Directory Interface)、JTS/JTA(Java TransactionS ervice/Transaction API)、JMS(Java Messaging Service)、Jav a IDL(InterfaceDefinition Language)和JDBC(Java Database Connectivity)。从理论上来讲,EJB1.1为配置整个企业范围内的分布式跨平台的构件提供了一个健壮的基于标准的实现方法。