SlideShare a Scribd company logo
1 of 73
Download to read offline
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1
テクニカルオーバービュー
Jakarta EE WG ステアリング委員
数村憲治 @kkzr
2020/02/26
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
AGENDA
2
Jakarta EE 8 までの振返り
Jakarta EE 9 に向けて
Jakarta EE と MicroProfile
最後に
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 3
Jakarta EE 8 までの振返り
4COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4
Javaの歴史
202020152010200520001995
リリース間隔
JDK1.0
J2EE1.2
J2EE1.3 J2EE1.4
JavaEE5
JavaEE6
JavaEE7
JavaEE8
Jakarta EE 8
JDK1.1
JCP設立
MicroProfile
JakartaEE
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5
Java史上 最大の転機
2017年9月、Java EE テクノロジーはEclipse Foundation
に移管 以降、Jakarta EEというブランドで進化続けている
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6
Java EE は、いたるところで稼働
世界の
Java 開発者
のFortune
500社がJava
EEを使っている
の会社が、
アプリケーションの
80%以上をJava
で作っている
Sources: InfoWorld, 2018 Jakarta EE Developer Survey
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7
Java EE を使っている理由トップ 3
Sources: InfoWorld, 2018 Jakarta EE Developer Survey
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8
> クラウドネイティブ
> マルチクラウド
> 迅速なイノベーション
> 投資保護
> オープンな仕様作成プロセス
> ビジネスリスクの緩和
> 開発の最新化
Jakarta EE の優先度
9COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9
Jakarta EE Working Group, an
industry consortium
技術ロードマップ作成 互換性確認
Jakarta EE ブランド周知
仕様承認
コミュニティ形成
ワーキンググループ
業界をリードしていく団体
10COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10
Jakarta EE
Working Group
・ベンダー中心
・ガバナンス・予算
・仕様承認
・マーケティング・ブランド
EE4J
(Eclipse Enterprise for Java)
・開発者中心
・オープンソースコード/TCK
・仕様作成
・アジャイル・イノベーション
11COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11
JAKARTA EE
Fully Open Source Cloud Native Java
2019 Duke’s Choice
Award Winner
> エンタープライズ向けJava技術の
進化とイノベーションをオープンで
ベンダー中立なプロセスで実現
> FullとWebプロファイル仕様、互換
テストセット(TCK)、互換実装を、
オープンソースで提供。
12COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
2019年9月10日、Java団体と開発者をリードする
コミュニティによって、エンタープライズ向けJavaの新しいベースを
オープンでベンダー中立なプロセスによってリリース。
Jakarta EE 8 提供物
Java EE™ 8に
完全互換
オープンな仕様
オープンソースTCK
ライセンスとプロセス
複数の互換実装
Java EE 8と
同等の統合
透明性のある
ブランドプロセス
Jakarta EE 8: Powered by Participation
13COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13
> Jakarta EE 8 は、 Java EE 8の仕様と互換テスト
(TCK)において、完全互換
javax名前空間と同じAPIとJavadocを使用
Java EE 8で規定された動作と同じ
javax APIを使ったJava EE 8アプリケーションは変更
不要でJakarta EE 8で動作可能
Java EE 8のTCKをパスした実装は、Jakarta EE 8
のTCKもパスする
Java EE 8 完全互換
14COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
オープンな仕様
14
Jakarta EE Specification Process
コードファースト開発を実現するオープンソース仕様プロセス
Java EEに対するJCPの後継
15COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15
仕様が先
(Specification First)
コードが先
(Code First)
スペックリード主導 共同作業
標準となる1つだけの参照実装
(Reference Impl)
1つ以上の互換実装
(Compatible Impl)
Oracleによる互換認証プロセス 自己認証プロセス
ドキュメントとTCKは、
クローズドソース
ドキュメントとTCKは、
オープンソース
オープンな仕様
16COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16
透明性
> Jakarta EE 互換実装製品に対するオープンな
認証プロセス
> これまでより低コストでゆるやかなJakarta EE商標ライセンス
> たくさんの技術提供者が、エンタープライズJavaコミュニティの
中でJakarta EEブランドをけん引
オープンソース TCK ライセンス と プロセス
オープン 負荷分散 ベンダー中立
と継続性
17COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
互換実装
17
> Jakarta EE 8 (Full/Webプロファイル)互換実装:
リリースと同時に, Eclipse GlassFish, Open Liberty
(IBM), and WildFly (Red Hat) が互換実装として認定
Fujitsu, Oracle, Payara, Red Hat, Tomitribe, その他の
Jakarta EE ワーキンググループメンバーの製品もJakarta EE 8
互換実装製品の提供を予定
Java EE 8 互換製品は Jakarta EE 8 互換
18COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18
Strategic Members
Participating Members
Java 業界リーダーによるサポート
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19
Jakarta EE 9 に向けて
20COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20
本日お話しすることには
未確定事項が含まれています。
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21
> 安定性と互換性
> イノベーションに対してオープン
> Jakarta EE TCKの分割
> JPMS
> 標準的なMavenビルドシステム
> 古い技術の非推奨
> リリース期間の短縮
> テストにフォーカス
> 仕様とドキュメントの標準化
技術的方向性
22COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22
Java EE 8GlassFish 5.0
Java EE 8Eclipse GlassFish 5.1
Jakarta EE 8Eclipse GlassFish 5.1
Jakarta EE 9Eclipse GlassFish 6.0
● 新しい名前空間
● Java SE 11
● 古い仕様の削除
Jakarta EE と GlassFish
....
● javax 名前空間
● 新しいプロセス
● 新しいライセンス
● 新しいロゴ
23COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23
> CDI Alignment
> Modularity
> MicroProfile, Microservices
> Cloud native deployments
> Reactive streams
> Java 11
Jakarta EE 9 希望リスト
24COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24
プラットフォームプロジェクト
各仕様プロジェクト
方向性の決定
プランの作成
仕様の作成
Jakarta EEワーキンググループ
EE4Jプロジェクト
Jakarta EE 9 役割
承認
仕様委員会委任
ステコミ(Steering Committee)
25COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25
https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee9/JakartaEE9ReleasePlan
機能はJakarta EE 8に同じ
名前空間を「jakarta.*」に変更
古いAPIの削除・オプション化
Jakarta EE 9リリースプラン
26COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
ツールベンダーは、新しい「jakarta.*」名前空間に対応
開発者は、アプリが新しい名前空間に移行できるか検証
ランタイムベンダーは、Jakarta EE 8互換サポート機能
の検証
Jakarta EE 10で加速するための基礎作り
26
ツーリング リリース
27COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27
APIパッケージ名のトップレベルをjavaxからjakartaに変更
javaxは、APIを変更しない場合に限って使用可能
この制約により、Jakarta EE 8では機能追加がなかった
Jakarta EEに機能追加するためには、javaxを使わない
ビッグバン v.s. インクリメンタル
ビッグバン: すべてのAPIパッケージが対象
インクリメンタル: 機能追加するものだけが対象
名前空間の変更
採用
28COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28
Jakarta EE 8/Java EE 8以前のアプリは動くのか?
名前空間の変更による影響
?
バイナリ互換 ソース互換
ランタイム製品による対応 IDE他ツールによる対応
実装製品は実行時に
パッケージ名を変換する
仕組みを提供することを推奨
Jakarta EE 8ビルド環境を
使用するか、jakarta名前
空間へのソース変更
29COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 29
Jakarta EE 8仕様で作成したアプリケーション(バイナリ)を、
Jakarta EE 9ランタイムで動かしたい。
製品が提供するバイナリ互換機能により、そのまま動作可能
変更するソースはJakarta EE 10のAPI jarを使い、
変更しないソースはJakarta EE 8のAPI jarを使いビルド
Jakarta EE 8仕様で作成したアプリケーションを、
Jakarta EE 10の機能を一部使って変更。
(すべてJakarta EE 10のAPI jarでビルドも可)
名前空間の変更 – ケーススタディ
30COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
各APIはJava SE 8ソースレベルでコンパイル
Java SE 8での動作は任意
30
Java SE バージョン
WebプロファイルとFullプロファイルの互換実装は、
Java SE 11で動作しなければならない
31COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 31
各仕様のバージョンは、メジャー番号を上げる
例: JPA 2.x → 3.0
機能追加はないけど、名前空間の変更のため
Maven artifact なども
仕様バージョン
32COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 32
Jakarta XML Registries
Jakarta XML RPC
Jakarta Deployment
Jakarta Management
(注) Optional Features でない方
Jakarta Stable API プロジェクト仕様
Support for Distributed Interoperability
Jakarta Enterprise Beans Core Contracts and
Requirements (注)
Jakarta EE 9 で削除される仕様 (pruning)
33COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 33
Java SE 11での削除機能だがリリースプランに明確な記載なし
RMI-IIOPは必要か?
削除されるEJB InteroperabilityはRMI-IIOPに依存
EJBリモートは削除されないので
ORBが必要かどうかはEJBリモートの実装しだい
例:WebLogicはT3プロトコルも提供
RMI-IIOP
34COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 34
仕様からの削除
古いAPIを仕様から削除することで、
新規参入障壁を軽減
仕様から削除された仕様を製品として
提供するかはベンダー次第
Pruning
提供されない
35COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 35
Jakarta Activation (必須)
Jakarta XML Binding (オプショナル)
Jakarta XML Web Services (オプショナル)
Jakarta Web Services Metadata (オプショナル)
Jakarta SOAP with Attachments (オプショナル)
これらのAPIも、javax から jakarta パッケージに変更
Java SE 8から追加されるAPI
36COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 36
各APIは、複雑な依存関係
8段階に分けて提供
依存されているAPI
Maven CentralへRC版を登録
依存しているAPI
Maven Centralに登録されている
RC版を使ってビルド
繰り返し
Jakarta EE 9 Waves
37COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 37
Jakarta EE 依存関係 https://www.eclipse.org/lists/jakartaee-spec-project-leads/png5VaauMN_LW.png
38COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 38
Jakarta EE 9 Waves
依存関係なし
Web Services Metadata
Messaging
Concurrency
Persistence
Annotations
Managed Beans
Wave 1
Servlet
Expression Language
Dependency Injection
Bean Validation
JSON Processing
WebSocket
SAOAP with Attachments
Activation
Interceptors
39COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 39
Jakarta EE 9 Waves
Wave 2
XML Binding
JSON Binding
Authentication
Server Pages
Mail
Debugging Support
for Other Languages
Wave 3
XML Web Services
Contexts and
Dependency Injection
Wave 4
Transactions
RESTful Web
Services
Batch
40COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 40
Jakarta EE 9 Waves
Wave 5
Enterprise Beans
Standard Tag Library
Connectors
Wave 6
Security
Wave 7
Jakarta EE 9
Full Platform
Server Faces
Jakarta EE 9
Web Profile
41COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 41
スケジュール
2月 3月 4月 5月 6月
1 8 15 22 29 7 14 21 28 4 11 18 25 2 9 16 23 30 6 13 20 27
2月1日 各コンポーネントのプランレビュー
2月14日 すべてのAPI jarの提供
3月13日プラットフォームTCK完成
5月4日
Full/Webプロファイル RC
Full/Webプロファイル リリースレビュー開始 6月12日
42COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 42
https://github.com/orgs/eclipse-ee4j/projects/17
現在の状況
43COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 43
Jakarta EE 9 その他の修正(リリースプランにない話)
@Repeatable
Java EE 8で付け忘れていたものは追加
可能
@Deprecated 非推奨・削除予定のAPIに付けるのは可
44COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 44
Jakarta EE 9 その他の修正(リリースプランにない話)
プロパティ名
javaxで始まるプロパティは、jakartaに変更する
ランタイムによっては、javaxとjakartaの両方を
サポートするかも。
ジェネリクス
修正可能にするかどうか、検討中
Jakarta Authenticationで修正要望あり
例: Map → Map<String, String>
45COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 45
各仕様プロジェクトは任意のリリース間隔で出せるべき。
長い間隔は必ずしもネガティブではない。安定性も大事。
コミュニティに聞いてみる。
リリース間隔を改善する文書を作成し、フィードバックを
もらう。
リリース間隔(ステコミでの議論)
46COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 46
スキーマのURLは変更するのか・しなければならないのか?
Jakarta EE 8/Java EE 8以前は、JCPのURLを使用。
スキーマ (リリースプランにない話)
◼ http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd
◼ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd
Java EE 8の例
◼ http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd
◼ http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd
Java EE 7の例
47COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 47
スキーマのURLは変更するのか・しなければならないのか?
Jakarta EE 8以前のスキーマはオプショナルとする
スキーマ (プラットフォームプロジェクトでの議論)
?
採用
案1
Jakarta EE 8以前のスキーマは必須とする案2
Jakarta EE 8のスキーマは必須、
それ以前はオプショナルとする
案3
48COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 48
互換性は重要。Java EEからの継続方針。
2020/Q1に互換性ポリシーのドラフト作成
コミュニティでの議論
ステコミでのアクション
Jakarta EE 10以降では非互換なし。
(OpenJDKのような)インキュベーションモデルは?
互換性 - backward compatibility
49COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 49
Jakarta EE 10に備えて、ツールの整備
ツール
テストツール
モニタリングツール
移植ツール
IDE
Jakarta EE 9 ツーリングリリース
50COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 50
Eclipse WTP(*)
• Eclipse Che
• Eclipse Desktop
• NetBeans
• IntelliJ
• VS Code
2020/Q4 にJakarta EE 9とJakarta EE 10
をサポート目標
(*) Web Tooling Platform
主要IDEに期待
サポート予定
IDE
51COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 51
https://github.com/bjhargrave/transformer
パッケージトランスフォーマー
Apache Tomcat migration tool for Jakarta EE
https://github.com/apache/tomcat-jakartaee-migration
移植ツール
52COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 52
クラス内で使用されているパッケージ名の変更
APIとコマンドラインI/F
javax → jakarta
任意のルールも設定可能
クラスローダーからの使用可能(実行時に変換)
コマンドラインI/F
jar/war/classが対象
パッケージトランスフォーマー
53COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 53
時間があれば
この時点で残り20分ならOK
デモ
54COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 54
2020/Q3
2020/Q2
2020/Q4
・ 内容とターゲット日の作成
・ リリースモデルの作成(間隔とかタイムベースとか)
リリースプラン詳細の作成
リリース
Jakarta EE 10
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 55
Jakarta EE と MicroProfile
56COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 56
本日お話しすることには
未確定事項が含まれています。
57COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 57
> 信頼性、可用性、スケーラビリティ、
性能を持つエンタープライズ向け
アプリケーションの走行を目的
> 複数のMicroProfileランタイム間での
アプリケーションのポータビリティを提供
> 既存のJava EE技術者のスキルを
有効活用
ECLIPSE
MICROPROFILE
Specifications for enterprise Java
microservices
58COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
MicroProfile 実装とプロジェクト
58
● Red Hat - Quarkus
● Red Hat - Thorntail
● Red Hat - Red Hat Application Runtimes
● IBM - WebSphere Liberty
● IBM - Open Liberty
● Payara - Payara Micro
● Payara - Payara Server
● Tomitribe - TomEE
● Oracle - Helidon
● Fujitsu - Launcher
● SmallRye
● Hammock
● KumuluzEE
59COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
MicroProfile 3.2 リリース
59
: 更新:新規
JAX-RS 2.1JSON-P 1.1CDI 2.0
Config 1.3
Fault
Tolerance 2.0
JWT
Propagation 1.1
Health
Check 2.1
Metrics 2.2
Open Tracing
1.3
Open API 1.1
Rest Client 1.3
JSON-B 1.0
: MicroProfile 3.1から変更なし
Eclipse MicroProfile 仕様
60COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 60
オープンで、最良のクラウドネイティブ技術とともに、
JavaとJakarta EEを使う
クラウドネイティブJavaに対する新しいビジョン
61COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 61
Eclipse Foundation
ベンダーコントリビューター
Jakarta EE
ワーキンググループ
MicroProfile
コミュニティ
ステークホルダー
IPフロー
技術的融合 ガバナンス
(予算・仕様)
62COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 62
コントリビューター
参照
特許特許
実装品
実装
このダウンストリームラインセンスは、
ASLやEPLではカバーされていない
IPフロー
仕様
特許
実装者
63COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 63
Jakarta EEでは以下の4つでカバー
Eclipse Foundation Specification License
Participation Agreement
Eclipse Foundation TCK License
IP Policy
現在のMicroProfileのプロセスでは問題あり
仕様ライセンス
64COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 64
MicroProifleは標準化団体か?
標準化団体とは
NO
ISO、OASIS、W3C、、、
MicroProfile設立時には、「仕様策定はJCP等で行う」
と言っていた。
今のMicroProfile仕様は?
仕様の標準化
65COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 65
予算・メンバーシップを統一
それぞれの委員会を設置
Jakarta EEワーキンググループ
ステアリング委員会
仕様委員会
マーケティング委員会
CN4Jワーキンググループ
ステアリング委員会
Jakarta EE 仕様委員会
Jakarta EE マーケティング委員会
MicroProfile 仕様委員会
MicroProfile マーケティング委員会
ワーキンググループの統合(案)
66COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 66
パッケージ名
互換性
MicroProfileは、org.eclipse.microprofile
Jakarta EEは、jakarta (注)
MicroProfileは、非互換を許容、メジャーアップで対応
Jakarta EEは、非互換なしのポリシー
(注)jakartaでなければならないことはない
主な技術的課題
67COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 67
Innovations Graduate to Jakarta
APIをjakarta名前空間に変更
https://github.com/eclipse/microprofile-sandbox/blob/71db5e6cc710ef8d4968195527af13b4f1207077/proposals/techical-
alignment/proposal-specifications-graduation-to-jakarta.adoc
ベンダーはオプションとして、org.eclipse.microprofile
パッケージを互換として提供してもよい
一旦Jakartaに提供されたものは、Githubリポジトリを凍結
技術アライメント(提案)
68COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Pullモデル Pushモデル
68
MicroProfileは、Pullモデルを提案中
ダウンストリームを気にせず
一方的に作る
Pullモデル と Pushモデル (最近の議論)
成熟したものをJakarta
EEへ提供
69COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 69
ダウンストリームを気にせず一方的に作る
作成 pull
・パッケージ名
・互換性
・ライフサイクル
Pullモデル
MicroProfile 利用者
仕様
70COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 70
成熟したものをJakarta EEへ提供
作成
push
・パッケージ名
・互換性
・ライフサイクル
Pushモデル
MicroProfile 利用者
incubation
仕様
仕様
成熟
graduation
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 71
最後に
72COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 72
Jakarta EE へ参加しましょう
https://wiki.eclipse.org/How_To_Contribute
仕様、ソースコード、TCK、Webサイトなど
様々な形で参加可能
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73
Thank
you!

