Open Libertyおよび製品版のWebSphere Libertyについて,2023年3月にリリースされた22.0.0.3から2023年6月の23.0.0.5までで追加された新機能について紹介します。また,これ以外にも多くのバグやCVE脆弱性が修正されています。
前回の記事はこちらです→ Liberty最新情報:2022年12月〜2023年2月
API
Jakarta EE 10対応
2022年9月にリリースされたJakarta EE 10に,3月にリリースされた23.0.0.3で対応しました。
Jakarta EE 10は,エンタープライズJavaの仕様策定がOracle主導のJCPからコミュニティベースのEclipse Foundation参加のJakarta EEプロジェクトに移管されてから,はじめて新機能が追加されたバージョンです。従来から提供されているJakarta EE Platform,Web Profileにくわえ,あらたにCore Profileが追加されました。
Libertyでは,基本的にOptionalの仕様を含めてJakarta EE Platform 10の全ての仕様に対応しています。「Debugging Support for Other Languages」仕様は,追加のFeatureなしで使用可能です。「Transactions」仕様は,トランザクションの管理が可能なFeatureが有効になると,自動的に有効になります。
Jakarta EE Core Profile 10
仕様名 | 更新 | LibertyでのFeature名 |
---|---|---|
Context and Dependency Injection 4.0 Lite | 新規追加 | cdi-4.0 |
JSON Binding 3.0 | メジャーVup | jsonb-3.0 |
RESTful Web Services 3.1 | マイナーVup |
restfulWS-3.1 , restfulWSClient-3.1
|
JSON Processing 2.1 | マイナーVup | jsonp-2.1 |
Annotations 2.1 & Interceptors 2.1 | マイナーVup | cdi-4.0 |
Dependency Injection 2.0 | 変更なし | cdi-4.0 |
Jakarta EE Web Profile 10
仕様名 | 更新 | LibertyでのFeature名 |
---|---|---|
Jakarta EE Core Profile 10 | 新規追加 | - |
Authentication 3.0 | メジャーVup | appAuthentication-3.0 |
Context and Dependency Injection 4.0 | メジャーVup | cdi-4.0 |
Concurrency 3.0 | メジャーVup | concurrent-3.0 |
Expression Language 5.0 | メジャーVup | expressionLanguage-5.0 |
Faces 4.0 | メジャーVup | faces-4.0 |
Security 3.0 | メジャーVup | appSecurity-5.0 |
Servlet 6.0 | メジャーVup | servlet-6.0 |
Standard Tag Library 3.0 | メジャーVup | pages-3.1 |
Persistence 3.1 | マイナーVup | persistence-3.1 |
Server Pages 3.1 | マイナーVup | pages-3.1 |
WebSocket 2.1 | マイナーVup | websocket-2.1 |
Bean Validation 3.0 | 変更なし | beanValidation-3.0 |
Debugging Support for Other Languages 2.0 | 変更なし | - |
Enterprise Beans 4.0 Lite | 変更なし | enterpriseBeansLite-4.0 |
Managed Beans 2.0 | 変更なし | managedBeans-2.0 |
Transactions 2.0 | 変更なし | - |
Jakarta EE Platform 10
仕様名 | 更新 | LibertyでのFeature名 |
---|---|---|
Jakarta EE Web Profile 10 | - | |
Authorization 2.1 | マイナーVup | appAuthorization-2.1 |
Activation 2.1 | マイナーVup | mail-2.1 |
Batch 2.1 | マイナーVup | batch-2.1 |
Connectors 2.1 | マイナーVup | connectors-2.1 |
Mail 2.1 | マイナーVup | mail-2.1 |
Messaging 3.1 | マイナーVup | messaging-3.1 |
Enterprise Beans 4.0 | 変更なし | enterpriseBeans-4.0 |
XML Binding 4.0 (optional) | メジャーVup | xmlBinding-4.0 |
XML Web Services 4.0 (optional) | メジャーVup | xmlWS-4.0 |
Java SE 20対応
Java SE 20に,2023年3月にリリースされた23.0.0.3で対応しました。
ランタイム
Liberty InstantOn正式版公開
2023年6月に公開された23.0.0.6から,Liberty InstantOnが正式にサポートされるようになりました。
Liberty InstantOnを使用すると,スループット,メモリ,開発と実稼働の同等性,またはJava言語機能を損なうことなく,アプリケーションを1秒未満,ミリ秒単位の時間で起動できます。
LinuxカーネルのCheckpoint/Restore In Userspace (CRIU) 機能を使用して,起動後の初期化が終わったサーバープロセスをCheckpointとしてファイルに記録し,そこからプロセスをRestoreすることで高速にアプリケーションサーバーを起動します。
6月時点では,Jakarta EE Web Profile 8.0以降,MicroProfile 4.1以降,および他のいくつかのLiberty Featureをサポートしています。
使用方法については,OpenLiberty.io上の文章を参照してください。
開発ツール
Liberty Tools正式版公開
コミュニティ・プレビューとして公開されていた,IDE上の開発者ツール,Liberty Toolsが2023年6月から正式版として公開されました。Liberty Toolsは,Visual Studio Code,IntelliJ IDEAおよびEclipse IDEをサポートし,これらのIDE上でLibertyアプリケーションの開発を強力にサポートします。
パッケージング
ARM64アーキテクチャーのコンテナイメージの追加
IBM Container Registry(ICR)では,従来からAMD64,PPC64LEおよびS390Xアーキテクチャーの,Open LibertyおよびWebSphere Libertyのコンテナイメージが提供され,4週間ごとに更新されていました。
2023年4月の22.0.0.4から,ARM64アーキテクチャーのイメージの提供も開始されました。Apple Silicon Mシリーズを搭載したmaxOSやAWS Gravitonなど,ARMベースのCPUで実行されるコンテナ環境で,ネイティブ実行できます。
Open Libertyで提供されるコンテナイメージについては,OpenLiberty.io上のドキュメントを,WebSphere Libertyで提供されているコンテナイメージについてはWebSphere Application Server Libertyのドキュメントを参照してください。
ドキュメント
OpenLiberty.ioのGuideの更新
OpenLiberty.io上では,ユーザーがLibertyの利用方法を学習できるガイドをトピックごとに多数公開しています。2023年5月に,これらのガイドがJakarta EE 10およびMicroProfile 6に対応したガイドにアップデートされました。