Jakarta EE 9
里程碑发布会总结
2017年9月 Oracle 将 Java EE 移交给 Eclipse 基金会管理。2018年 Java EE 经过社区投票,更名为 Jakarta EE。
北京时间6月23日23点,Jakarta EE 9 Milestone Release Party 在线上举行,这次发布会是为了庆祝 Jakarta EE 9 的第一个里程碑的发布而举办的 。
本次发布会包括Jakarta EE 9 Platform、Jakarta EE Platform TCK、GlassFish、Transformer 项目等内容。
本次发布会,演讲者们除了介绍各自的主题外,还展示了自己的cupcake🧁。
发布会开场
1
首先是来自Oracle的 Will Lyons 的开场白。Will 为我们介绍了 Jakarta EE 的发展历程及发布计划。
自从 2019年9月 Jakarta EE 8 发布,目前为止共有8个 Full Platform 兼容产品,4个 Web Profile 兼容产品。
为支持 Jakarta EE 9 的发布,2019年12月开始,Jakarta EE 发生了一些变化:平台及组件更新了版本,命名空间从 javax.* 变更为 jakarta.*。
2020年6月23日,Jakarta EE 9 的第一个里程碑版本发布了。此版本包含了平台、组件、Jakarta EE API、技术兼容套件、规范文档以及兼容产品,后续也将允许合作伙伴和供应商进行认证。
Jakarta EE 9 的最终版本将在2020年9月发布。
下面我们看下项目提交数据,根据 Will Lyons 提供的统计数据来看,排名前5的依次为:Oracle、VMware、IBM、Red Hat、Payara Services,占比48.8%,由此可见大厂的贡献还是相当高的,不过其他提交者也占据了高达49%的比例。在此向所有的贡献者表示感谢!
最后,Will 展示的他的cupcake,漂亮的彩虹蛋糕。
Jakarta EE Platform
2
接下来,重点来了。来自IBM的 Kevin Sutter 为大家介绍了 Jakarta EE Platform的开发进展。
首先,让我们看看 Kevin 的cupcake,看起来不错。
言归正传,Kevin 对 Jakarta EE 9 第一个里程碑的发布表示祝贺,同时也感谢来自全球各地的贡献者们。
让我们看看 Jakarta EE 9 的第一个里程碑有哪些内容。
可以看到,本次发布涵盖了全部的技术规格文档,Javadoc,API,技术兼容套件,兼容产品,所有信息都可以在 https://jakarta.ee/specifications 页面中查看。
那么,后续还有哪些工作要做呢?
首先 Managed. Bean 和 Web Profile 还需要通过 TCK 测试以及和与GlassFish进行集成。另外,还有EJB 分布式互操作相关工作,Jakarta EE 的 可以编辑图片(svg等),向后兼容相关的问题要处理。
如果想了解更详细的信息,可以在Jakarta EE 9 的项目看板查看具体工作的进度:https://github.com/orgs/eclipse-ee4j/projects/17。更详细的时间表可以查看https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee9/JakartaEE9#jakarta-ee-9-schedule。
Jakarta EE 9 的最终版本计划在2020年9月16日发布,当天会在JakartaOne进行网络直播。
想获取最新信息的朋友,可以关注 Jakarta EE 的邮件列表、网络会议安排以及Slack频道。
Jakarta EE TCK
3
接下来Scott Marlow(Red Hat)展示他的cupcake,好大一盘。
Scott 为我们介绍了 Jakarta Platform TCK 的相关情况。TCK即技术兼容套件,通过一系列的测试,来确定 Jakarta EE 服务器实现是否满足兼容性要求。也就是说所有认证的Jakarta EE 服务器实现都需要通过TCK测试。除了 Jakarta EE Platform TCK 还有其他的独立TCK,例如 Activation TCK、Dependency Injection TCK、Contexts and Injection TCK、Bean Validation TCK等。
在Jakarta EE 9 中,TCK发生了哪些变化?
首先同样是命名空间的变化,javax.* 更改为 jakarta.*。另外,对测试用例进行了修改,移除了不在适用的测试用例。而对于配置文件,与上一版本基本一致。
当然 ,还有一些工作要完成,比如,TCK 需要能够基于JDK11 运行,移除一些遗留的不适用的测试,删除过时的 XSD 引用,以及更新TCK文档。
GlassFish
4
GlassFish 是基于 Jakarta EE 标准的应用服务器,随着Jakarata EE 9 的发布,GlassFish也迎来的新版本。来自 Payara 的 Steve Millidge 为大家介绍GlassFish 6.0-M1 的相关情况。
首先展示 cupcake show,小巧的蛋糕。
首先看看 GlassFish 6.0-M1 做了哪些事情。
GlassFish 6.0-M1 同样也基于 jakarta 的命名空间进行发布,不过 6.0-M1 仍然是基于 JDK 8的。另外,GlassFish整合了所有依赖,包括 Weld、Tyrus、Eclipselink等。
后续,GlassFish将进行品牌更新、支持JDK 11、通过相关的TCK测试。
Transformer 项目
5
Transformer项目是什么?IBM 的 BJ Hargrave 向大家介绍了 Transformer 项目。
BJ 的cupcake,巧克力的。
随着Java EE 的更名,随之而来命名空间发生了变更,早期项目如何迁移到 Jakarta EE 9 标准的应用服务器?Transformer 项目就是为此而创建的,Transformer 项目的目标就是为了处理引用了 Jakarta EE 9 之前版本包名的二进制包。Transformer 可以转二进制的class文件,和包含二进制class文件的jar、ear、war文件,将其命名空间变更为jakarta.*;除了二进制包还支持对资源文件进行转换,例如manifest、property 文件、ServiceLoader配置等。Transformer 是规则驱动的,可以自定义规则集。另外Transformer还提供命令行、Maven、Gradle插件。
目前,Transformer项目最新发布版本为 0.2.0-SNAPSHOT,目前支持命令行和Maven插件。
Try it out
6
接下来,主持人Ivar Grimstad为我们介绍了如何使用最新的Jakarta EE 9。
使用Jakarta EE API,需要在你的项目中加入依赖。具体实例可以参考实例:https://github.com/ivargrimstad/starter-samples
Ivar 为我们演示了示例:
另外,还有其他部分实现规范的产品可以适用,如Apache Tomcat (10.0.0-M6)、Eclipse Jetty (11.0.0-alpha0)、Open Liberty Beta (20.0.0.7-beta)。
发布结束
7
到此,发布会的主要内容就结束了。感谢 Jakarta EE 委员会的全体成员为我们带来了精彩的发布会!祝贺 Jakarta EE 9 M1 发布!
关于作者:芋头,普元云计算&SOA产品部高级软件工程师,曾参与银联、神华集团等云平台项目的设计与研发,后参与DevOps项目的研发工作,并负责多个客户的DevOps平台实施工作。
关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。长按二维码关注!
本文分享自微信公众号 - EAWorld(eaworld)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。