More Related Content

What's hot

Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugYuji Kubota
 
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」Hiroyuki Ohnaka
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方Takahiro YAMADA
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Hirofumi Iwasaki
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Hiroyuki Wada
 
LL2021 Java update
LL2021 Java updateLL2021 Java update
LL2021 Java updatetorutk
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてShigeru Tatsuta
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM LoggingYuji Kubota
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTYuji Kubota
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoTakahiro YAMADA
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpNorito Agetsuma
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)NTT DATA OSS Professional Services
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
 
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugJDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugYuji Kubota
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Yuji Kubota
 

What's hot (20)

Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
 
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 
LL2021 Java update
LL2021 Java updateLL2021 Java update
LL2021 Java update
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM Logging
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
 
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugJDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjug
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?
 

Similar to JakartaOne Livestream Japan 2020

Oracle Cloud Infrastructure:2021年6月度サービス・アップデート
Oracle Cloud Infrastructure:2021年6月度サービス・アップデートOracle Cloud Infrastructure:2021年6月度サービス・アップデート
Oracle Cloud Infrastructure:2021年6月度サービス・アップデートオラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2021年3月度サービス・アップデート
Oracle Cloud Infrastructure:2021年3月度サービス・アップデートOracle Cloud Infrastructure:2021年3月度サービス・アップデート
Oracle Cloud Infrastructure:2021年3月度サービス・アップデートオラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートオラクルエンジニア通信
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Hirofumi Iwasaki
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Kazushi Kamegawa
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートオラクルエンジニア通信
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011Masahito Zembutsu
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートオラクルエンジニア通信
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on AzureYoshio Terada
 
