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?。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5yMwgjc5lDMzN3dvwFN3UTN3QTMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
釋出會開場
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平台實施工作。