作者
,译者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
转自 http://www.infoq.com/cn/news/2017/10/towards-java-EE-at-eclipse