Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LibertyでJakarta EEを クラウド・ネイティブの 世界へ

LibertyでJakarta EEを クラウド・ネイティブの 世界へ

2022年9月16日に開催された「JakartaOne Livestream Japan 2022」のセッション「LibertyでJakarta EEをクラウド・ネイティブの世界へ」の発表資料です。
https://jakartaone.org/jp/2022/japan/

Takakiyo Tanaka

September 16, 2022
Tweet

More Decks by Takakiyo Tanaka

Other Decks in Technology

Transcript

  1. @2022 IBM Corporation IBM Automation Software https://openliberty.io JakartaOne Livestream Japan

    2022 LibertyでJakarta EEを クラウド・ネイティブの 世界へ
  2. @2022 IBM Corporation IBM Automation Software ⾃⼰紹介 n ⽥中 孝清

    n ⽇本アイ・ビー・エム株式会社 オートメーションソフトウェア テクニカルセールス n WebSphere Application Serverなどの テクニカルセールスを20年以上担当 n Twitter @TTakakiyo 1
  3. @2022 IBM Corporation IBM Automation Software ⼆つのWebSphere n 1998年からバージョンアップを重ねてきた 従来型のランタイム

    n モノリシックな実装 – 提供されている全ての機能が常に有効に – ⻑い起動時間・⼤きいメモリ使⽤量 n 完全なプロプラエタリ・ソフトウェアで 製品版のみが提供されている 2 n 2012年から提供されている 新しいランタイム n 完全にモジュール化された実装 – 構成された機能だけが有効に – ⾼速起動・最⼩限のメモリ使⽤量 n オープンソースとして開発され それを取り込むかたちで製品版を提供 WebSphere traditional
  4. @2022 IBM Corporation IBM Automation Software Open Liberty と WebSphere

    Liberty の関係 n 誰でも無償で使えるEPL(Eclipse Public License)で公開されるOpen Liberty, それを取り込んでWebSphere Libertyとして製品版として販売されている n バージョンは完全に同期 – 4週間ごと,年に12回,新しいバージョンが出る(2022年は22.0.0.1〜22.0.0.12) – OSS版︓ Open Liberty V22.0.0.9で追加された新機能は, 製品版︓ WebSphere Liberty V22.0.0.9でも,すぐに利⽤可能 n アプリケーションや構成ファイルなどは,両者で全く同じものを使⽤できる – IBMの汎⽤機,zOSとの連携機能など,⼀部の機能は製品版でのみ提供 3 製品化
  5. @2022 IBM Corporation IBM Automation Software 完全にモジュール化されている Liberty n サーバー構成ファイル(server.xml)で使⽤する機能だけを有効化

    –1秒〜数秒で起動,使⽤メモリ量も必要最⼩限 n 使⽤する機能だけを選んで 本番環境にコピーしたり, コンテナに⼊れたりすることも可能 n カーネル機能だけの導⼊ZIP 約11.6Mバイト n 右図のFeatureだけいれたLibertyの 展開後のサイズ 約40.8Mバイト 4 <featureManager> <feature>jaxrs-2.1</feature> <feature>transportSecurity-1.0</feature> </featureManager> 構成ファイル server.xml Servlet JAX-RS client TLS JAX-RS 依存関係も ⾃動的に解決 JSON-P
  6. @2022 IBM Corporation IBM Automation Software server.xml jvm.options server.env 簡単な構成

    n デフォルトから変更するものだけを記述する簡潔な構成ファイル n 環境依存性のない可搬性のある構成ファイルで,まるごとコピー可能 <server> <featureManager> <feature>jaxrs-2.1</feature> </featureManager> <valiable name="http.port" defaultValue="8080" /> <httpEndpoint host="*" httpPort="${http.port}" id="defaultHttpEndpoint" /> <applicationManager autoExpand="true"/> <webApplication id="RestfulTest" location="RestfulTest.war" contextRoot="/" /> </server> -Xmx1024m -verbose:gc -Dexample.system.property=ExampleValue WLP_OUTPUT_DIR=/work/wlp-out
  7. @2022 IBM Corporation IBM Automation Software Liberty の 新API対応 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対応 6 さまざまな新仕様に 業界最速で対応 https://openliberty.io/blog/
  8. @2022 IBM Corporation IBM Automation Software Jakarta EE 10の全ての新機能も,Betaで提供ずみ n

    22.0.0.9-beta 22.0.0.10-beta で Jakarta EE 10の新機能を いますぐお試しいただけます – Jakarta RESTful Web Service 3.1 – Jakarta JSON Processing 2.1 – Jakarta JSON Binding 3.0 – Jakarta CDI 4.0 – Jakarta Expression Language 5.0 – Jakarta Concurrency 3.0 – …… n 間に合えば10⽉版 遅れた場合は11⽉版で正式対応予定 7 https://openliberty.io/blog/2022/08/04/jakarta-core-profile-22009-beta.html
  9. @2022 IBM Corporation IBM Automation Software Liberty では,新機能への対応は Feature の「置き換え」ではなく「追加」

    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
  10. @2022 IBM Corporation IBM Automation Software Libertyならば,⼀つのバージョンでjavaxとjakartaの両⽅の名前空間に対応 n 最新版で,Java EE

    8 / Jakarta EE 8のAPIを設定すれば,javaxの名前空間のプログラムが n Jakarta EE 9.1のAPIを設定すれば,jakartaの名前空間のプログラムが どちらも利⽤可能 9 <featureManager> <feature>servlet-4.0</feature> <feature>jsp-2.3</feature> <feature>jaxrs-2.1</feature> <feature>cdi-2.0</feature> </featureManager> <featureManager> <feature>servlet-5.0</feature> <feature>pages-3.0</feature> <feature>restfulWS-3.0</feature> <feature>cdi-3.0</feature> </featureManager>
  11. @2022 IBM Corporation IBM Automation Software Libertyは,MicroProfileにも完全対応 n 変化の激しいMicroProfileも ゼロマイグレーションで

    安⼼して利⽤できる – Libertyが対応しているバージョン • microProfile-1.0/1.2/1.3/1.4 • microProfile-2.0/2.1/2.2 • microProfile-3.0/3.2/3.3 • microProfile-4.0/4.1 • microProfile-5.0 n Libertyなら Java EE/Jakarta EEとも ⾃由に組み合わせられる –Servlet/JAX-RS から Config API –MicroProfile で JPA –…… 10 https://microprofile.io/
  12. @2022 IBM Corporation IBM Automation Software その他,Libertyの特徴 n 軽量でありながら,⾼いパフォーマンス,スループット –Tomcatや,それを利⽤したサーバーなどと⽐べ,より少ない資源で⾼い負荷に耐えられる

    n DevOps / Platform as Codeのやりやすさ –導⼊や構成にGUIの操作や対話的なコマンド実⾏は不要 –サーバー構成も含めてコードとして管理することが可能 n コンテナとの親和性の⾼さ –最⼩限のコンテナサイズを実現可能 –起動を⾼速化する機能も開発中 11
  13. @2022 IBM Corporation IBM Automation Software IBMのメッセージ n IBMは,これからのクラウド・ネイティブの時代においても, Java

    EE / Jakarta EEは,本命の技術の⼀つであり続けると考えています n 現在,皆様が使⽤されているServletやJSP,JAX-RSやJPAなどのスキルは, 形を変え進歩しつつも,これからのアプリケーション開発でも,活⽤することができます n Jakarta EE / MicroProfile の新規性と後⽅互換性の⾼さを両⽴しながら クラウド時代・コンテナ時代にも Javaでエンタープライズ・アプリケーションを安⼼して開発し続けていけるように Open Liberty / WebSphere Libertyは進化を続けていきます 12
  14. @2022 IBM Corporation IBM Automation Software Liberty の利⽤⽅法を学習する n https://openliberty.io/guides/

    – JDK,Git,Mavenがあれば実⾏できる チュートリアルを多数提供 n英語での提供だが ブラウザの翻訳機能で きれいに⽇本語化される 13
  15. @2022 IBM Corporation IBM Automation Software Japan WebSphere User Groupへご参加ください

    14 https://ibm.biz/JapanWebSphereUG n 各種,⽇本語技術資料を公開中 n IBM IDでLoginすれば,質問なども登録可能 Libertyにご興味・質問がある⽅は,お気軽に@TTakakiyoまでDMください