Oracle Cloud Infrastructure:2021年4月度サービス・アップデート
Oracle Cloud Infrastructure:2021年4月度サービス・アップデートOracle Cloud Infrastructure:2021年4月度サービス・アップデート
Oracle Cloud Infrastructure:2021年4月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートオラクルエンジニア通信
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストAtsuhiro Kubo
 

Similar to JakartaOne Livestream Japan 2020 (20)

Oracle Cloud Infrastructure:2021年6月度サービス・アップデート
Oracle Cloud Infrastructure:2021年6月度サービス・アップデートOracle Cloud Infrastructure:2021年6月度サービス・アップデート
Oracle Cloud Infrastructure:2021年6月度サービス・アップデート
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
 
Oracle Cloud Infrastructure:2021年3月度サービス・アップデート
Oracle Cloud Infrastructure:2021年3月度サービス・アップデートOracle Cloud Infrastructure:2021年3月度サービス・アップデート
Oracle Cloud Infrastructure:2021年3月度サービス・アップデート
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
 
Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
JDK: 新しいリリースモデル解説
JDK: 新しいリリースモデル解説JDK: 新しいリリースモデル解説
JDK: 新しいリリースモデル解説
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
Oracle Cloud Infrastructure:2021年4月度サービス・アップデート
Oracle Cloud Infrastructure:2021年4月度サービス・アップデートOracle Cloud Infrastructure:2021年4月度サービス・アップデート
Oracle Cloud Infrastructure:2021年4月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
 
