$30 off During Our Annual Pro Sale. View Details »

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を
    クラウド・ネイティブの
    世界へ

    View Slide

  2. @2022 IBM Corporation
    IBM Automation Software
    ⾃⼰紹介
    n
    ⽥中 孝清
    n ⽇本アイ・ビー・エム株式会社
    オートメーションソフトウェア テクニカルセールス
    n WebSphere Application Serverなどの
    テクニカルセールスを20年以上担当
    n Twitter @TTakakiyo
    1

    View Slide

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

    View Slide

  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
    製品化

    View Slide

  5. @2022 IBM Corporation
    IBM Automation Software
    完全にモジュール化されている Liberty
    n サーバー構成ファイル(server.xml)で使⽤する機能だけを有効化
    –1秒〜数秒で起動,使⽤メモリ量も必要最⼩限
    n 使⽤する機能だけを選んで
    本番環境にコピーしたり,
    コンテナに⼊れたりすることも可能
    n カーネル機能だけの導⼊ZIP
    約11.6Mバイト
    n 右図のFeatureだけいれたLibertyの
    展開後のサイズ
    約40.8Mバイト
    4

    jaxrs-2.1
    transportSecurity-1.0

    構成ファイル server.xml
    Servlet
    JAX-RS client
    TLS
    JAX-RS
    依存関係も
    ⾃動的に解決
    JSON-P

    View Slide

  6. @2022 IBM Corporation
    IBM Automation Software
    server.xml
    jvm.options server.env
    簡単な構成
    n デフォルトから変更するものだけを記述する簡潔な構成ファイル
    n 環境依存性のない可搬性のある構成ファイルで,まるごとコピー可能


    jaxrs-2.1






    -Xmx1024m
    -verbose:gc
    -Dexample.system.property=ExampleValue
    WLP_OUTPUT_DIR=/work/wlp-out

    View Slide

  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/

    View Slide

  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

    View Slide

  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

    View Slide

  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

    servlet-4.0
    jsp-2.3
    jaxrs-2.1
    cdi-2.0


    servlet-5.0
    pages-3.0
    restfulWS-3.0
    cdi-3.0

    View Slide

  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/

    View Slide

  12. @2022 IBM Corporation
    IBM Automation Software
    その他,Libertyの特徴
    n 軽量でありながら,⾼いパフォーマンス,スループット
    –Tomcatや,それを利⽤したサーバーなどと⽐べ,より少ない資源で⾼い負荷に耐えられる
    n DevOps / Platform as Codeのやりやすさ
    –導⼊や構成にGUIの操作や対話的なコマンド実⾏は不要
    –サーバー構成も含めてコードとして管理することが可能
    n コンテナとの親和性の⾼さ
    –最⼩限のコンテナサイズを実現可能
    –起動を⾼速化する機能も開発中
    11

    View Slide

  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

    View Slide

  14. @2022 IBM Corporation
    IBM Automation Software
    Liberty の利⽤⽅法を学習する
    n https://openliberty.io/guides/
    – JDK,Git,Mavenがあれば実⾏できる
    チュートリアルを多数提供
    n英語での提供だが
    ブラウザの翻訳機能で
    きれいに⽇本語化される
    13

    View Slide

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

    View Slide