Eclipse 基金会已经做好将 Java EE 作为 Eclipse Enterprise for Java(EE4J)进行开源的准备。来自 Eclipse 的执行官 Mike Milinkovich 正式介绍了 EE4J 以及他们正面临的挑战:
将 Java EE 移交给 Eclipse 基金会将是一项激动人心的事业。使用 Eclipse 开放的开发模型来加快 Java 在企业及云原生计算方面的创新是一个非常重要的契机。我们期待数百万开发者和众多企业组织融入到 Java EE 当中来。
Milinkovich 列出了 EE4J 项目的几个最为重要的任务:
- 迁移现有的 GlassFish 开源项目(130 个 GitHub 仓库)。
- 迁移 Java EE TCK,让社区也用起来。
- 创建一个开放的基础设施,让社区在上面开发和测试 EE4J。
- 在 Eclipse 基金会的支持下建立一个新的规范流程。
Milinkovich 也指出,完成这些任务需要一定的时间,与 Java 社区之间的互动也有待完善。Eclipse 已经创建了 ee4j-community 邮件组,开发者可以通过邮件组进行反馈或参与其中。
在最近的 Java 用户组(Java Users Group)会议上,著名的 Java EE 布道师 Reza Rahman 呈现了“Java EE 8 和 Java EE 9:你需要知道些什么“的演讲。他概括了 Java EE 的过去、现在和未来,评述了与 Java EE 8 相关的 JSR 以及现阶段的发展情况。Rahman 也探讨了 Java EE 停滞不前的问题、Java EE 守护者的出现以及促使 Java 走到今天这个地步的主要事件。
社区同仁们注意到,在 JavaOne 2016 之后的六个多月时间里,所有与 Java EE API 有关的活动几乎都停止了,这是前所未闻的。即使是在 Sun 公司最灰暗的日子里,都没有出现超过六个月没有动作的情况。我当时正在 Oracle,后来离开了 Oracle,而不就之后,“秩序使命”
就出现了,也就是所谓的 Java EE 守护者。我们的社区产生了一个大疑问,为什么会出现这样的状况,但没有人能回答这个问题,只有一片死寂。在经过一阵喧嚣之后,Oracle 站出来说,“
抱歉我们停止了在 Java EE 8 上的工作,不过现在我们又开始了,而且是重装上阵”
。他们进行了另一轮问卷调查,就像在起初做的那样,用以了解我们最初开发的特性是否仍旧有意义。从本质上说,Oracle 所承若的事情与一开始的并没有太大区别。最大的变化是他们不想再推出任何 Web 框架。相反,他们把包袱丢给了 Ivar Grimstad。Ivar 是真正推动规范往前走的人,并希望能够尽快完成规范。他们去掉了 JMS 相关的工作,EJB 则被保留下来作为冗余的组件模型,因为 Oracle 为了支持 CDI 并不打算完全弃用它。不过他们弃用了 JSF 托管 Bean,这应该说是一个好消息。另外,他们并没有紧锣密鼓地进行 JCache 方面的工作。可以说,原先 80% 的东西都没有变化。不过,我们现在可以对 Java EE 8 和 GlassFish 5 翘首以待了。
除此之外,Oralce 的另一举动则让我们大吃一惊。Oracle 并不打算继续成为同时驱动 Java SE 和 Java EE 发展的公司,而决定放弃 Java EE 的控制权。他们把 Java EE 交给了 Eclipse 基金会,变成一个新的项目,叫作 Eclipse Enterprise for Java(EE4J)。现在不存在绝对的统治者,现在只有公平的战场。任何一家有兴趣推动 Java EE 发展的公司都可以尽他们所能。Oracle 仍然会作为参与者之一,但不再扮演当初的统治者角色。我认为这是非常重要的一个变化。Java 的这部分根基从来没有这么自由过。所以,不要停下脚步,继续前进吧。
以下项目可能会出现在下一版本的 Java EE 中,不过 Rahman 说它们当中有一部分已经在 MicroProfile 1.2 里实现了:
- 弃用 EJB
- JCache
- OAuth、OpenID、JWT
- 动态配置
- Fat JAR、模块化
- 健康检查和度量指标
- 回路断路器和容错
- 动态发现
- 客户端负载均衡
- NoSQL
Rahman 总结说:
实际上,Java EE 仍然举足轻重。或许你们已经知道,Java EE 8 将带来一些很好的内容。这是一个值得我们关注的版本,我有绝对的理由对它们充满信心。Java 从来没有如此开放过。就像我告诉大家的那样,虽然有些想法还存在准备阶段,但 MicroProfile 已经做了很多工作,这意味着下一版本的 Java EE 会很快与大家见面。如果大家想参与进来,那是再好不过了。现在是参与到 MicroProfile 和 EE4J 项目的最佳时机。EE4J 还在制定章程,一周前我刚给他们的章程提供了一些反馈。现在是给 Java 生态系统注入活力的最好时机。
Rahman 向 InfoQ 介绍了 Java EE 向 EE4J 迁移的相关进展。
InfoQ:你是如何看待新的 EE4J 项目的?
Reza Rahman:这是一件大好事。我们很想看到社区和业界将做何反应。但愿他们会认为我们现在有了一个真正开放的服务端 Java,每个人都可以平等地参与其中。或许连微软、亚马逊和谷歌最后都会参与进来。
InfoQ:JCP 专家组会继续参与 Java EE 的开发吗?
Rahman:但愿如此。很显然,整件事情是从 JCP 出来的,因为 Oracle 在 JCP 当中有很多间接或直接的因素影响着 Oracle 的控制权。Oracle 可以影响 JCP 中的很多事情。希望 JCP 的同僚能够继续参与新模型监管,就如监管 JCP 模型一样。他们将会听到多方的意见。Oracle 在专家委员会具有一票否决权,在 JCP 有一定的权力。但在这里,大家都是平等的,更加的民主。
InfoQ:所以现在就没有投票这种机制了?
Rahman:希望还会有吧。目前正在草拟章程,所以后续会有一个正式的流程。Eclipse 基金会成立的委员会就是用来投票的。他们需要通过投票来决定下一个重大的里程碑。
InfoQ:那么他们正在往 Eclipse 监管模型上靠?
Rahman:是的。
InfoQ:他们将会有自己的投票流程,将会有更多的人有机会参与投票?
Rahman:希望如此。专家委员会只有固定的席位,而大部分席位是由 Oracle 内定的,甚至都没有经过选举。所以,真正的自主投票席位很少。新模型允许所有人参与到决议的制定当中。这里没有内定的席位,当然也没有 Oracle 在 JCP 专家委员会里的那种永久性席位。
InfoQ:在 Java EE 开源之后,Java EE 守护者将何去何从?会有新的章程出来吗?
Rahman:我们在几个月更新了我们的章程。我们将注意力从 Oracle 身上转移到一个更加注重传播的长期章程上。我想我们需要一个重大的转变,但不改初心。我们不会专注于某个特定的组织,相反,我们会鼓励人们参与这个流程,寻求传播和发展,告诉人们 Java EE 是什么以及他们为什么应该关注它。
InfoQ:你认为其他平台(比如 Spring)在 Java EE 的发展过程中将会扮演怎样的角色?
Rahman:在我看来,Spring 几乎已经成为一种专属平台。他们是 90 年代微软的写照,当然是指在 Java 方面。虽然名义上说是开放的,但其实他们仍然紧紧地控制着他们的技术。事实上,他们的大部分贡献者和大方向都是由 Pivotal 公司在把控。从这方面来说,我倒是希望 Pivotal 能够加入 EE4J 成为一个平等的贡献者,推动技术朝着没有独裁者的方向发展。但同时,我认为 Spring 和 Java EE 是 Java 世界的阴阳两面。这多少让人感到一丝不安,但愿最终能够有好的结局。
InfoQ:我们还能将其称为 Java EE 吗?
Rahman:Java EE 的名字不会变,EE4J 只是整个项目的名字。Java EE 的品牌不会改变。
相关资源
- Opening Up Java EE - An Update by David Delabassee (September 12, 2017)
- Oracle Chooses Eclipse Foundation as New Home for Java EE by InfoQ (September 17, 2017)
- The Eclipse Enterprise for Java Project Top Level Project Charter by Eclipse (September 28, 2017)
- Eclipse Issue Open Call for Enterprise Java Participation by InfoQ (October 10, 2017)
查看英文原文: Eclipse Foundation Prepares to Open Source Java EE as EE4J
评论