第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
 

More from Kenji Kazumura

GCを発生させないJVMとコーディングスタイル
GCを発生させないJVMとコーディングスタイルGCを発生させないJVMとコーディングスタイル
GCを発生させないJVMとコーディングスタイルKenji Kazumura
 
Microprofileでエンタープライズ品質
Microprofileでエンタープライズ品質Microprofileでエンタープライズ品質
Microprofileでエンタープライズ品質Kenji Kazumura
 
Challenge for GlassFish Builpack
Challenge for GlassFish BuilpackChallenge for GlassFish Builpack
Challenge for GlassFish BuilpackKenji Kazumura
 
Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = JavaデバッガKenji Kazumura
 
JavaDayTokyo2015 [3-1]
JavaDayTokyo2015 [3-1]JavaDayTokyo2015 [3-1]
JavaDayTokyo2015 [3-1]Kenji Kazumura
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うKenji Kazumura
 

More from Kenji Kazumura (7)

GCを発生させないJVMとコーディングスタイル
GCを発生させないJVMとコーディングスタイルGCを発生させないJVMとコーディングスタイル
GCを発生させないJVMとコーディングスタイル
 
Microprofileでエンタープライズ品質
Microprofileでエンタープライズ品質Microprofileでエンタープライズ品質
Microprofileでエンタープライズ品質
 
