DoSERV分析12月5日国际报道:用户可以认为网络开发平台分为两个世界 – 企业版网络开发平台和其他。在企业版阵营中是一些类似微软的ASP.NET和Java这样的技术,而"其他"包括PHP、Perl以及目前越来越受欢迎的Ruby。
当然,实际上"其他"技术可以并且正在用于企业版网络开发。但其区别归因于这些网络应用程序环境的不同设计理念。企业版技术从明确强调业务逻辑与构成要素的企业领域发展而来,而"其他"技术在"自然环境下",经过那些热衷技术的有特殊任务需求的程序员的大力推动而不断发展。
IBM的WebSphere平台稳固占据企业版领域。WebSphere Application Server (WAS)是一种核心的旗舰品牌产品,IBM将该品牌发展到联合在WebSphere旗下的多种中间件技术。
伺服程序的诞生
起初,也就是上世纪90年代早期网络时代开创时,网络服务器的工作仅仅是检索静态文本并传送给浏览器。服务器要实现快速编写资料、传送动态结果给用户,需要新的技术。起初,网络程序员用已有的语言编写动态代码,例如Perl或甚至C语言,并开发了过渡性技术例如CGI,将它们安装在网络服务器上。
1997年,Sun公司发布了用于Java伺服程序的第一种规范,这是一种特有的服务器端编程语言。除了强大的处理功能,伺服程序还增强了基于网络的应用程序的功能,网络应用程序通过使用cookie文件和会话变量,能够跨越多个交互页面对信息进行追踪。在这种情况下,伺服程序推动网络从文本传送系统演变成为应用程序环境。
IBM的WebSphere平台是在网络服务器上首次实现对Java伺服程序进行支持的技术,于1998年推出,命名为"Servlet Express"。
随着Java语言在Sun公司的支持下不断发展,它变得越来越复杂,特别是关于模块化架构基础,例如框架与分类。JavaBeans规范还允许Java程序员将对象打包到一个类别中,以提高可移植性。
这种基于组成要素的架构对于企业版程序员特别具有吸引力,因为他们注重编程架构跨越各种环境的重用能力,并在数量众多的服务器上,还可能在不同平台上实施这些编程架构。
受到IBM已确立的企业地位的影响,WAS及其对不断发展的Java语言的支持能力,成为众多基于Java的网络应用程序服务平台中事实上的领先者。
发展进程
2000年WAS 3.5发布之前,IBM主要在多个方向扩展其应用程序。
为扩大企业实施应用程序的规模,IBM对当时最新的企业版Java平台或者J2EE 1.0,包括分布式和高可用性模块,进行支持。IBM还将WebSphere扩展到各种平台上,包括Linux、OS/400和z/OS。这让WebSphere对于在老化的基础设施上已投入巨额资金的企业更有吸引力。
此时,IBM开始将WebSphere Application Server分为多个版本,功能与定价各自不同。这些划分在WAS 4.0上体现得更为明显,它有3种不同的高级版本:完全版、不支持集群功能的单服务器版,以及单服务器开发版。
除了服务平台本身之外,IBM还开发了支持WebSphere应用程序开发的编程工具。在最早的版本中,WebSphere Studio只支持HTML开发,但后来让位于WebSphere Studio Application Developer(WSAD),这是一种有Java支持功能的开发与测试的集成环境。
Misgivings一些疑虑
尽管WebSphere在企业的用途越来越广泛,程序员对WebSphere也有不满意的方面,特别是对第5版之前的版本。
对WebSphere的共同不满是,指责其对资源的需求过大、需要运行在高端服务器上,相比之下,替代性的J2EE应用程序服务平台更具竞争力。其他方面的指责是,IBM的服务平台管理功能很弱,以及不可靠的Java规范扩展功能。
在反对者中,WebSphere最普遍的替代产品是开源产品Tomcat和JBoss。和WebSphere的最早版本一样,Tomcat是一种Java伺服程序引擎,并且不支持企业版JavaBeans (EJB),这是由一些程序员开发的,是一种更好的、更简化的Java服务平台解决方案。
然而,JBoss和WebSphere更有可比性。它是建立在Tomcat基础上的J2EE服务平台。此外,用户欣赏JBoss是由于其开源特性和免费,以及较低的资源需求。
但对于WebSphere的拥护者来说,这些开源解决方案缺少一些IBM为WebSphere特别开发的增强型管理与开发工具,以及紧密集成在WebSphere中的数量众多的中间件模块。
WebSphere逐渐成熟
为了解决程序员对早期WAS的指责,IBM追溯到第5版的规划阶段,对其基本代码进行重新编写。在此过程中,IBM统一了所有的WebSphere平台的代码,大大地减少了多种WAS实施方案之间的架构性差异。
除了支持J2EE 1.3规范,IBM还重新定义了第5版的多个WebSphere版本。
Express版本针对需要核心J2EE功能但无需大规模实施功能的中小企业。相反,网络实施版让WebSphere可以运行在集群服务器上,具有代理、负载平衡以及路由选择功能。
当第6版在2004年晚些时候被推出时,IBM承认来自开源替代性产品的竞争,并发行了新的社团版。和WAS以往版本的专有基本代码不同,此社团版是IBM的封装版Apache Geronimo。
类似于WebSphere 6,Geronimo支持JEE 5.0,这是J2EE 1.4的继任者。(在过渡时期,Sun公司省略了企业版Java名称中的"2"。)和WAS的专有版本不同,社团版是开放源代码的,终端用户可以进行修改。
虽然免费社团版WAS的用户可以直接从Apache获得其构成部分,但IBM向社团版用户出售WebSphere支持。
JEE的前景
目前,WebSphere与其核心技术 — 企业版Java紧密集成在一起。但有些用户大声质疑,Java在网络服务器上是否还有美好的前景。
许多网络程序员避免使用Java,特别是那些没有企业工作经历的程序员。因为伺服程序逐渐发展,其他服务器端架构大量涌现并且发展成熟,包括PHP和Ruby也越来越受欢迎。这些平台比Java更易于理解、更容易得到,并且降低了复杂程度。
经验丰富的Java程序员有时会嘲笑这些简化的替代产品,缺少Java的企业等级证书。但是精密伴随着复杂性。Java的批评者说,对于许多采用Java的应用程序来说,Java的设计有些过度,耗费了额外的资源与开发时间。
一位Java程序员提出疑问,举例说,Facebook是一家广受关注的有应用软件快速发展功能的互联网网站,为什么它不选择将网站建立在Java 平台上。
有些用户认为Java EE 5.0规范甚至比Java更为复杂,而它承诺过要降低复杂度,这种情况促使一位分析师将Java EE 5.0的发布称为"预示结局的先兆"。
实际上,Java服务平台不会消失。对于建立在Java开发平台上的业务,担心的情况是实施方案的数量会减少并消失,会被排斥,只能依靠最重大的网络应用程序。同时,简化的新技术会占领巨大的中端领域。
但WebSphere的前景是否注定要追随Java的方向?随着社团版的推出,IBM已经表示愿意提高WebSphere构想的灵活度,让它可以接纳除了自己的专有版本以外的开源产品。这种灵活度是否会扩展到其Java核心之外,还要拭目以待。
IBM已经将WebSphere品牌扩展到了集成在WAS上的整个产品范畴。这些产品包括网络服务程序、消息传递软件以及商业应用软件。WAS核心产品的这些增强型功能也许能够扭转Java的命运。