BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Eclipse MicroProfile 1.3が公開

Eclipse MicroProfile 1.3が公開

ブックマーク

原文(投稿日:2018/02/16)へのリンク

読者の皆様へ: 皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

Eclipse MicroProfileは,Java EEを拡張して,エンタープライズJavaマイクロサービスのオープンソースコミュニティ仕様を提供することにより,マイクロサービスへの対応状況を改善するものだ。リリース1.3では,OpenAPI,OpenTracing,Rest Client APIが新たに導入された他,Config APIとMetrics APIがアップデートされている。

 

MicroProfile OpenAPI 1.0

マイクロサービスアーキテクチャ(MSA)では,マイクロサービスの数が増えるに従って,その管理が難しいものになる。1.3で導入された新機能であるOpenAPIは,API(Application Programming Interface)管理ソリューションによって,マイクロサービスの管理を容易なものにする。Swagger Coreをベースとしたこの実装は,開発者が自身のAPIドキュメントを公開するために使用可能な,プログラム言語に依存しない標準インターフェースの記述定義であるOpen API仕様に準拠している。生成されるインターフェースは,一般にOpenAPIドキュメントと呼ばれる。OpenAPIドキュメント生成のための入力を提供するように,アプリケーションを拡張する方法はいくつかある。

前述したドキュメントメカニズムを使って構築されたOpenAPIドキュメントの更新には,フィルタを使用することができる。

 

MicroProfile OpenTracing 1.0

MSAでは,サービス境界を越えた要求のフローをトレースするために,分散トレースが重要になる。1.3リリースの新機能のひとつであるOpen Tracingでは,振る舞いを定義して分散トレースをサポートするとともに,開発時ではなく,運用環境レベルにおける分散型トレースの実施を可能にしている。OpenTracing APIを使えば,アプリケーション内のTracerオブジェクトにアクセスすることができる。このTracerオブジェクトを使うことで,入力する要求から必要な情報を抽出したり,出力される要求に必要な情報を追加したりすることが可能になる。

分散トレースには2つの運用モードがある。

  • アプリケーションコード上の実装を必要としないもの
  • 明示的にコードを実装するもの

アプリケーションコードの実装なしで運用する場合,開発者がアプリケーションに分散トレース用のコードを加えたり,アプリケーションが配置される環境のタイプについて意識したりする必要はない。出力される要求が入力要求と同じスレッドで実行される限り,両者の相関関係は自動的に処理される。

明示的なコード実装を伴う運用では,トレース対象のクラスないしメソッドを指定するために@Threadアノテーションが使用される。設定済みのTracerオブジェクトがコンテキストおよび依存性注入(CDI)を通じてアプリケーションに提供されるため,より複雑なトレース機能をアプリケーションに追加することも可能だ。

 

MicroProfile Rest Client API 1.0

1.3リリースの新機能のひとつであるRest Client APIは,RESTfulなサービスをHTTP経由で呼び出すためのタイプセーフなアプローチを提供する。

String apiUrl = "http://localhost:9080/stockScoringService";
StockScoringService stockSvc =   
    RestClientBuilder.newBuilder()
            .baseUrl(apiUrl)
            .build(StockScoringService.class);

Score score = new Score(10,"Great performing stock.");

stockSvc.submitScore(stockId, score);

Rest Client APIを使うことにより,より自然なコーディングスタイルがサポートされると同時に,HTTP接続とシリアライゼーションが自動的に処理される。

 

MicroProfile Config 1.2

クラウド環境で動作するマイクロサービスにおいて特に重要なのは,アプリケーション動作中に構成情報を変更して,その内容を再起動することなく有効にするというニーズである。Config 1.2では,設定値の変更を直後にピックアップすることができる。最新リリースでは,配列コンバータ,クラスコンバータ,および指定されたクラスに対応するコンバータタイプが存在しないクラスに対する暗黙のコンバータのサポートが提供される。

 

MicroProfile Metrics 1.1

システムパラメータを監視することにより,ソフトウェアが所定の動作をしていることが確認できる。Metricsは,監視用のエンドポイントとメトリクスをプロセスに追加する。単純なヘルスチェックとは違い,Metricsでは,ベースラインやアプリケーション,ベンダ特有の測定値を提供にすることによって,ソフトウェアの特定の部分が正しく動作していることを,より深く調べることができる。最新リリースでは,テスト互換性キット(TCK)の改善,設定ファイルを通じたグローバルタグの提供機能,メトリック名を複数回登録可能な場合を示すアノテーションのフラグとメタデータが提供されている。

MicroProfile 1.3を使用するには,pom.xmlに次の依存関係を追加する。

<dependency>
      <groupId>org.eclipse.microprofile</groupId>
      <artifactId>microprofile</artifactId>
      <version>1.3</version>
      <type>pom</type>
</dependency>

詳細については,MicroProfile 1.3のリリースノートを参照して頂きたい。

InfoQ Javaホームページにアクセスして,Java関連の最新ニュースを確認することも可能だ。
 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT