Sun再次发布Java开发平台企业版第6版(Java EE 6)规范,规范包括了协议子集和可扩展性方面的新增功能,为开发人员提供了更大的灵活性。

  Sun的一个微型系统开发小组最初在4月初就向JCP提出了Java EE 6规范的设想,并于10天后提交了规范,即Java规范要求(JSR)313。

  新版本Java EE 6于7月3日发布,名为JSR 316。JSR 316的目标是为更加广泛的开发人员服务。

  为Spring Framework进行维护、Interface21公司的首席执行官Rod Johnson说,“我认为这将是开发平台的最重要的修订,因为它已经发布了近10年的时间。它一定会受到科技人员的欢迎。”

  的确,依照规范的要求,经过8年时间的经验积累,Java EE开发平台已经日趋成熟,现在已经充分考虑到很大范围内企业和网络应用开发的需要。

  JSR 316规范中说,除此之外,Java EE开发平台已为在此平台上进行开发的辅助技术、框架和应用培养出一个充满活力的团体和市场。有些技术还提供了这个平台所没有的开发工具。另外还有的提供了平台开发工具的供选方案。

  JSR 316规范中还说,“发布Java EE 6的一个主题是包含和支持可作为Java EE全面发展的组成部分的技术。与此同时继续简化开发平台,更好地满足大量开发人员的需求。为此,我们为这个版本提出了两方面的要求?D?D可扩展性和协议子集。”

  规范中并没有添加网络和企业应用开发人员可能需要使用的很多技术,“我们认为应该利用这些技术将层简化或直接插入到Java EE应用服务器中。”

  JSR 316规范中这样提到。只需多增加一些可扩展的位置和服务接口,就能很容易并高效地将这些技术插入到开发平台中。对于开发人员来说,使用时就好像这些工具已经植入开发平台中一样操作简单。

  与此同时,为了涉入日益扩大的Java EE开发平台市场,JSR 316的开发人员引入了协议子集的概念。

  “为了重新确定特定开发人群所使用的Java EE开发平台和应用程序,我们建议引入Java EE 开发平台协议子集。” JSR 316规范中这样提到。这些协议子集会指导Java EE开发平台,就如JCP所设定的一样,它可能包括Java EE开发平台技术的一部分,附加的JCP技术而不是基层Java EE开发平台,或者将这两种情况都包括在内。

  Interface21公司 Johnson认为,“那种所谓全能的模式适用的情况越来越少了。”他还指出,Java EE软件的经销商不应该“在绝大多数客户可能永远都用不上的、庞大的功能上耽误工夫”。

  Johnson还表示说协议子集的确不错。不,确切地说它是个很棒的东西。

  “最后,用户就能购买到他们想要的东西,而不是那些规范委员会认为他们想要的东西。两年以前用户就开始定制应用程序”。Johnson说。“该是时候引入合理的竞争机制来代替苏联模式的计划经济。”

  除此之外,JSR 316专家小组还会确定第1版Java EE网络协议子集,即旨在网络应用方面开发的Java EE开发平台的一部分。新的规范还会提供了一个处理工具可以从开发平台上删去那些永远都不会用到的技术。

  Java EE 6规范中并没有包含OSGI。这是因为,模块方面的开发已在JSR277Java模块系统中有所体现,它就是为Java开发平台准备的,标准版为第7版(Java SE7)。“我们预期Java EE7会建立在那项技术基础上,因为我们推迟了在将来发布时可能会引起争议的技术规范。”JSR 316规范中这样说。

  OSGi的推崇者,法国Beaulieu的一位软件咨询员Peter Kriens说道,“我实在没有办法想通,为什么JSR并没有选择今天的OSGi,否则它会比Java EE 6更为优秀!你能想通吗?”

  Kriens还对协议子集的发布做出了回应。

  Kriens说,“为了说明没有十全十美的方案,Sun提议多建立几种方案,即协议子集。这样就一定能满足所有的要求吗?不,在J2ME (Java 2 微型版)中已经对协议子集进行了尝试,但是以我看来是失败了。”

  很显然,不论从哪个角度看,Sun和JCP都在Java EE 6上涉及到OSGi。而且,规范已经朝着正确的方向迈进了一大步。Sun已经认识到,没有一条道路对于所有的人来说都是可行的。但是协议子集和可扩展性能的变化所保证的灵活性却是确定无疑的。