正如我之前所发布的那样,Interface21正在参与Java EE 6的努力,我和Juergen Hoeller、Keith Donald、Rob Harrop等团队成员将参与多个专家组。
这意味着我们将更深入地参与到 JCP 的总体工作中。我们尊重 JCP 的保密条款和其他规定,因此我们不会谈论任何非公开的内容。但是,我想谈谈我们参与 JCP 的目标以及我们将带来的基本方法。当然,我们只是众多公司和个人中的一家,所以我们只会发出一种声音,但这将是我们所追求的声音。
- 开放性:我们将尽可能地推动 JCP 的开放性。我经常觉得 Java 社区进程中的“社区”部分一直有所欠缺——尽管很高兴看到该进程的修订似乎更加倾向于开放性。我们将努力在所有阶段尽快将信息传递给社区,并抵制一些专家组将其提出的东西当作圣经来展示的倾向。
- 响应性:开放性只有在倾听时才有价值。过去,一些专家组认为他们的角色是告诉人们事情该如何进行,而不是倾听。当人们指出缺陷时,如果你能在还能修复问题的时候倾听,而不是攻击批评者,那会好得多。另一方面,一些专家组在开放和响应方面做得非常出色,我们将努力鼓励将它们作为榜样。开源已经展示了开放性和响应性带来的许多好处,以及一些可以帮助其在实践中取得成功的技术。
- 对全局的认识:所有 JSR 都存在于更广泛的背景中,忽视这一点将带来风险。这是我们对 EE 6 感觉良好的原因之一:它是 Java EE 的第一个提案,考虑了人们正在成功使用的先前技术和解决方案。我们不希望出现更多的 java.util.logging 的惨败。几年前,J2EE 是企业 Java 的代名词。企业 Java 开发者视其为所有答案的来源。那并没有成功,今天,Java EE 必须做出正确的选择来保持其相关性。这实际上是一件好事:在竞争激烈的环境中,没有什么比这更能驱动改进了。而且,正如我在上一篇博客中指出的那样,如今许多竞争都来自 Java 世界之外,这意味着整个 Java 社区在根本上是站在同一边的。在 Java 领域内,需要考虑 OSGi 等技术,尤其是在它们可以帮助实现 EE6 目标,例如服务器的组件化的情况下。OSGi 联盟技术总监 Peter Kriens 最近 发博客谈到了这一点,他提出了一个有趣的观点:“在一个没有上下文的社会里,将 JSR 316 基于 OSGi/JSR 291 将会是一个绝对的明智之举。”我们希望看到做出最佳技术决策,而不考虑相关技术的起源。
<li><strong>Honesty</strong>: We intend to be completely honest about our opinions. There are parts of Java EE 5 that we think suck (notably the EJB interception model), and I recently <a href="http://blog.interface21.com/main/2007/07/03/java-ee-6-gets-it-right/">blogged </a>about why we think that Java EE 6 looks very promising. We're getting involved because we think EE6 is right and important. But we can bring most value by being honest about what we think doesn't work, as well. That way it might be made better.</li>
技术焦点:从根本上说,我们的立场将由我们认为能够带来最佳技术解决方案并能在现实世界中奏效的因素驱动。
最终用户焦点:我们将问这个问题对谁有好处?如果对用户没有明显的好处,最好不要添加或更改功能,因为平台复杂性的增加绝对不是用户想要的。
清晰度:我们认为,在可能的情况下,概念应该在 Java EE 等一组规范中进行定义。例如,EJB3、Java 平台通用注解 (JSR-250) 和 Java EE 5 规范之间的重叠令人困惑。注入功能的单一权威讨论在哪里?我们认识到在这方面存在局限性。
成熟度:过去大多数最大的错误——CMP 实体验证,有人吗?——都是由于“标准化”未经证实的、不成熟的技术造成的。对已证实的[概念]进行标准化是可行的;标准化机构在创新方面做得不好。(“委员会式设计”之所以成为一个贬义词是有原因的。)一旦你标准化了一些未经证实的东西,如果你发现自己错了,你就是在让用户经历多年的痛苦。幸运的是,Java EE 6 中的可扩展性概念在负责任的标准化和平台创新之间提供了完美的平衡,因此 Java EE 现在非常适合驾驭这个棘手的领域。
我们才刚刚开始一个可能为期两年的过程。但我们是乐观的,并将尽最大努力帮助它取得成功。我们需要你的帮助。作为 JCP 的一员,Interface21 致力于对社区保持开放。
很高兴看到 Sun 的规范负责人 Bill Shannon 和 Roberto Chinnici 在 EE6 中也致力于开放性。 Roberto 刚刚发布了关于近期讨论的更新博客,并且他计划每月再次这样做。