CPUから見たG1GC
CPUから見たG1GCCPUから見たG1GC
CPUから見たG1GC
 
Challenge for GlassFish Builpack
Challenge for GlassFish BuilpackChallenge for GlassFish Builpack
Challenge for GlassFish Builpack
 
Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = Javaデバッガ
 
JavaDayTokyo2015 [3-1]
JavaDayTokyo2015 [3-1]JavaDayTokyo2015 [3-1]
JavaDayTokyo2015 [3-1]
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使う
 

JakartaOne Livestream Japan 2020

  • 1. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1 テクニカルオーバービュー Jakarta EE WG ステアリング委員 数村憲治 @kkzr 2020/02/26
  • 2. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) AGENDA 2 Jakarta EE 8 までの振返り Jakarta EE 9 に向けて Jakarta EE と MicroProfile 最後に
  • 3. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 3 Jakarta EE 8 までの振返り
  • 4. 4COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4 Javaの歴史 202020152010200520001995 リリース間隔 JDK1.0 J2EE1.2 J2EE1.3 J2EE1.4 JavaEE5 JavaEE6 JavaEE7 JavaEE8 Jakarta EE 8 JDK1.1 JCP設立 MicroProfile JakartaEE
  • 5. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5 Java史上 最大の転機 2017年9月、Java EE テクノロジーはEclipse Foundation に移管 以降、Jakarta EEというブランドで進化続けている
  • 6. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6 Java EE は、いたるところで稼働 世界の Java 開発者 のFortune 500社がJava EEを使っている の会社が、 アプリケーションの 80%以上をJava で作っている Sources: InfoWorld, 2018 Jakarta EE Developer Survey
  • 7. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7 Java EE を使っている理由トップ 3 Sources: InfoWorld, 2018 Jakarta EE Developer Survey
  • 8. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8 > クラウドネイティブ > マルチクラウド > 迅速なイノベーション > 投資保護 > オープンな仕様作成プロセス > ビジネスリスクの緩和 > 開発の最新化 Jakarta EE の優先度
  • 9. 9COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9 Jakarta EE Working Group, an industry consortium 技術ロードマップ作成 互換性確認 Jakarta EE ブランド周知 仕様承認 コミュニティ形成 ワーキンググループ 業界をリードしていく団体
  • 10. 10COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10 Jakarta EE Working Group ・ベンダー中心 ・ガバナンス・予算 ・仕様承認 ・マーケティング・ブランド EE4J (Eclipse Enterprise for Java) ・開発者中心 ・オープンソースコード/TCK ・仕様作成 ・アジャイル・イノベーション
  • 11. 11COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11 JAKARTA EE Fully Open Source Cloud Native Java 2019 Duke’s Choice Award Winner > エンタープライズ向けJava技術の 進化とイノベーションをオープンで ベンダー中立なプロセスで実現 > FullとWebプロファイル仕様、互換 テストセット(TCK)、互換実装を、 オープンソースで提供。
  • 12. 12COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12 2019年9月10日、Java団体と開発者をリードする コミュニティによって、エンタープライズ向けJavaの新しいベースを オープンでベンダー中立なプロセスによってリリース。 Jakarta EE 8 提供物 Java EE™ 8に 完全互換 オープンな仕様 オープンソースTCK ライセンスとプロセス 複数の互換実装 Java EE 8と 同等の統合 透明性のある ブランドプロセス Jakarta EE 8: Powered by Participation
  • 13. 13COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13 > Jakarta EE 8 は、 Java EE 8の仕様と互換テスト (TCK)において、完全互換 javax名前空間と同じAPIとJavadocを使用 Java EE 8で規定された動作と同じ javax APIを使ったJava EE 8アプリケーションは変更 不要でJakarta EE 8で動作可能 Java EE 8のTCKをパスした実装は、Jakarta EE 8 のTCKもパスする Java EE 8 完全互換
  • 14. 14COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) オープンな仕様 14 Jakarta EE Specification Process コードファースト開発を実現するオープンソース仕様プロセス Java EEに対するJCPの後継
  • 15. 15COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15 仕様が先 (Specification First) コードが先 (Code First) スペックリード主導 共同作業 標準となる1つだけの参照実装 (Reference Impl) 1つ以上の互換実装 (Compatible Impl) Oracleによる互換認証プロセス 自己認証プロセス ドキュメントとTCKは、 クローズドソース ドキュメントとTCKは、 オープンソース オープンな仕様
  • 16. 16COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16 透明性 > Jakarta EE 互換実装製品に対するオープンな 認証プロセス > これまでより低コストでゆるやかなJakarta EE商標ライセンス > たくさんの技術提供者が、エンタープライズJavaコミュニティの 中でJakarta EEブランドをけん引 オープンソース TCK ライセンス と プロセス オープン 負荷分散 ベンダー中立 と継続性
  • 17. 17COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 互換実装 17 > Jakarta EE 8 (Full/Webプロファイル)互換実装: リリースと同時に, Eclipse GlassFish, Open Liberty (IBM), and WildFly (Red Hat) が互換実装として認定 Fujitsu, Oracle, Payara, Red Hat, Tomitribe, その他の Jakarta EE ワーキンググループメンバーの製品もJakarta EE 8 互換実装製品の提供を予定 Java EE 8 互換製品は Jakarta EE 8 互換
  • 18. 18COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18 Strategic Members Participating Members Java 業界リーダーによるサポート
  • 19. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19 Jakarta EE 9 に向けて
  • 20. 20COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20 本日お話しすることには 未確定事項が含まれています。
  • 21. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21 > 安定性と互換性 > イノベーションに対してオープン > Jakarta EE TCKの分割 > JPMS > 標準的なMavenビルドシステム > 古い技術の非推奨 > リリース期間の短縮 > テストにフォーカス > 仕様とドキュメントの標準化 技術的方向性
  • 22. 22COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22 Java EE 8GlassFish 5.0 Java EE 8Eclipse GlassFish 5.1 Jakarta EE 8Eclipse GlassFish 5.1 Jakarta EE 9Eclipse GlassFish 6.0 ● 新しい名前空間 ● Java SE 11 ● 古い仕様の削除 Jakarta EE と GlassFish .... ● javax 名前空間 ● 新しいプロセス ● 新しいライセンス ● 新しいロゴ
  • 23. 23COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23 > CDI Alignment > Modularity > MicroProfile, Microservices > Cloud native deployments > Reactive streams > Java 11 Jakarta EE 9 希望リスト
  • 24. 24COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24 プラットフォームプロジェクト 各仕様プロジェクト 方向性の決定 プランの作成 仕様の作成 Jakarta EEワーキンググループ EE4Jプロジェクト Jakarta EE 9 役割 承認 仕様委員会委任 ステコミ(Steering Committee)
  • 25. 25COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25 https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee9/JakartaEE9ReleasePlan 機能はJakarta EE 8に同じ 名前空間を「jakarta.*」に変更 古いAPIの削除・オプション化 Jakarta EE 9リリースプラン
  • 26. 26COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) ツールベンダーは、新しい「jakarta.*」名前空間に対応 開発者は、アプリが新しい名前空間に移行できるか検証 ランタイムベンダーは、Jakarta EE 8互換サポート機能 の検証 Jakarta EE 10で加速するための基礎作り 26 ツーリング リリース
  • 27. 27COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27 APIパッケージ名のトップレベルをjavaxからjakartaに変更 javaxは、APIを変更しない場合に限って使用可能 この制約により、Jakarta EE 8では機能追加がなかった Jakarta EEに機能追加するためには、javaxを使わない ビッグバン v.s. インクリメンタル ビッグバン: すべてのAPIパッケージが対象 インクリメンタル: 機能追加するものだけが対象 名前空間の変更 採用
  • 28. 28COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28 Jakarta EE 8/Java EE 8以前のアプリは動くのか? 名前空間の変更による影響 ? バイナリ互換 ソース互換 ランタイム製品による対応 IDE他ツールによる対応 実装製品は実行時に パッケージ名を変換する 仕組みを提供することを推奨 Jakarta EE 8ビルド環境を 使用するか、jakarta名前 空間へのソース変更
  • 29. 29COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 29 Jakarta EE 8仕様で作成したアプリケーション(バイナリ)を、 Jakarta EE 9ランタイムで動かしたい。 製品が提供するバイナリ互換機能により、そのまま動作可能 変更するソースはJakarta EE 10のAPI jarを使い、 変更しないソースはJakarta EE 8のAPI jarを使いビルド Jakarta EE 8仕様で作成したアプリケーションを、 Jakarta EE 10の機能を一部使って変更。 (すべてJakarta EE 10のAPI jarでビルドも可) 名前空間の変更 – ケーススタディ
  • 30. 30COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 各APIはJava SE 8ソースレベルでコンパイル Java SE 8での動作は任意 30 Java SE バージョン WebプロファイルとFullプロファイルの互換実装は、 Java SE 11で動作しなければならない
  • 31. 31COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 31 各仕様のバージョンは、メジャー番号を上げる 例: JPA 2.x → 3.0 機能追加はないけど、名前空間の変更のため Maven artifact なども 仕様バージョン
  • 32. 32COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 32 Jakarta XML Registries Jakarta XML RPC Jakarta Deployment Jakarta Management (注) Optional Features でない方 Jakarta Stable API プロジェクト仕様 Support for Distributed Interoperability Jakarta Enterprise Beans Core Contracts and Requirements (注) Jakarta EE 9 で削除される仕様 (pruning)
  • 33. 33COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 33 Java SE 11での削除機能だがリリースプランに明確な記載なし RMI-IIOPは必要か? 削除されるEJB InteroperabilityはRMI-IIOPに依存 EJBリモートは削除されないので ORBが必要かどうかはEJBリモートの実装しだい 例:WebLogicはT3プロトコルも提供 RMI-IIOP
  • 34. 34COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 34 仕様からの削除 古いAPIを仕様から削除することで、 新規参入障壁を軽減 仕様から削除された仕様を製品として 提供するかはベンダー次第 Pruning 提供されない
  • 35. 35COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 35 Jakarta Activation (必須) Jakarta XML Binding (オプショナル) Jakarta XML Web Services (オプショナル) Jakarta Web Services Metadata (オプショナル) Jakarta SOAP with Attachments (オプショナル) これらのAPIも、javax から jakarta パッケージに変更 Java SE 8から追加されるAPI
  • 36. 36COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 36 各APIは、複雑な依存関係 8段階に分けて提供 依存されているAPI Maven CentralへRC版を登録 依存しているAPI Maven Centralに登録されている RC版を使ってビルド 繰り返し Jakarta EE 9 Waves
  • 37. 37COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 37 Jakarta EE 依存関係 https://www.eclipse.org/lists/jakartaee-spec-project-leads/png5VaauMN_LW.png
  • 38. 38COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 38 Jakarta EE 9 Waves 依存関係なし Web Services Metadata Messaging Concurrency Persistence Annotations Managed Beans Wave 1 Servlet Expression Language Dependency Injection Bean Validation JSON Processing WebSocket SAOAP with Attachments Activation Interceptors
  • 39. 39COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 39 Jakarta EE 9 Waves Wave 2 XML Binding JSON Binding Authentication Server Pages Mail Debugging Support for Other Languages Wave 3 XML Web Services Contexts and Dependency Injection Wave 4 Transactions RESTful Web Services Batch
  • 40. 40COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 40 Jakarta EE 9 Waves Wave 5 Enterprise Beans Standard Tag Library Connectors Wave 6 Security Wave 7 Jakarta EE 9 Full Platform Server Faces Jakarta EE 9 Web Profile
  • 41. 41COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 41 スケジュール 2月 3月 4月 5月 6月 1 8 15 22 29 7 14 21 28 4 11 18 25 2 9 16 23 30 6 13 20 27 2月1日 各コンポーネントのプランレビュー 2月14日 すべてのAPI jarの提供 3月13日プラットフォームTCK完成 5月4日 Full/Webプロファイル RC Full/Webプロファイル リリースレビュー開始 6月12日
  • 42. 42COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 42 https://github.com/orgs/eclipse-ee4j/projects/17 現在の状況
  • 43. 43COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 43 Jakarta EE 9 その他の修正(リリースプランにない話) @Repeatable Java EE 8で付け忘れていたものは追加 可能 @Deprecated 非推奨・削除予定のAPIに付けるのは可
  • 44. 44COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 44 Jakarta EE 9 その他の修正(リリースプランにない話) プロパティ名 javaxで始まるプロパティは、jakartaに変更する ランタイムによっては、javaxとjakartaの両方を サポートするかも。 ジェネリクス 修正可能にするかどうか、検討中 Jakarta Authenticationで修正要望あり 例: Map → Map<String, String>
  • 45. 45COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 45 各仕様プロジェクトは任意のリリース間隔で出せるべき。 長い間隔は必ずしもネガティブではない。安定性も大事。 コミュニティに聞いてみる。 リリース間隔を改善する文書を作成し、フィードバックを もらう。 リリース間隔(ステコミでの議論)
  • 46. 46COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 46 スキーマのURLは変更するのか・しなければならないのか? Jakarta EE 8/Java EE 8以前は、JCPのURLを使用。 スキーマ (リリースプランにない話) ◼ http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd ◼ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd Java EE 8の例 ◼ http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd ◼ http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd Java EE 7の例
  • 47. 47COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 47 スキーマのURLは変更するのか・しなければならないのか? Jakarta EE 8以前のスキーマはオプショナルとする スキーマ (プラットフォームプロジェクトでの議論) ? 採用 案1 Jakarta EE 8以前のスキーマは必須とする案2 Jakarta EE 8のスキーマは必須、 それ以前はオプショナルとする 案3
  • 48. 48COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 48 互換性は重要。Java EEからの継続方針。 2020/Q1に互換性ポリシーのドラフト作成 コミュニティでの議論 ステコミでのアクション Jakarta EE 10以降では非互換なし。 (OpenJDKのような)インキュベーションモデルは? 互換性 - backward compatibility
  • 49. 49COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 49 Jakarta EE 10に備えて、ツールの整備 ツール テストツール モニタリングツール 移植ツール IDE Jakarta EE 9 ツーリングリリース
  • 50. 50COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 50 Eclipse WTP(*) • Eclipse Che • Eclipse Desktop • NetBeans • IntelliJ • VS Code 2020/Q4 にJakarta EE 9とJakarta EE 10 をサポート目標 (*) Web Tooling Platform 主要IDEに期待 サポート予定 IDE
  • 51. 51COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 51 https://github.com/bjhargrave/transformer パッケージトランスフォーマー Apache Tomcat migration tool for Jakarta EE https://github.com/apache/tomcat-jakartaee-migration 移植ツール
  • 52. 52COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 52 クラス内で使用されているパッケージ名の変更 APIとコマンドラインI/F javax → jakarta 任意のルールも設定可能 クラスローダーからの使用可能(実行時に変換) コマンドラインI/F jar/war/classが対象 パッケージトランスフォーマー
  • 53. 53COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 53 時間があれば この時点で残り20分ならOK デモ
  • 54. 54COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 54 2020/Q3 2020/Q2 2020/Q4 ・ 内容とターゲット日の作成 ・ リリースモデルの作成(間隔とかタイムベースとか) リリースプラン詳細の作成 リリース Jakarta EE 10
  • 55. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 55 Jakarta EE と MicroProfile
  • 56. 56COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 56 本日お話しすることには 未確定事項が含まれています。
  • 57. 57COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 57 > 信頼性、可用性、スケーラビリティ、 性能を持つエンタープライズ向け アプリケーションの走行を目的 > 複数のMicroProfileランタイム間での アプリケーションのポータビリティを提供 > 既存のJava EE技術者のスキルを 有効活用 ECLIPSE MICROPROFILE Specifications for enterprise Java microservices
  • 58. 58COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) MicroProfile 実装とプロジェクト 58 ● Red Hat - Quarkus ● Red Hat - Thorntail ● Red Hat - Red Hat Application Runtimes ● IBM - WebSphere Liberty ● IBM - Open Liberty ● Payara - Payara Micro ● Payara - Payara Server ● Tomitribe - TomEE ● Oracle - Helidon ● Fujitsu - Launcher ● SmallRye ● Hammock ● KumuluzEE
  • 59. 59COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) MicroProfile 3.2 リリース 59 : 更新:新規 JAX-RS 2.1JSON-P 1.1CDI 2.0 Config 1.3 Fault Tolerance 2.0 JWT Propagation 1.1 Health Check 2.1 Metrics 2.2 Open Tracing 1.3 Open API 1.1 Rest Client 1.3 JSON-B 1.0 : MicroProfile 3.1から変更なし Eclipse MicroProfile 仕様
  • 60. 60COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 60 オープンで、最良のクラウドネイティブ技術とともに、 JavaとJakarta EEを使う クラウドネイティブJavaに対する新しいビジョン
  • 61. 61COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 61 Eclipse Foundation ベンダーコントリビューター Jakarta EE ワーキンググループ MicroProfile コミュニティ ステークホルダー IPフロー 技術的融合 ガバナンス (予算・仕様)
  • 62. 62COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 62 コントリビューター 参照 特許特許 実装品 実装 このダウンストリームラインセンスは、 ASLやEPLではカバーされていない IPフロー 仕様 特許 実装者
  • 63. 63COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 63 Jakarta EEでは以下の4つでカバー Eclipse Foundation Specification License Participation Agreement Eclipse Foundation TCK License IP Policy 現在のMicroProfileのプロセスでは問題あり 仕様ライセンス
  • 64. 64COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 64 MicroProifleは標準化団体か? 標準化団体とは NO ISO、OASIS、W3C、、、 MicroProfile設立時には、「仕様策定はJCP等で行う」 と言っていた。 今のMicroProfile仕様は? 仕様の標準化
  • 65. 65COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 65 予算・メンバーシップを統一 それぞれの委員会を設置 Jakarta EEワーキンググループ ステアリング委員会 仕様委員会 マーケティング委員会 CN4Jワーキンググループ ステアリング委員会 Jakarta EE 仕様委員会 Jakarta EE マーケティング委員会 MicroProfile 仕様委員会 MicroProfile マーケティング委員会 ワーキンググループの統合(案)
  • 66. 66COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 66 パッケージ名 互換性 MicroProfileは、org.eclipse.microprofile Jakarta EEは、jakarta (注) MicroProfileは、非互換を許容、メジャーアップで対応 Jakarta EEは、非互換なしのポリシー (注)jakartaでなければならないことはない 主な技術的課題
  • 67. 67COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 67 Innovations Graduate to Jakarta APIをjakarta名前空間に変更 https://github.com/eclipse/microprofile-sandbox/blob/71db5e6cc710ef8d4968195527af13b4f1207077/proposals/techical- alignment/proposal-specifications-graduation-to-jakarta.adoc ベンダーはオプションとして、org.eclipse.microprofile パッケージを互換として提供してもよい 一旦Jakartaに提供されたものは、Githubリポジトリを凍結 技術アライメント(提案)
  • 68. 68COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) Pullモデル Pushモデル 68 MicroProfileは、Pullモデルを提案中 ダウンストリームを気にせず 一方的に作る Pullモデル と Pushモデル (最近の議論) 成熟したものをJakarta EEへ提供
  • 69. 69COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 69 ダウンストリームを気にせず一方的に作る 作成 pull ・パッケージ名 ・互換性 ・ライフサイクル Pullモデル MicroProfile 利用者 仕様
  • 70. 70COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 70 成熟したものをJakarta EEへ提供 作成 push ・パッケージ名 ・互換性 ・ライフサイクル Pushモデル MicroProfile 利用者 incubation 仕様 仕様 成熟 graduation
  • 71. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 71 最後に
  • 72. 72COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 72 Jakarta EE へ参加しましょう https://wiki.eclipse.org/How_To_Contribute 仕様、ソースコード、TCK、Webサイトなど 様々な形で参加可能
  • 73. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73 Thank you!