Payara Foundationは先頃、MicroProfile 2.0とJava EE 8のフルサポートを含み、多数の新機能やアップグレード、バグフィックスを備えた、Payara ServerとPayara Microのバージョン5.183をリリースした。新たな機能としては、MicroProfile APIとAdmin Consoleのアップデート、OpenID仕様のサポート、新しくなったアプリケーションデプロイメントディスクリプタスキーマなどがある。
2014年に初公開されたPayaraは、現在もOracleによってメンテナンスされているGlassFishの4.1のオープンソース版をベースとしていた。以来、オープンソースであることよる優れたカスタマサポートの提供、小型でシンプルでパワフル、さらには主要なクラウドプラットフォームとの互換性の確保に努めてきた。
2017年に公開されたPayaraのリリースストリームには、カスタマ重視のリリーススケジュールが定義されている。一方で、すべてのPayaraユーザが利用可能なコミュニティストリームでは、新機能やアップデート、バグフィックスを含んだリリースが、通常は四半期毎に提供される。Payaraのカスタマには、四半期リリースに対して月単位でパッチを提供するフィーチャーストリームと、安定性と一貫性改善のためにより頻繁にパッチを提供するスタビリティストリームも公開されている。
Payara 5.183は、2018年の第3四半期リリースとなる。今年初め、Payaraの創設者でディレクタのSteve Milledge氏は、Payaraの2018年の計画について説明した。それによれば、5.183ではリアクティブと非同期性が重視されている。特に:
8月にリリースされる183では、リアクティブと非同期プログラミングスタイルのサポート拡張を重視します。現時点でのアイデアは次のとおりです。
- Lambda、Completable Future、Collectionの並列ストリーム操作からJava EE APIを使用可能にする。
- メッセージリスナとしてのLambdaのサポート
- メッセージリスナとしてのCDI Beanのサポート
@Asynch
;@Pooled
;@ClusterScoped
;@ServerScoped
による拡張CDIサポートの追加- デプロイ可能な並行処理リソース
さらに、MicroProfile 2.0を5.183リリースの対象としていますが、MicroProfileプロジェクトの動向次第では前倒しされる可能性もあります。
MicroProfileアップデート
MicroProfile 2.0仕様に合わせるため、既存のOpenAPIとREST Client APIがアップデートされた他、新たにFault Tolerance、Config、Open Tracing、JWT-Authの各APIの実装が提供された。
Fault Tolerance 1.1
Fault Toleranceがアップデートされて、MetricsとConfig APIが統合された。@FaultTolerance
アノテーションでラップされたメソッドの実行、起動されたサーキットブレーカの状態、リトライの回数、障害の回数など、複数のメトリクスが収集され、データとして提供される。独自のコンフィギュレーションキー形式を使用して、パラメータを@FaultTolerance
アノテーションやクラス、あるいはメソッドに提供することも可能だ。
Config 1.3
URL
クラスを補完するためにURI
クラスのサポートが追加された。文字列をURI
クラスや、文字列を受け入れるコンストラクタを持つ他のクラスに変換するメソッドが新たに導入されている。これによってコンフィギュレーションの値を、文字列コンストラクタを持つ任意のクラスに変換することが可能になる。
新たなマッピングルールも追加され、コンフィギュレーションキーにアンダースコアを含む環境変数の変換が容易になった。
Open Tracing 1.1
Open Tracing 1.1は最新のOpen Tracing仕様に準拠して、トレース情報を収集するJava APIが提供されるようになった。トレースを提供したコンポーネントを示すタグも含まれる。
JWT-Auth 1.1
JWT-Authがアップデートされ、Configとの統合が組み込まれた。Payaraが初期に実装したオリジナルでは、JWT-Auth公開鍵はサポートされていたが、ポータブルではなかった。Configを使用することで、公開鍵の内容や鍵の所在を参照することが可能になった。
REST Client 1.1
バージョン5.182で実装されたREST Clientがアップデートされて、RESTサービスの非同期呼び出しがサポートされるようになった。これにより、CompletionStage
のインスタンスを返した後、別スレッドで非同期に処理を行なうメソッドを開発できるようになった。
URL
クラスを補完するため、RestClient
インターフェースを注入する場合には、Configを使ってURI
クラスのインスタンスをパラメータとしてセットする機能が追加された。アプリケーション固有のURU/URLは、以下に示すように、microprofile-config.properties
ファイルのコンフィギュレーションキーとして指定する。
org.redlich.payara.RestClientApp/mp-rest/url=http://localhost:8080/restapp
Admin Console
Payara Server管理コンソールの機能に、サーバインスタンス単位のMicroProfile設定ページが新たに追加された。以下に示すように、さまざまなMicroProfile APIのためのプロパティ設定が多数存在する。
また、ユーザフィードバックに基づいて、以前は順序付けられていなかったサーバ構成オプションのリストが、アルファベット順にリストされるよいうになった。
OpenID Connect
バージョン5.182ではOAuth 2.0プロトコルのサポートが導入されたが、バージョン5.183ではOAuth上のセキュリティ機構としてOpenID Connectがサポートされている。OpenID ConnectはOpenID仕様の実装だが、OpenID Connectのドキュメントには次のように述べられている。
OpenID ConnectはOpenID 2.0と同じタスクを多数実行しますが、APIフレンドリで、ネイティブアプリケーションやモバイルアプリケーションから利用しやすくなっています。またOpenID Connectでは、堅牢な署名および暗号化のためのオプション機構を定義しています。OAuth 1.0とOpenID 2.0の統合にはエクステンションが必要でしたが、OpenID Connectでは、OAuth 2.0の機能がプロトコル自体に組み込まれています。
リソース
- “Payara Server and Payara Micro in 2018” – Steve Milledge (2018/1/8)
- “Cloud Native Java Has A New Home: Jakarta EE” – InfoQ (2018/4/25)
- “MicroProfile OpenAPI in the Payara Platform” – Matthew Gill (2018/6/28)
- “Eclipse GlassFish Release Plan” – Ivar Grimstad (2018/9/13)
- “Welcoming GlassFish to the Eclipse Foundation” – Tanya Obradovic (2018/9/18)
- “OpenID Connect in the Payara Platform 5.183” – Gaurav Gupta (2018/9/20)
- “Payara Platform Latest Release webinar” – Payara (2018/9/21)
この記事を評価
- 編集者評
- 編集長アクション