Java EE 如何在 Jakarta EE 中重获新生

Jakarta EE 在 Eclipse 基金会的愿景下,满足了云原生需求。
359 位读者喜欢这篇文章。
14 facts about OpenStack Newton

Pixabay。由 Opensource.com 修改。CC BY-SA 4.0

这篇文章的标题可能看起来很奇怪,但如果你稍微了解一下 Java EE 近期的历史,就会明白它的含义。

最初,Sun 公司启动并运营了 Java 企业版(Java Enterprise Edition),后来 Oracle 收购 Sun 公司后接管了它。规范由 Sun/Oracle 管理的流程驱动。他们或多或少定期发布新版本的规范,由服务器供应商实施。这些供应商必须从 Oracle 获得技术兼容性套件 (TCK) 和品牌许可。

让我们快进一点。2013 年,Java EE 7 发布,Oracle 开始着手 EE8,但进展缓慢。与此同时,Docker 和 Kubernetes 等新技术出现并改变了应用程序的运行方式。软件现在被拆分成更小的、独立的微服务,这些服务运行在(通常)由 Kubernetes 编排的 Docker 容器中,而不是在一台大型机器上运行单个胖服务器进程。

为了充分利用运行软件的新方式,软件和项目的设置需要进行更改。“云原生”一词应运而生,并创建了 12 要素方法来描述这些新需求。引用 其中一个要素

III. 配置

将配置存储在环境中

规范中没有实现此目标的良好、统一的方法,每个开发人员都必须以临时的方式进行操作。

企业 Java 社区看到了这些变化和挑战,并希望加以利用,但 Java EE 7 没有解决这些问题,Java EE 8 的发布也遥遥无期。在社区看来,Oracle 似乎对 Java EE 失去了兴趣,关于福音布道者被解雇以及开发人员被转移到 Oracle 内部其他软件项目的报道,也无助于消除这种印象。

为了克服这一限制并将 Java EE 适应新世界,包括伦敦 Java 社区、Red Hat、Payara、IBM、SouJava、Tomitribe 等在内的感兴趣的团体于 2016 年启动了 MicroProfile 项目。MicroProfile 的目的是开发缺失的云原生功能,以便可能包含在未来的 Java EE 版本中。

然而,Java EE 8 仍然遥遥无期。

迁移到 Jakarta

MicroProfile 迁移到了 Eclipse 基金会并发布了几个版本,其中一个版本恰好在 2017 年 JavaOne 大会之前,当时 Java EE 8 突然发布了——但实际上并没有解决云原生需求。

2017 年 9 月,在 JavaOne 之后和 EclipseCon Europe 之前,Oracle 宣布将 Java EE 捐赠给 Eclipse 基金会。这是一个革命性的举动,因为 Oracle 不仅捐赠了规范,还捐赠了规范流程和以前秘密的 TCK。

Eclipse 成立了 Jakarta EE 工作组,Oracle 开始将代码迁移到 Eclipse 基金会的 Git 存储库,这个过程仍在进行中。

与此同时,成立了一个项目管理委员会 (PMC) 来指导该过程。2018 年 2 月下旬,委员会宣布了一个新的品牌名称:EE4J。(对于那些记得 Jakarta 是 Apache 基金会的一组 Java 项目的人来说:是的,这不是冲突,而是一种友好的复兴,正如 PMC 成员和 Tomitribe 创始人  David Blevins 所描述的那样。)

接下来的步骤是建立各个委员会,以及对我们这些技术爱好者来说最重要的,创建一个徽标。以开源方式找到一个不侵犯商标的徽标并非易事,并且在这个过程中也遇到了一些 小麻烦——但没有什么解决不了的。

最终,在 4 月 24 日,新的 Jakarta EE 徽标和 网站正式发布。

Jakarta EE logo

Jakarta EE 现在正在吸引新的成员,没有人会想到他们会对这个生态系统感兴趣,例如微软甚至 Pivotal (Spring)。

如果你对命名感到疑惑,特别是 EE4J 与 Jakarta EE 的区别,简单的答案是:“始终使用 Jakarta EE。” PMC 负责人 Ivar Grimstad 很好地总结了这场争议

接下来是什么?

Jakarta EE 的首批工作之一(自 Oracle 宣布打算将 Java EE 提交给 Eclipse 以来一直在进行)是从 Jakarta EE 源代码完全构建一个与 Java EE 8 兼容的服务器。在这个目标实现后,新功能的开发就可以全速前进。

Eclipse 基金会总监 Mike Milinkovich 在 Jaxenter.com 的一次采访中分享了他的看法(请收听 2:30 到 11 分钟之间)。

MicroProfile 呢?MicroProfile 和 Jakarta EE 社区已经有很大的重叠,因此预计在 Jakarta EE 8 之后,社区将决定他们如何协同工作。我认为 MicroProfile 将作为 Jakarta EE 的某种孵化器。这将允许新功能在 MicroProfile 内部快速开发和完善。之后,它们将被提升为 Jakarta EE 级别的规范,并在较长一段时间内保持更稳定。

标签
User profile image.
Heiko 是一位长期的开源贡献者。他目前在 Red Hat 工作,负责服务器和软件系统的监控和管理。Heiko 拥有卡尔斯鲁厄大学计算机科学硕士学位,并撰写了两本关于 JBoss AS 和企业 Java Bean 的书籍。

2 条评论

Jakarta EE 看起来很有趣,但这些天我对 Oracle 没什么好感。
他们是否成为了更好的开源软件管理者?OpenOffice 和 MySQL 的糟糕经历仍然让许多 OSS 纯粹主义者耿耿于怀。

此外,我正在 Udemy 上学习 Julia 精通课程,并且我还计划在 Nim(以前称为 Nimrod)和 Crystal 准备好投入生产时开始学习它们。Kotlin 看起来也是 Java 的一个非常有前途的替代方案。

我认为这里有趣的部分是 Oracle 放弃了(缺少更好的词)“独裁”,并且在 Jakarta EE 中只是众多贡献者/成员之一。
到目前为止,这进展顺利。

回复 作者:DarkMatter

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.