该作品是PDF文件格式请下载 福昕PDF阅读器
Webx是一套基于Java Servlet API的通用Web框架。它在Alibaba集团内部被广泛使用。从2010年底,向社会开放源码。
Webx的历史
• 2001年,阿里巴巴内部开始使用Java Servlet作为WEB服务器端的技术,以取代原先的Apache HTTPD server和mod_perl的组合。
• 2002年,选择Jakarta Turbine作为WEB框架,并开始在此之上进行扩展。
• 2003年,经过大约一年的扩展,框架开始成熟。我们私下称这个经过改进的Turbine框架为
Webx 1.0。
• 2004年,借着淘宝网的第一次改版,我们正式推出了Webx 2.0。由于Turbine开源项目发展
过于缓慢,我们不得不放弃它。Webx 2.0是从零开始完全重写的,仅管它仍然延续了Turbine
的使用风格。
• 2004年11月,Webx 2.0和Spring框架整合。
• 从那以后,Webx 2.0一直在进化,但没有作根本性的改动。
• 2010年,Webx 3.0发布。Webx 3.0抛弃了Webx 2.0中过时的、从Turbine中发展而来的
Service框架,直接采用Spring作为其基础,并对Spring作了重大改进。Webx 3.0完全兼容
Webx 2.0的代码,只需要修改配置文件就可完成升级。
• 2010年底,Webx 3.0开源。
为什么要用Webx而不是其它的开源框架?
现在有很多Java的Web框架可供选择,并且它们也都是免费的。例如,• Struts - http://struts.apache.org/
• Webwork - http://www.opensymphony.com/webwork/
• Tapestry - http://tapestry.apache.org/
• Spring MVC - http://www.springsource.org/
• ……
以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的
话,无论选择哪一个都不会有问题。因为这些年来,所有的开源Web框架都在互相学习、并趋
于相似。Webx也不例外,它吸收了其它框架的很多想法。因此,当你使用Webx的时候,你会
觉得在很多方面,它和其它开源的框架非常类似。
我并不是说所有的框架都一样好,而是说只要假以时日,所有的框架在发展过程中,必然会积
聚好的方面,淘汰坏的方面,从而变得足够好。从这个角度看,的确没有特别明显的理由来选择
Webx,但也没有明显的理由不选择Webx。
另一方面,由于每一种框架采用不同的设计,必然会有各自的优势。Webx也是如此 —— 它在
某些方面有一些独到的设计,超越了同类框架。Webx有哪些优势呢?
开放和扩展性
• 对Spring的直接支持 —— Spring是当今主流的轻量级框架。Webx 3.0和Spring MVC一样,完全建立在Spring框架之上,故可运用Spring的所有特性。
• 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级
成“组件”。一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx
的非常好的扩展性,且比未经扩展的Spring更易使用。
• 开放性 —— Webx被设计成多个层次,层次间的分界线很清晰。每个层次都足够开放和易于
扩展。你可以使用全部的Webx,也可以仅仅使用到Webx的任何一个层次。