正如我之前发布的那样,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 实体 Bean,有人记得吗?——都是由于“标准化”未经验证的、不成熟的技术造成的。经过验证的概念标准化有效;标准机构在创新方面做得不好。(“集体设计”是一个贬义词是有原因的。)一旦你标准化了一些未经验证的东西,如果事实证明你错了,你就会让用户遭受多年的痛苦。幸运的是,Java EE 6 中的可扩展性概念在负责任的标准化和平台上的创新之间提供了完美的平衡,因此 Java EE 现在可以很好地应对这个棘手的问题。
我们才刚刚开始,这可能是一个为期两年的过程。但我们很乐观,并将尽最大努力帮助它取得成功。我们需要你的帮助。作为 JCP 的成员,Interface21 致力于对社区开放。
很高兴看到 Sun 的规范负责人 Bill Shannon 和 Roberto Chinnici 也在 EE6 中致力于开放性。Roberto 刚刚发布了关于最近讨论的更新,他计划每月再次发布。