Java EEから
Jakarta EEへ
関西Javaエンジニアの会 /
ポノス株式会社
阪田 浩一 @jyukutyo
#kanjava
Disclaimer
以下の事項は個人の理解に基づいています。
正確な情報を提供することに努めています
が、誤りがあることがあります。何かを確
約するものではないため、この情報を元に
判断なさらないでください。
会長だけどじゅくちょー
• 阪田 浩一 / じゅくちょー
• 関ジャバ会長(JUGリーダ)
• JVMが大好き
• ポノス株式会社(スマホゲーム会社)
Java EEは
Jakarta EEに
名前が変わった
これは
どういうことか?
今北産業
Java EEは
• Eclipseファウンデーションへ
移管された
• 開発プロセスがJCPでなくなった
• 名前が変わった
Eclipse
ファウンデーション?
❌Eclipse使わないと
Java EE
使えなくなるの?
⭕Eclipse
ファウンデーション
❌Eclipse IDE
どんなIDEでも
エディタでも
大丈夫
Eclipse
ファウンデーションは
様々なOSSや仕様を
管理している
Java関連では
• Eclipse Collections
–旧GS Collections
• Eclipse MicroProfile
• EclipseLink
–JPA実装
• Eclipse Yasson
–JSR-367(JSON-B)の公式参照実装
MicroProfileや
Java EEの実装を
管理してきた
これも移行先に
Eclipse
ファウンデーションが
選ばれた理由
移行の詳細について
プロジェクトの名前は
Eclipse
Enterprise
for
Java(EE4J)
ここでJava EEの各仕様
の参照実装および
GlassFish(APサーバ)を
管理/開発する
ちなみに
以前からJava EEの
参照実装および
GlassFishは
OSSだった
ただ、今まで
開発プロセスは
一般的なOSSのようでは
なかった
ソースはオープンに
なったが、
プロセスは以前からの
JCPプロセスのまま
今後は
よりオープンで
コミュニティ主導の
開発へ
まずは
移管に際して
プロジェクトを1つ1つ
Eclipse Public
License 2.0
に再ライセンスし、
知的財産レビューを実施
移管後は接頭辞
`Eclipse`がつく
ex. Mojarra ->
Eclipse Mojarra
移管作業中
• Eclipse Grizzly
• Eclipse OpenMQ
• Eclipse Project for JAX-RS
• Eclipse Project for JMS
• Eclipse Tyrus
• Eclipse Project for WebSocket
• Eclipse Project for JSON
Processing
移管準備中
• Eclipse Jersey
• Eclipse Mojarra
移管済み
• Eclipse Yasson
• EclipseLink
互換性テストキット
(TCK)も
オープンソースに
(今まではNDAが必要)
オレオレJava EEすら
可能!
TCKはクローズドソース
であったため、
移管には時間がかかる
見込み
すべての移管完了まで
あと半年以上は
かかる予定
当面の目標は
Java EE 8互換の
リリース
さて、今後は
誰でもJava EEの
仕様策定/開発に
携われる
ML: https://accounts.eclipse.org/mailing-list/ee4j-community
その開発プロセスは?
JCPではない
EE4J用の
新しいプロセスを
策定中
•オープン
•柔軟
•素早い (nimble)
な開発プロセス
このプロセスで
リリースするモノの
ブランド名が
`Jakarta EE`
EE4Jプロジェクトが
リリースする
旧Java EE相当のものが
`Jakarta EE`
`Jakarta EE`
or
`Enterprise Profile`
の投票があった
65%の得票率で
`Jakarta EE`
Jakarta?
そう、
このJakartaです
かつて
Apache
ファウンデーションが
Javaライブラリを
開発する際に
使っていた名前
Apacheに許可を得て
Jakartaを使用
(つまり
Jakarta EE自体は
Apacheと関わりはない)
そもそもなぜ
Java EEから
名前を変えたのか?
`Java`は
オラクルの商標であり、
Java EEのままだと
オラクルが管理している
印象がある
と
既存の
`javax.*パッケージ`
はそのままだが、
新規に
`javax.*パッケージ`
は使えない
(新パッケージ未定)
とはいえ、
全体的には
歓迎すべきこと
Java EEは
よりオープンになり、
より開発が進む
では、そもそも
なぜ
`Jakarta EE`に
至ったのか?
その要因の
1つかもしれないこと
https://javaee-guardians.io/
2013年のEE 7リリース後、
Java EEの開発は
停滞した
https://lh5.googleusercontent.com/wnlffdAFXkyFHOnG6TL4n8m_xg3vaC-
FN6DuREZ24OouhnGm2gEZ_ONNnoJmb92n4048gxHXL9jWjeaUqWK5qXaaQuMbNyqwKL2eWE
Za4rMtmF5SEMRUiBZTjSD4htjSzTq1D6Os
危機感を持った
元Java EE
エバンジェリスト
Reza Rahman氏を中心に
Java EEガーディアンズ
を結成
ゴスリン氏をはじめ、
多くの開発者やJUGが
支援を表明
ガーディアンズは
オラクルに
Java EEへの
コミットメントを求め
アンケート調査、
オラクルへの公開質問状
など積極的に活動
さらに最後まで
Java EEという名前を
使い続けられるよう
活動したが…
しかし、
ガーディアンズは
今回の件で
小さくない影響を
及ぼしたと、
個人的に考える
結果Java EE 8は
2017年9月に
リリースされ、
Eclipseへ
移管となった
補足:
MicroProfileとは?
Eclipse MicroProfile:
Java EEをベースに
独自仕様も組み込んだ
マイクロサービス用
フレームワークの仕様
Eclipse MicroProfile:
今月2018年3月に
バージョン1.4を
リリース予定
仕様
• MicroProfile Config
• MicroProfile Metrics
• MicroProfile OpenTracing
• MicroProfile Rest Client
• MicroProfile Fault Tolerance
• MicroProfile Health Check
• MicroProfile JWT Authentication
• JAX-RS
• CDI
• JSON-P
参加団体
• IBM
• RedHat
• Tomitribe
• Payara
• ロンドンJavaコミュニティ(LJC)
• SouJava
• Hazelcast
• 富士通
• SmartBear
• オラクル
各社のアプリケーション
サーバで
Java EEだけでなく
MicroProfileに対応
Jakarta EEと
MicroProfile、
ともにEclipse管理だが
現状統合予定はない
補足:
MVCどうなった?
JSR 371:
Model-View-Controller
(MVC 1.0)
Specification
としてもうすぐリリース
歴史的経緯
• MVC 1.0がJava EE 8から落ちる
• 所有権がオラクルから中心メンバー
のIvar Grimstad氏へ移管
• Apache License 2.0ライセンスへ
• JSRのパブリックレビュー投票通過
• 2018年Q2にリリース予定
–参照実装: Eclipse Ozark (EE4J内)
1.0をリリース後、
MVC 1.0は
Eclipse
ファウンデーションへ
移管
MVCが
MicroProfileに
入る可能性もある

from Java EE to Jakarta EE