第五章、总结
一、J2EE标准
IBM是J2EE发展进程中最大的商业投资者(其中包括SUN 和 BEA),事实证明,JAVA 技术的发展和延伸中 80% 以上的内容都浸透着IBM 的投入,我们可以从
http://www.ibm.com/java 中看到这方面的具体描述。
WebSphere 提供了业界最可观的产品级别的 J2EE 环境。
1、WebSphere V3.5 及其以前的版本都完全支持 RMI/IIOP;BEA的WebLogic 只是部分支持 RMI/IIOP,只有当JDK 1.3正式发布,且 WebLogic 可以支持以后,WebLogic 的 RMI/IIOP 才可被应用。BEA 要求客户使用 T3 协议, 因为他的 RMI/IIOP 将会比在 WebSphere 中慢4倍以上,BEA 对RMI/IIOP 的支持是非产品级别的。
2、J2EE 在进行分布式交易时需要符合 JTA/JTS 标准,但WebLogic对于 JTA/JTS 的支持却是有限的,它的交易只能针对一个数据库。也就是说,WebLogic 不能支持在一个交易中对分布式数据库的交易控制。这在 WebLogic 5.1 对 JTA/JTS 描述的文档中也有这样的描述:“Note that in all cases, transactions must be restricted to a single persistent store. You can't , for instance, mix JDBC persistence from two different sources in the same transanction”;而WebSphere 使用 JTA/JTS ,可以在一个交易中同时提交多个数据库,甚至连iPlanet (SUN 公司Web 应用服务器)也是购买IBM 交易服务控制模块来实现他们的应用服务器上的交易控制。
3、J2EE的下一个版本将会需要JAVA 提供连接后台传统数据的能力。现在,SUN 已经接受IBM提供的后台连接框架(IBM's Common Connector Framework -- CCF),并将其制定为JAVA下一个版本的后台传统数据的连接标准。IBM对其已经提供了从开发工具(VAJ)到运行平台(WAS)的全面支持,而BEA到目前为止还没有任何支持迹象。
4、WebSphere 是通过 IBM MQSeries 来完全支持JMS 1.01 标准。据IDC的报告, MQSeries 占消息中间件市场分额56%以上,Aberdeen Group 调查认为,MQSeries 占市场分额的72%以上;BEA 的 WebLogic 只是对 JMS 提供有限的支持,而且目前不支持生产应用。BEA 曾经拥有 MessageQ ,目前的市场分额只有1.5%,而且不支持 JMS。现在 BEA 已经放弃了这个四年前从DEC 购买的产品。
二、产品安装
凭心而论,WebLogic V5.1*较WebSphere V3.0*“安装”简单,但实际上,WebLogic只是在Unix上解压缩,不涉及操作系统,因此并不存在真正意义上的安装,所以,当用户需要升级和打补丁时,全部需要手工操作,无法使用系统系统提供的支持;WebSphere V3.5*安装界面简洁,整个安装程序流畅,快速自动安装,只需最少的用户干预。用户可根据实际情况,选择适合自身的安装方式:Quick install、Full install和Custom install。
三、配套集成工具
在配套开发工具中,IBM公司提供的解决方案最为全面,IBM WebSphere Studio和IBM Visualage Java 这两个软件包覆盖了WEB应用服务器开发的几乎全部工作。
WebSphere Studio提供了项目工作台和有关向导。项目工作台用来把各种生成的组件集成进一个项目,而各种向导可用来存取数据库、创建JavaBean和servlet等等。在Studio3.5版本还提供对个性化网站(IBM WebSphere Personalization Server)的支持,通过三个内置向导可以很方便的建立一个基于Rule的个性化网站,WebSphere Studio不愧是一个创建、维护和管理整个网站结构的好工具。
VisualAge for Java (以下简称VAJ)是一个全功能的Java开发环境,包含一个智能化集成开发环境,内含丰富的Java类库、高性能Java编译器和虚拟机,集成了包括向导和调试器在内的多种工具,支持JavaBeans的开发,通过先进的版本控制技术和贮存(Repository)机制支持团队开发(team development)。
VAJ最引人瞩目的功能就是与WebSphere Application Server的集成开发能力。从3.0版开始。VAJ就内置了WebSphere 测试环境、JSP/Servlet 开发环境、EJB 开发环境、存贮过程构建器、SQLJ工具、Domino企业存取构建器和XML工具包等。开发人员只需在开发机上安装VAJ就可以编写、调试WEB应用服务器的全部功能模块,从JSP、Servlet到EJB,十分好用。
相比之下,BEA公司就没有如此完备的集成开发环境。BEA控股的WebGain公司的Visual Cafe 和 Studio 提供了一部分集成开发能力,但是功能并不完全。例如,在Visual Cafe中开发EJB的应用时,开发机上必须也要安装和运行WebLogic Server,这是由于Visual Cafe没有提供集成的WebLogic EJB 运行环境,这一点给EJB的调试工作带来了很大的困难,可能开发人员对于EJB源代码的任何修改工作,都需要重新启动WebLogic Server来测试。详情参见下表。
公司EJB调试流程
VisualAge Java(IBM)1.启动WebSphere 测试环境2.编写EJB程序3.利用VAJ提供的EJB测试客户端测试EJB的功能。4.如果要修改EJB,则直接跳到25.封装EJB,用于发布。
Visual Cafe (WebGain)1.启动WebLogic Server2.编写EJB程序3.手工编写EJB测试客户端测试EJB的功能4.修改EJB5.关掉WebLogic Server6.重新启动WebLogic Server7.重新编写EJB测试客户端测试EJB的新功能6.如果要修改EJB,则直接跳到58.封装EJB,用于发布
所以,BEA公司也建议客户使用VAJ做Web应用开发。但是,BEA提供的VAJ开发模块只能安装在VAJ2.0中,无法充分发挥VAJ高版本的优势。
四、性能和扩展性
下面是在不同的平台上的测试结果