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 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 现在正在吸引新的成员,这些成员是以前没有人怀疑会对这个生态系统感兴趣的,例如 Microsoft 甚至 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 和 Enterprise Java Beans 的书籍。

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.