EE が Cloud Native に向かない(と思われている)理由 n アプリケーションサーバーのサイズが⼤きい・起動時間が遅い n 仕様が古くて,マイクロサービス・アーキテクチャーなどに対応しにくい n DevOps / Platform as Codeがやりにくい n コンテナへの対応が⼤変 4 Open Libertyは,これらの課題を解決できます
IBMはWebSphereを,完全に作り直しました –従来から提供されているWebSphere︓WebSphere Traditionalランタイム –2012年から登場した新WebSphere︓ WebSphere Libertyランタイム n WebSphere Libertyを2017年にOSS化して,Open Libertyに –EPL(Eclipse Public License)で公開・誰でも無料で利⽤できる・ビジネスで使いやすい n Jakarta EE 9.1仕様ではReference Implementation(参照実装) https://www.openliberty.io/blog/2017/09/19/open-sourcing-liberty.html
Liberty の関係 n 新しい機能はOpen Libertyで開発され,それを取り込んでWebSphere Libertyとして製品化 n バージョンは完全に同期 – 4週間ごと,年に12回,新しいバージョンが出る(2022年は22.0.0.1〜22.0.0.12) – Open Liberty version 22.0.0.4で追加された新機能は, WebSphere Liberty version 22.0.0.4でも,すぐに利⽤可能 n 主な違いは提供されているFeature(モジュール)の差 – 古いAPIを提供するFeature,zOSと連携する機能,安定化された統合管理機能などは製品版のみで提供 – Java EE / Jakarta EEやMicroProfileなどの標準仕様は,すべてOpen Libertyでも提供 n アプリケーションや構成ファイルなどは,両者で全く同じものを使⽤できる 6 製品化
EE が Cloud Native に向かない(と思われている)理由 n アプリケーションサーバーのサイズが⼤きい・起動時間が遅い n 仕様が古くて,マイクロサービス・アーキテクチャーなどに対応しにくい n DevOps / Platform as Codeがやりにくい n コンテナへの対応が⼤変 7 Open Libertyは,これらの課題を解決できます
EE は ⼤きな仕様群 n アプリケーションサーバーが 対応しないといけない仕様が多い n これら全てに対応した実⾏環境は, 「重く」なりがち 8 https://jakarta.ee/specifications/platform/9.1/jakarta-platform-spec-9.1.html
EE が Cloud Native に向かない(と思われている)理由 n アプリケーションサーバーのサイズが⼤きい・起動時間が遅い n 仕様が古くて,マイクロサービス・アーキテクチャーなどに対応しにくい n DevOps / Platform as Codeがやりにくい n コンテナへの対応が⼤変 10 Open Libertyは,これらの課題を解決できます
APIは,Jakarta EE 11に含まれる予定 –けれど,Jakarta EE 9以降に移⾏するには,パッケージの変換(javax→jakarta)などが・・・ n Libertyであれば,Java EE 7/8とMicroProfileを,いますぐ組み合わせて使える –構成ファイルで両⽅のAPIの機能を提供するFeatureを有効にするだけ 15 <featureManager> <feature>servlet-4.0</feature> <feature>cdi-2.0</feature> <feature>mpConfig-2.0</feature> </featureManager> Servlet CDI Config
9.1 / MicroProfile 5.0 / Java 17,18 対応 n 2021年10⽉︓Java SE 17対応 n 2021年12⽉︓Jakarta EE 9.1対応 (業界最速,参照実装) n 2022年1⽉︓MicroProfile 5.0対応 n 2022年4⽉︓Java SE 18対応 17 さまざまな新仕様に 業界最速で対応
Java EE 7のServlet 3.1も Java EE 8のServlet 4.0も Jakarta EE 9のServlet 5.0も 全部対応しています n Libertyでは,基本的に ⼀度提供されたFeatureは 削除されません n 構成ファイルを書き換えれば, (Upper Compatibilityでなく) 昔のAPIがそのものが動きます 19 % ./productInfo version 製品名: Open Liberty 製品バージョン: 22.0.0.3 製品エディション: Open % ./productInfo featureInfo acmeCA-2.0 adminCenter-1.0 appClientSupport-1.0 (中略) servlet-3.1 servlet-4.0 servlet-5.0 (後略)
20 Version 8.x Servlet-3.1 Version 9.x Servlet-4.0 Version 10.x Servlet-5.0 Version 8.5.5 Servlet-3.1 ⼀般的な アプリケーションサーバー Liberty Version 8.5.5.6 Version 21.0.0.1 Servlet-3.1 Servlet-4.0 Servlet-5.0 Servlet-3.1 Servlet-4.0
EE が Cloud Native に向かない(と思われている)理由 n アプリケーションサーバーのサイズが⼤きい・起動時間が遅い n 仕様が古くて,マイクロサービス・アーキテクチャーなどに対応しにくい n DevOps / Platform as Codeがやりにくい n コンテナへの対応が⼤変 23 Open Libertyは,これらの課題を解決できます
EE が Cloud Native に向かない(と思われている)理由 n アプリケーションサーバーのサイズが⼤きい・起動時間が遅い n 仕様が古くて,マイクロサービス・アーキテクチャーなどに対応しにくい n DevOps / Platform as Codeがやりにくい n コンテナへの対応が⼤変 35 Open Libertyは,これらの課題を解決できます
n ⾼速・軽量で,モダンな開発・運⽤スタイルにも対応 クラウド・ネイティブの世界でもJava EEを活⽤できる n 最新のJakarta EE仕様やMicroProfile仕様にも,いちはやく対応 n ⼀⽅で,バージョンアップしても昔のAPIが使⽤できるため, 作ったアプリケーションを,より⻑く活⽤することができる n Platform as Codeやコンテナ環境にも最適で, いままでの資産を引き継ぎつつ,エンタープライズJava環境のモダナイズが可能 39