原文はこちら。
This entry is based on the following one, written by Cesar Saavedra.
Eclipse MicroProfile 3.1 is Now Available
https://microprofile.io/2019/10/13/eclipse-microprofile-3-1-is-now-available/
Eclipse MicroProfile 3.1がリリースされました。
Eclipse MicroProfile 3.1 Specification
https://github.com/eclipse/microprofile/releases/download/3.1/microprofile-spec-3.1.pdf
これは3.0にMetrics APIとHealth APIのアップデートが追加されたものです。以前のバージョンのように、MicroProfile 3.1はJavaマイクロサービスの開発のための基本的なプログラミングモデルとしてJava EE 8に整合しています。
(注意)最近リリースされたJakarta EE 8は機能的にJava EE 8と同等なので、任意のJakarta EE 8互換実装で同等の基盤を提供するはずです。

上図はEclipse MicroProfile 3.1のリリースに伴い2個のAPIがアップデートされたことを示しています。
MicroProfile Metrics 2.1
https://github.com/eclipse/microprofile-metrics/releases/tag/2.1.0
MicroProfile Metrics 2.1には、スレッドセーフなメトリックレジストリの実装や、java.lang.Numberを拡張する値を返すことが必要なゲージ、実装で省略されているメトリック、およびメトリックを必要としない注釈付きクラス内のプライベートメソッド、といった多数の明確化が含まれています。さらに、RestAssured 4.0を使うようTCKが更新され、仕様ビルドからjavax.el-apiへの推移的な依存関係を明示的に無くし、MetadataBuilderのためのreusable(boolean) メソッドの追加、アノテーション無しでのプログラムによるメトリック作成の情報が導入されました。
MicroProfile Health 2.1
https://github.com/eclipse/microprofile-health/releases/tag/2.1
レスポンスを作成するための新たなメソッドの追加、Healthプロシージャの実装を無効化する構成プロパティの追加と、Javadocの改善が含まれています。さらに、JSONフォーマットのテスト、遅延テストの追加、各テストの前のテスト名の追加など、TCKも改善されています。最後に、重複したArquillianのインポートとEL APIの推移的な依存関係が削除されています。
MicroProfile 3.1のベネフィットは以下の通りです。
- Java EE 8機能のサブセットに引き続き整合
- HealthとMetricsのより豊富になった機能セット
- より機能的 エンタープライズのJavaマイクロサービスを実装するための機能を多数提供する追加機能
- 仕様の明確化ならびにドキュメントの強化
- MicroProfile API間の高度な統合
- CDIベースのプログラムに使いやすいインターフェースをこれら全てのAPIで提供
- 異なるMicroProfile実装間での互換性により、利用者は多数のMicroProfile実装からひとつを選択、もしくは組み合わせて利用できる
- TCK(Test Compatibility Kit)、Javadoc、ダウンロード用のPDFとHTMLドキュメント、APIのMaven artifact coordinates、Gitタグ、ダウンロードコンテンツ(仕様ならびにソースコード)を含む、APIごとのアーティファクトの完全なセット
Eclipse MicroProfileは引き続き定期的に付加価値を提供し、すべてのコミュニティ貢献者がダイナミックに関わることで、うまく進化し続けています。例えば以下のような感じです。
- MicroProfile Starterのコマンドラインインターフェイス(CLI)が導入され、プログラムからの呼び出しや、統合開発環境(IDE)の拡張機能の作成が容易になった
- MicroProfile StarterのためのVisual Studio Code extensionが先日リリースされた
- コアプラットフォームのリリースからは独立したスタンドアロン仕様のMicroProfile Reactive Message v1.0が、引き続きMicroProfileのリアクティブパラダイムを進化させている
- こちらもスタンドアロンの仕様であるMicroProfile Context Propagation 1.0は、MicroProfile Reactive Streams Operators 1.0とMicroProfile Reactive Messaging 1.0仕様とともに、MicroProfileのリアクティブパラダイムを拡張している
Command line interface for MicroProfile Starter is now available
https://microprofile.io/2019/07/08/command-line-interface-for-microprofile-starter-is-available-now/
MicroProfile Starter
https://start.microprofile.io/
Announcing Visual Studio Code Extension for MicroProfile Starter
https://microprofile.io/2019/09/17/announcing-visual-studio-code-extension-for-microprofile-starter/
https://logico-jp.io/2019/09/19/announcing-visual-studio-code-extension-for-microprofile-starter/
MicroProfile Reactive Streams Operators
https://github.com/eclipse/microprofile-reactive-streams
MicroProfile Context Propagation 1.0.1 (includes TCK updates)
https://github.com/eclipse/microprofile-context-propagation/releases/tag/1.0.1
Eclipse MicroProfileの将来のリリースでは、既存のAPIがアップデートされ、新規APIが追加されます。例えば、以下のトピックで現在活発に議論されており、将来のリリースで出てくる可能性があります。
- Long Running Actions for MicroProfile
https://github.com/eclipse/microprofile-lra - Microprofile GraphQL Specification
https://github.com/eclipse/microprofile-sandbox/tree/master/proposals/graphql - Boost – Maven and Gradle plugins for MicroProfile development
https://github.com/MicroShed/boost - Reactive Relational Database Access
- Event Data
- Service meshes
Eclipse MicroProfileはJava開発者がエンタープライズのJavaマイクロサービス開発を可能にするため着実に進歩し続けています。プログラマー、エンドユーザー、デザイナー、MicroProfileに興味がある人であるならば、我々のコミュニティメンバーに参加して、既存の仕様の開発、関連トピックについての研究開発の支援、革新的なアイデアを扱うグループの結成に関与なさることをお勧めします。
Resources
MicroProfileの情報 | https://microprofile.io |
MicroProfileのプロジェクトを簡単に作成する | MicroProfile Starter https://start.microprofile.io/ |
MicroProfileコミュニティに参加する | MicroProfile Forum https://groups.google.com/forum/#!forum/microprofile |
MicroProfile 3.1の詳細情報 | https://github.com/eclipse/microprofile/releases/tag/3.1 |
MicroProfileのロードマップ | https://projects.eclipse.org/projects/technology.microprofile |