2006年5月,Java EE 5规范正式发布。Java EE 5的出现,可能是J2EE诞生以来比较重量级的一次震撼
,
规范发布至今已有半年之多,业界对Java EE 5的关注也变得越来越热烈,google一下“java
ee”关键字,可以得到500多万条相关纪录,而从Sun网站上进行检索(http://java.sun.com/javaee/overview
/compatibility.jsp),也可以看到专业厂商已经迅速跟进,除Sun公司本身外,包括全球闻名的SAP、金蝶Apusic等另三家,已经
推出全面支持Java EE 5规范的应用服务器产品。
?
Java EE 5包含JSF 1.2、EJB 3.0及JAX-WS
2.0等新功能,试图解决Java企业级应用开发的简便性、灵活性及易用性问题。在Java EE 5出现之前,很多开源框架(Open Source
Framework)如雨后春笋般涌现,尝试从某种角度或某些方面去解决“委员会”规范所未能顾及的应用开发问题,如Web开发中的关注分离问题
(MVC)、业务模型实现问题(ORM)等等。很多开源framework都非常出名,为人们喜爱并广泛使用,如Struts、Spring、
Hibernate等,这些“江湖派”作品曾经一定程度上成为Java企业级应用开发事实上的标准。Java EE
5的出现,是否会改变这种状况?或者说,人们在重新选择应用框架时,是否会优先考虑全新的Java EE
5技术?带着这种疑问,笔者试图进行简单的技术比较,并辅于肤浅的评论,希望能够抛砖引玉、借花献佛,以娱大众。
POJO是无格式Java对象(Plain Old Java
Object)。POJO与AOP结合被广泛用于快速业务模型。Struts设计的初衷主要是解决视图和控制问题,并无过多关注模型的灵活性问题。
Struts中的ActionForm模型必须继承自框架类,虽然可以通过定制类库提供一些帮助类实现模型与框架无关,但本质上还是紧耦合于JSP- and HTTP-centric方法
。JSF提供了对POJO天然的良好支持,并支持通过RAD工具实现快速的业务模型生成,从而具有更高的生产力。