技术开发 频道

Java EE 6体系结构的变革

         对于 Java EE 主要抨击之一就是它太庞大了。确实啊,大多数中小型的 Java web 应用程序根本用不了所有 Java EE 技术 (full Java EE stack) 。你可以想像一下,如果要构建一个类似于 SOA 的应用程序,会用到消息,事务,持久化以及 Web Services ,但犯不着需要使用像 JSP 或 JSF 这类的展示层技术。

  Profile 就是为解决这个问题而设计的。 Profiles 其实就是一个 Java EE API 的子集,对于特定的应用程序有着各自的解决方案。比如说,被提议到的 Java EE Web Profile 仅仅只包含了一些最有可能大绝大多数 Java web 应用程序中使用的 API 。像 Profiles 这样的理念已经在标准化的世界上取得的成功也是由来已久。也许你早就知道, Java ME 其实就支持 Profiles ——支持每种特定的设备运行环境。类似的, Profiles 可用来更好的组织日益复杂的 web services 世界 ( 比如说 WS-I Basic Security Profile 等等 ) 。

  虽然 Java EE 6 通过 JSR 来定义了一些规则用于创建新的 Profiles ,但这一次仅仅只有一个 Profile 当选—— Web Profile 。表 2 列出了 Web Profile 与 Java EE 完整平台的比较情况:

API
Web Profile
Full Profile
Servlet 3.0

JSP 2.2
JSTL 1.2
EL 1.2
JSF 2.0
支持
WebBeans 1.0 (?)
支持
支持
EJB 3.1 (Lite)
支持
支持
EJB 3.1 (Full)
 
支持
JPA 2.0
支持
支持
JTA 1.1
支持
支持
JMS 1.1
 
支持
JavaMail 1.4
 
支持
JAX-WS 2.2
 
支持
JAX-RS 1.1
 
支持
JAXB 2.2
 
支持
JACC 1.0
 
支持
JCA 1.6
 
支持

表 2 : Java EE 6 的 Web Profile

  WebBeans 为什么也能入围的原因曾经也是一个大大的问号,至今大家对是否应该在 Java EE 6 中加入 WebBeans 仍然各执一词。围绕 WebBeans 的争论焦点是:它怎么适合加入 Java EE 体系?还有是不是 JSR 所研究的技术就一定是对的呢?对于你是否也是这么想的呢?也许你并不了解 WebBeans ,下面我会对此话题进行延伸。是否 WebBeans 应该纳入到 Java EE 6 中呢?如果不这么做,那 JSR 应该做出什么样的改变?同时还应留心一下 EJB Lite ,它是虽不是完整版的 EJB ,但此次也被加入到 Web Profile 中了。下面我也会简要的再提到 EJB Lite 。

  对于 Java EE 的 Profiles 思想,你又有何看法?符合 Profile 的轻量级的应用程序服务器是否对你有用?关于 Web Profile 所涉及到的技术你又怎么看?是内容太少了,太多了,还是刚刚好?光有它就足够了,还是需要在 Java EE 6 中定义其它 Profile ?还是咱们应当考虑一下更简化的“ Java EE Basic Profile ”?

0
相关文章