Eclipse 基金会先期提出了九个注定要包含在 EE4J(Eclipse Enterprise for Java)中的项目,它们是:
- Eclipse Grizzly ;
- Eclipse OpenMQ ;
- Eclipse Mojarra ;
- Eclipse Message Service API for Java ( JSR 914 );
- Eclipse Tyrus ;
- Eclipse Java API for RESTful Web Services (JAX-RS);
- Eclipse Jersey ;
- Eclipse WebSocket API for Java ( JSR 356 );
- Eclipse JSON Processing 。
正如在 EE4J宪章中所指出的,这些项目是Oracle Java EE 8 和GlassFish 技术转交Eclipse 基金会工作的一部分。在与EE4J 的集成中,所有的新项目将遵循 Eclipse Development Process 。
另外两个项目, EclipseLink 和 Eclipse Yasson ,已经在迁移到EE4J 的过程中。所有Eclipse 基金会项目的相关信息,都提供在项目活动新闻上。
InfoQ 就这九个新项目,采访了 Dmitry Kornilov 和 Mike Milinkovich。Kornilov 是 Oracle 的高级软件开发经理,而 Milinkovich 是 Eclipse 基金会的执行董事。
InfoQ:这些要加入到 EE4J 中的项目是如何选取的?
Dmitry Kornilov:这九个项目是从 30 多个项目中选取。我们(即 Oracle 公司)正规划将 Java EE 转交 Eclipse 基金会。我们的目标是选出社区最感兴趣的项目,并尽快将它们转交给 Eclipse。自从这些项目的早期参与者构建了更大规模的 PMC 后,我们就与他们一起工作,选出了这九个项目。
Mike Milinkovich:总而言之,我们使用了金发女孩规则(Goldilocks rule):不能过大,不能过小,恰到好处。
在将 Java EE 转交给 Eclipse 基金会中,需要做大量的工作,我们想要通过选取一些项目,演练如何将项目加入 Eclipse。我们选定了这些项目,因为它们合理地代表了所有需要转交项目,但是它们并非其中规模最大的项目。想想 Glassfish 项目的规模吧。
InfoQ:将来是否会给出更多来自于 Java EE 8 和 GlassFish 的项目?
Kornilov:Oracle 所有的 Java EE 8 项目,最终都将转交给 Eclipse 基金会。其中包括 GlassFish,以及其它 GlassFish 技术。Oracle 已启动了对第二批项目的准备工作。
Milinkovich:是的。所有项目终将进入 Eclipse 基金会,包括所有的 GlassFish 技术,以及受 Oracle 控制的 Java EE 引用实现项目。此外,所有的测试兼容包(TCK,Test Compatibility Kit)也将加入 Eclipse 基金会,并首次在开源许可下可用。还有,未来的 Java EE 版本规范过程将由 Eclipse 基金会给出。因此,我们将创建一种全新的规范过程,替代过去 JCP 在 Java EE 中承担的职责。
我要继续强调指出的是,TCK 将会是开源的。过去,TCK 只对 Oracle 许可证颁发者在保密协议(NDA)下可用。这严重地阻碍了在企业和云原生 Java 上的创新。我认为迄今为止,开源 TCK 的重要性尚未得到足够的重视。在这一生态系统中,TCK 可以实现许多新的创新。
InfoQ:目前,社区的反响如何?
Kornilov:反响非常积极。一段时间以前,社区就请求将 Java EE 转交给开源社区。他们很高兴看这一工作正在推进中。从我们一方,我们对此认真对待,并正尽最大努力快速平滑地实现转交工作。
Milinkovich:反响非常好。很高兴看到很多开发人员对该技术将转交给 Eclipse 基金会欢欣鼓舞。随着人们开始开始将注意力转向我们对 Java EE 生态系统所做的所有改进,期间一直存在着一些小的波折。任何改变都是很难,即便是这样非常有积极意义的改变,同样如此。
InfoQ:社区审查将持续多长时间?
Kornilov:按 Eclipse 基金会的规则,一个建议将对社区审查开放至少两周时间。
Milinkovich:目前尚略有不明晰之处。理想情况下,项目将在 12 月 18 日周一创建,随后我们将立刻开始迁移源代码。但是此前尚有一些法律细节问题需要解决。在最坏的情况下,这些项目将在 2018 年初开始运作。
InfoQ:EE4J 中即将发生什么?
Kornilov:很多事情正在发生。EE4J 的第一个目标,是将所有 Java EE 项目转交给 Eclipse 基金会,并发布首个 EE4J 版本。计划是使 EE4J 兼容 Java EE 8。第二个目标是定义一种新的标准过程,EE4J 将使用新的标准过程,替代 JavaEE 曾使用的 JCP 过程。最后一个目标是基于已确定的过程,发布一个完全社区驱动的企业级 Java 新版本。
Milinkovich:下面列出接下来六至九个月乃至更长时间中的优先事项:
- 将 EE4J 建成一个运作良好的开源项目和社区。其中涉及将大约 50 个项目以及数千万行代码迁移到 Eclipse 中。这 50 个项目分别具有各自的项目负责人和提交者。我们期望这数百名人能作为新的提交者添加到 Eclipse 社区中。所有这些提交者都需要学习的是,如何作为 Eclipse 项目团队的一部分而参与其中。作为其中的一部分,我们必须将所有代码重新授权给 EPL-2.0 许可证,并正常开展知识产权审查。
- 将所有这些项目的构建架构,从 Oracle 迁移到 Eclipse 基金会的通用构建架构上。
- 开源所有 TCK。这将是一个很艰巨的任务,因为其中涉及数以千计的测试,并且很多代码以前从未开源过。
- 交付首个兼容 Java EE 8 的 EE4J 版本。这是 EE4J 的真正开始之处。任何开源社区的核心,都在于让运行代码对开发人员可用。实现得越快,在我看来越好。
- 建立一种全新的规范过程,替代以前在改进 Java EE 标准中使用的基于 JCP 的方法。
- 创建新的名称和品牌,替代过去使用的 Java EE。其中将包括支持新品牌的财团,以及对 WebLogic、WebSphere、JBossApache Tomee 和 Payara 等兼容独立实现的核证过程。
希望大家能认识到,这是一组雄心勃勃的目标。要实现这些目标,我们将会非常非常地忙碌。我建议大家对此能保持耐心。
InfoQ:Kornilov,当前您在 Oracle 的职责是什么?也就是说,您的日常工作是什么?
Kornilov:我当前正管理一个工作于布拉格的开发团队,负责各种 Java EE 组件的开发,包括 JSON-B/P、JPA、JAX-RS、JAX-B、JAX-WS、Metro 等。我还在 EE4J 项目管理委员会(PMS,Project Management Committee)中代表 Oracle 公司。我通常在工作日中会花费一半的时间在各种会议上,包括管理、规划、审核、头脑风暴、设计等,另一半时间答复邮件。当然,我现在正在做后者。
InfoQ:Milinkovich,当前您在 Eclipse 基金会的职责是什么?也就是说,您的日常工作是什么?
Milinkovich:在过去的 13 年中,我一直是 Eclipse 基金会的执行董事。Eclipse 基金会是一家受成员资助的独立开源基金会。我的日常工作聚焦于推进我们的开源项目和商业生态系统日新月异。
相关资源
- 项目的源代码库:
- Eclipse Grizzly ;
- Eclipse OpenMQ ;
- Eclipse Mojarra ;
- Eclipse Message Service API for Java ;
- Eclipse Tyrus ;
- Eclipse Java API for RESTful Web Services ;
- Eclipse Jersey ;
- Eclipse WebSocket API for Java ;
- Eclipse JSON Processing 。
评论