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