Eclipse Foundationは、2020年6月23日にJakarta EE 9 Milestone Release Partyを開催し、Jakarta EE 9の最初のマイルストーンリリースを祝った。このイベントは、Eclipse FoundationのTanja Obradovic氏(Jakarta EEプログラムマネージャ)、Shabnam Mayel氏(クラウドネイティブJavaのシニアマーケティングマネージャ)、Ivar Grimstad氏(Jakarta EEデベロッパーアドボケイト)が主催した。このイベントでは、Javaの著名人であるWill Lyons氏(オラクル社WebLogicサーバ製品管理シニアディレクター)、Kevin Sutter氏(IBM社のJakarta EE 9リリースリード)、Scott Marlow氏(Red Hat社JBossプリンシパルソフトウェアエンジニア)、Steve Millidge氏(Payara社CEO)、BJ Hargrave氏(IBM社シニアテクニカルスタッフ)による短いプレゼンテーションが行われた。
祝賀会のテーマは、Jakarta EEの旗を掲げたカップケーキだ。司会者と登壇者がそれぞれの発表の締めくくりに、それぞれのカップケーキを用意して発表した。
このイベントには、約20カ国を代表する155人の開発者が参加した。議題には、Jakarta EE Platform プロジェクト (Platform and Web Profile 9.0.0.0-RC2 APIs)、Eclipse Jakarta EE TCK (Platform TCK 9.0.0-M1)、Eclipse GlassFish 6.0-M1、Eclipse Transformer プロジェクトの最新情報が含まれていた。
開会挨拶
冒頭の挨拶では、Will Lyons氏が、2019年9月にJakarta EE 8が正式リリースされてからのJakarta EE活動の最新情報を提供した。2019年12月に採用されたJakarta EE 9のリリース計画には、javax
パッケージ名前空間をjakarta
への完全移行も含まれた。Jakarta EE 9の正式なGAリリースは、JakartaOne Livestream 2020カンファレンスに合わせて、2020年9月16日に予定されている。
M1リリースは、Jakarta EE仕様、API、TCKの更新を特徴としている。これにより、パートナーやツールベンダーが独自の認証プロセスを開始できるようになる。GlassFish 6.0.0-M1が現時点で唯一の互換性のある実装だ。
主要ベンダーであるRed Hat、IBM、Payara、Tomitribeとともに、Lyons氏は、2020年の第1四半期にJakarta EE 9への貢献の50%近くをJavaコミュニティに認めた。
Jakarta EE 9 仕様
Kevin Sutter氏は、Jakarta EE仕様書のページを熟読し、仕様書、JavaDocs、TCK、互換性のある実装など、それぞれの仕様で利用可能な具体的な詳細を示した。
Jakarta Managed Beans 2.0仕様とJakarta EE Web Profile 9は、ほぼ最終リリースに向けて準備が整っており、あとはプラットフォームTCKとGlassFish互換実装を完成させる。
完成した作業には、Jakarta EE Platform 9の後方互換性、分散相互運用性、Jakarta Enterprise Beans 4.0仕様の最終更新が含まれる。
Jakarta EE技術互換キット(TCK)
Scott Marlow氏は、TCKの役割、Jakarta EE 9の新しい変更点、完成までに残っているものなど、Jakarta EE 9 Platform TCKの詳細について議論した。
Jakarta EE TCK(現在はオープンソース)は、Jakarta EEサーバの実装が互換性要件を満たしているかどうかを判断する。認証のためには、プラットフォームプロファイルでは TCK のすべてのテストに合格する必要があるが、ウェブアプリケーションを対象としたWeb profileでは、これらのテストのサブセットのみに合格する必要がある。
いくつかのJakarta EE仕様の中には、独立したスタンドアロンTCKを通過させる必要がある。開発者は、Jakarta Activation 2.0の仕様が新しくなったことに注意する必要がある。
テストは新しい jakarta
パッケージの名前空間が更新され、Jakarta Deployment 1.7 や Jakarta XML RPC 1.1 など、現在では非推奨となっている仕様をサポートするテストが取り除かれるまたは削除された。
完了する作業には、JDK 11でのTCKの実行、レガシーテストアーカイブの削除、TCKドキュメントの更新が含まれる。
GlassFish 6.0.0-M1
Steve Millidge氏は、jakarta
パッケージ名前空間が実装されたGlassFish 6.0.0.0-M1がJavaコミュニティで利用可能になったと伝えた。このM1リリースのGlassFishには、Eclipseプロジェクトの互換性のある実装が組み込まれている。これは、Jersey、Mojarra、Tyrus、OpenMQなどで、これらもまたjakarta
パッケージの名前空間を使用している。
GlassFishの最終リリースには、ブランディングのリフレッシュ、JDK 11のサポート、コンプライアンス・テスト・スイート(CTS)とスタンドアロンTCKに合格することなどが予定されている。
Eclipse Transformer
BJ Hargrave氏はEclipse Transformerを紹介した。 これは新しいEclipseプロジェクトであり、javax
パッケージ名前空間のバイナリ・アーティファクトを、新しいjakarta
パッケージ名前空間に変換するものを作る。このプロジェクトは、バイナリクラスファイル、それらのファイルのコンテナ(JAR、EAR、WAR)、マニフェストやプロパティファイルなどの他のリソースを変換できる。
Transformerは、カスタムルールを可能にするルールベースの仕組みを使用する。Jakarta EE 9ルールセットは現在開発中だ。
Jakarta EE 9の開発チームは、Transformerプロジェクトで初期の成功を経験しており、現在のバージョン0.2.0では、CLI、Maven、Gradleプラグインへの早期アクセスを提供している。
結論
Ivar Grimstad氏は、GlassFish 5にデプロイされた既存のJakarta EE 8アプリケーションを移行し、Jakarta EE 9 M1アプリケーションをGlassFish 6.0.0-M1にデプロイする方法をデモした。pom.xml
ファイルをJakarta EE 9 を参照するように編集するだけで、ソースコードのすべての参照を javax
からjakarta
へ変更する。その更新されたアプリケーションは再デプロイされる準備ができた。
またGrimstad氏は、Jakarta EE 9が自分やそれぞれの組織にとってどのような意味を持つのかを、ソーシャルメディア上で自分のカップケーキを使って自撮りした写真を#JakartaEE
と@JakartaEE使って共有するよう開発者に促した。
Jakarta EE Milestone Release PartyのリプレイはYouTubeで見ることができる。
資料
- InfoQによるJakartaOne 2019:ライブストリーム 午前7時から午後1時までのまとめ(2019年11月27日)
- InfoQによるJakarta EE 9 デリバリ計画(2020年2月18日)
編集部注
Michael Redlich氏は、Jakarta EE Ambassadorsのリーダーシップ評議会のメンバーであり、JakartaOne Livestream 2020会議のプログラム委員会を務める予定だ。