【IT168 专稿】
开源软件在中国势不可挡,特别是在开发者的圈子里,开源Java应用服务器的流行便是其中最好的一个例子。开发者普遍乐于在开发环境中使用轻量级的开源应用服务器,例如Tomcat来进行应用的开发,虽然这些应用上线后是运行在像WebSphere或WebLogic这样的商业服务器上。同时,越来越多的决策者也开始把对安全性和可靠性要求不高的部分企业应用运行在开源服务器上。而互联网公司对于开源软件的青睐更是不在话下,相信他们绝大部分的Web应用都是跑在开源的平台上面。
那么,如果要使用一款开源的Java应用服务器,除了人尽皆知的Web容器元老——Tomcat和作为第一款符合Jave企业版规范而颇具人气的JBoss外,我们是否还有其他的选择?当然!答案之一便是WebSphere社区版(WebSphere Application Server Community Edition),简称WAS CE。没听说过?这是IBM推出的一个基于开源Java企业版服务器Apache Geronimo的免费版本。WAS CE自身并不是开源软件,但它却有着跟开源非常类似的特质:
· 免费。是真的免费,即使是用于商业目的的生产环境。
· 源代码公开。WAS CE的绝大部分代码都是来自Apache Geronimo,而后者是以Apache许可证发布的,源代码触手可及。
· 捆绑发布。IBM非常欢迎各种形式的合作,包括OEM(你可以联系我^_^)。
为什么要使用WAS CE?我给你三个理由。
第一,WAS CE好比Tomcat++。WAS CE采开源之精华来完成Java企业版的完整实现,其采用的Web容器正是Tomcat。同时,它还整合了Axis2、OpenEJB、OpenJPA、ActiveMQ等耳熟能详的开源杰作,Java企业版框架内的功能一应俱全。而WAS CE的微内核构架不仅将这些组件无缝集成,更是提供了极其灵活的系统伸缩性。通过一些简单的操作,你就可以将WAS CE定制生成一个量身定做的运行包,去掉暂时不需要的功能,例如EJB、Web Service等。日后,当你的应用不断演进而需要这些功能时,你还可以再逐一包含进来。现成的整合,灵活的定制,不愧为Tomcat++吧?
你还担心什么?——性能?诚然,在个别方面例如启动时间,Tomcat凭借小巧玲珑的身段确实有些优势,但是在大部分的场景里,WAS CE并不逊色多少,在有些方面甚至更加出彩,例如数据库访问。
第二,WAS CE一点也不比JBoss差,在几个重要的方面还更胜一筹。其实二者在很多方面旗鼓相当,但由于JBoss是第一款全面实现Java企业版的开源服务器,占尽了先入为主的便宜。WAS CE有哪些优势?挑重要的讲。首先,WAS CE对Java企业版5(Java EE 5)的实现更加成熟稳定。我只说一个事实:WAS CE早在2007年9月就实现了该规范,而JBoss是在2008年12月才实现该规范,而其相应的有技术支持服务的商业版至今仍未发行。
其次,WAS CE的管理面板提供大量丰富的管理功能和工具,大大方便了开发者和管理员,特别是初学者。JBoss直到最近的5.1测试版里才开始提供一个免费的、功能初级的管理面板,其原来的、基于JMX的管理界面对于大多数用户来说确实比较难用,而好用的Operations Network是要银子的。
最后,性能,这是一个很困难的话题。但是,我们自己所做的一些性能比较测试确实显示在同样使用缺省配置的情况下WAS CE几乎在所有方面都更快,包括启动时间、Servlet、EJB、数据库访问等。性能是一个很微妙的东西,所以建议你可以用自己的应用做一下比较。
第三,WAS CE有IBM做坚强后盾。IBM积极参与到Apache Geronimo及相关的社区开发中,为核心技术的开发提供了有力保障。同时,IBM为WAS CE所做的产品化工作更是其质量的保证,包括多平台的测试和支持、多语言的文档等。更重要的是,IBM为WAS CE提供三个级别的付费支持服务。我知道广大的中国用户还不习惯为使用开源软件付费,但在严肃的应用场景(大规模部署、关键应用等)中,购买支持服务可以有效规避法律和质量风险,这对于自身技术能力有限的用户尤为重要。
举个简单的例子,如果你正在使用的某个开源软件版本隐含着一个缺陷,使得你的应用出现严重的问题,这时候即使你得到该软件开发社区的帮助并获得一个补丁,但是该补丁通常是针对最新的源代码版本开发,这意味着你要么自己将该补丁经过一定修改后应用到所使用版本的源代码中,然后重新编译生成可执行代码;要么使用最新的包含该补丁但还不稳定的开发版。而支持服务可以帮你做前一个选择所要做的那些技术活。
除了提供技术支持服务外,IBM还为WAS CE提供了免费的增值选件,例如Web 2.0特性选件。最后,WAS CE作为WebSphere大家族的一员,为你提供了一条无忧的成长之路。随着应用的演进或者企业的成长,你可能希望将应用迁移到更加高级的应用服务器上,而WAS CE已经为你铺好通向强大的WebSphere之路。如果你依然希望使用WAS CE,那么使用WebSphere Virtual Enterprise来创建WAS CE的动态集群也可以实现高伸缩性。
说了这么多,难免王婆卖瓜、自卖自夸。不过,我想WAS CE至少为大家增加了一种可靠的选择。可惜大量中国的开发人员并不知道它的存在。很多事情仁者见仁、智者见智。开源软件为软件世界提供了精彩的多样性,并有力地推动着创新,我期盼着中国能够在这波大潮里迎头赶上。