2. Copyright 2021 FUJITSU LIMITED
アジェンダ
1. Jakarta EE とは
2. Jakarta EE 9
3. Jakarta EE 9.1
4. Jakarta EE 10 and Beyond
5. CN4Jアライアンス
6. 最後に
1
3. Who am I ?
Copyright 2021 FUJITSU LIMITED
}
{
“名前”: “数村憲治”,
“勤務”: “富士通”,
“Jakarta EE”: “Specification Committee メンバー”,
“JCP”: “EC メンバー”,
“Eclipse Foundation”: “ボードディレクター”,
“Twitter”: “@kkzr”
2
4. Copyright 2021 FUJITSU LIMITED
アジェンダ
1. Jakarta EE とは
2. Jakarta EE 9
3. Jakarta EE 9.1
4. Jakarta EE 10 and Beyond
5. CN4Jアライアンス
6. 最後に
3
5. Copyright 2021 FUJITSU LIMITED
Jakarta EE
■ オープンな仕様
■Jakarta EE Specification Process
■コードファースト
■ オープンソースTCK
■Eclipse TCK License
■オープンな認証プロセス
■ 互換実装
■Jakarta EE Platform (Full Platform/ Web Profile)
4
6. Copyright 2021 FUJITSU LIMITED
Jakarta EE コミュニティ
18 団体メンバー
123 新規コントリビューター
~65M コードステップ数
31 オープンソースプロジェクト 60 GitHubリポジトリ
5
7. Copyright 2021 FUJITSU LIMITED
ロードマップ
2019/9
Jakarta EE 8 Jakarta EE 9 Jakarta EE 9.1 Jakarta EE 10
2020/11 2021/? 202x
次のステップ
■ CDI中心
■ Java SE の最新技術を利用
■ ポータビリティとベンダー中立
6
9. Copyright 2021 FUJITSU LIMITED
Jakarta EEとEE4J
EE4J
(Eclipse Enterprise for Java)
Jakarta EE
Working Group
■ベンダー中心
■ガバナンス?予算
■仕様承認
■マーケティング?ブランド
■開発者中心
■オープンソースコード/TCK
■仕様作成
■アジャイル?イノベーション
8
15. Copyright 2021 FUJITSU LIMITED
名前空間変更による互換性
Jakarta EE 8/Java EE 8以前のアプリは動くのか?
バイナリ互換 ソース互換
ランタイム製品による対応
実装製品は実行時に
パッケージ名を変換する
仕組みを提供することを推奨
Jakarta EE 8ビルド環境を
使用するか、jakarta名前
空間へのソース変更
?
IDE他ツールによる対応
14
16. Copyright 2021 FUJITSU LIMITED
スキーマ
? Java EE 8
? Java EE 7
? http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd
? http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd
Jakarta EE 8/Java EE 8以前は、JCPのURLを使用
? http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd
? http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd
? https://jakarta.ee/xml/ns/jakartaee/application_9.xsd
? https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd
Jakarta EE 9のスキーマは、jakarta.eeのURLを使用
https://jakarta.ee/xml/ns/jakartaee/#9
■Java EE 8のスキーマ―も利用可能(Java EE 7以前はベンダー依存)
■スキーマ一覧
? Java EE 9
15
17. Copyright 2021 FUJITSU LIMITED
Java SE バージョン
■ 各APIはJava SE 8ソースレベルでコンパイル
■ Jakarta EE 9 PlatformとWebプロファイルの互換実装
は、 Java SE 11で動作しなければならない
Java SE 8での動作は任意
Java SE 8で動作しなければならない
Java SE 9以降での動作は任意
16
19. Copyright 2021 FUJITSU LIMITED
Jakarta EE 9で削除される仕様 (pruning)
■ Jakarta Stable API プロジェクト仕様
■Jakarta XML Registries
■Jakarta XML RPC
■Jakarta Deployment
■Jakarta Management
■ Support for Distributed Interoperability
■Jakarta Enterprise Beans Core Contracts and
Requirements, Chapter 10 (注)
(注) Optional Features でない方
18
21. Copyright 2021 FUJITSU LIMITED
Jakarta EE 9 で Optional になった仕様
■Jakarta Enterprise Beans 2.x API group
■Jakarta Enterprise Web Services, JSR 109
20
22. Copyright 2021 FUJITSU LIMITED
Java SE 8から追加されるAPI
■ Jakarta Activation (必須)
■ Jakarta XML Binding (オプショナル)
■ Jakarta XML Web Services (オプショナル)
■ Jakarta Web Services Metadata (オプショナル)
■ Jakarta SOAP with Attachments (オプショナル)
これらのAPIも、javax から jakarta パッケージに変更
21
23. 開発者は、アプリが
新しい名前空間に
移行できるか検証
Copyright 2021 FUJITSU LIMITED
ツーリングリリース
Jakarta EE 10で加速するための基礎作り
ツールベンダーは
新しい「jakarta.*」
名前空間に対応
Jakarta EE 9はビッグバンに対応するためのツーリングリリース
ランタイムベンダーは
Jakarta EE 8
互換サポート機能
の検証
22
31. Copyright 2021 FUJITSU LIMITED
スコープ – Jakarta EE 9.1
■ 仕様は、Jakarta EE 9と同じ
■ Java SE 11 サポートの追加のみ
■ Platform Specification と
Web Profile Specification のみ
APIのアップデートはなし
30
32. Copyright 2021 FUJITSU LIMITED
Java SE 11対応
■ もともと、Jakarta EE 9で、Java SE 11対応予定
■ 2020年6月に、「Java SE 8を必須」、に変更
Java SE 11必須、Java SE 8はオプショナル
TCKの対応が困難
Jakarta EE 9 リリース後、
Jakarta EE 9.1 で速やかにJava SE 11対応
31
33. Copyright 2021 FUJITSU LIMITED
Java SE 11対応
■ API ソースレベル
■ TCK ソースレベル
■target/source レベルは、引き続き、Java SE 8レベル
■API(jarファイル)は、Java SE 8と11の両方で使われる
■TCKはJava SE 8レベルでコンパイル
■一つのTCKバイナリで、Java SE 8と11の両方で、
互換テストに使用できる
32
34. Copyright 2021 FUJITSU LIMITED
互換実装
■ Eclipse GlassFishが候補
■ CI (互換実装)が、どのようにJava SE 11ランタイム
をサポートするかは、ベンダーしだい。
JPMSなど
Jakarta EE 9.1互換のEclipse GlassFishがいつリリース
されるかは、GlassFishコミュニティ次第
33
36. Copyright 2021 FUJITSU LIMITED
Jakarta EE 9.1 APIs
■ PlatformとWebProfileのAPI jarは、再作成
■ 中身は、Jakarta EE 9.0のjarファイルと同じ
■ maven artifact を見やすく、探しやすくするため
35
37. Copyright 2021 FUJITSU LIMITED
アジェンダ
1. Jakarta EE とは
2. Jakarta EE 9
3. Jakarta EE 9.1
4. Jakarta EE 10 and Beyond
5. CN4Jアライアンス
6. 最後に
36
38. Copyright 2021 FUJITSU LIMITED
バージョニング
■基本的にSemantic Versioningに従う
■機能追加は、マイナーバージョンアップ
■非互換がある場合に、メジャーバージョンアップ
Jakarta EE
9.1
Jakarta EE
9.2
Jakarta EE
10.0
Jakarta EE
9.0
Java SE 11対応 機能追加 非互換を伴う機能追加
???
37
40. Copyright 2021 FUJITSU LIMITED
Java SE リリースとの同期
■Java SE 17が2021年リリース予定
■今後、Java SEのアップデートと同期するのか?
Jakarta EE はいつ対応するのか?
39
41. Copyright 2021 FUJITSU LIMITED
CDI Lite
? Jakarta DI
? Jakarta CDI Lite
? Jakarta CDI Core
? Jakarta CDI EE
AOT、Build Time Injectionなどへの対応のためレベル分け
40
42. Copyright 2021 FUJITSU LIMITED
設定の外出し
■クラウド?コンテナ利用時のポータビリティ実現
■MicroProfile Configuration
Build Once, Run Anywhere
MicroProfileの仕様を、どのように
Jakarta EEに取込むか?
41