Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 解説


2.13.3 gRPC受付の機能

gRPC受付では,gRPCインバウンドアダプタから渡されたメッセージから,要求電文を作成し,ビジネスプロセスに渡します。

また,ビジネスプロセスから渡された応答電文から返却するメッセージを作成し,インバウンドアダプタに返します。

図2‒117 gRPC受付を利用した処理の流れ

[図データ]

なお,1つのgRPCインバウンドアダプタから複数のgRPC受付に接続できます。複数のgRPC受付から1つのビジネスプロセスに接続することもできます。

gRPC受付の通信モデルは,同期通信です。

gRPC受付では,ビジネスプロセスの処理時間(要求電文を渡して応答電文が返ってくるまでの処理時間)は監視しません。

gRPC受付の定義の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「2.10.2 gRPC受付を追加する」を参照してください。

〈この項の構成〉

(1) フォルト応答

gRPCクライアントに任意のgRPCのエラー応答(ステータスコードやエラー情報など)を返す場合,ビジネスプロセスからフォルトが発生したことを示す応答電文を送信します。

図2‒118 gRPC受付のフォルト応答

[図データ]

gRPC受付では,ビジネスプロセスから返却されたフォルト電文をgRPCのエラー情報(gRPCのオブジェクト)に変換し,gRPCインバウンドアダプタにデータを渡します。

また,gRPCクライアントに返すエラー情報には,gRPCのメタデータを含むことができます。メタデータを含む場合は,フォルト電文にメタデータの設定内容を定義します。メタデータの設定については,「(2)メタデータ」を参照してください。

フォルト電文の設定の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「2.10.3 フォルト電文フォーマットを修正する」を参照してください。

(2) メタデータ

gRPCクライアントから送信されたメタデータの内容を,ビジネスプロセスで参照できます。また,gRPCクライアントにメタデータを返却できます。

gRPCクライアントからメタデータが送信された場合,gRPC受付はヘッダ電文にメタデータの内容を設定し,ビジネスプロセスにヘッダ電文を渡します。

gRPCクライアントにメタデータを返す場合,ビジネスプロセスからヘッダ電文を返します。

ビジネスプロセスから返却されたヘッダ電文が,次の条件をすべて満たす場合,gRPC受付にヘッダ電文が返却されたとみなされます。

また,上記に該当するヘッダ電文内の,接頭辞「grc」で修飾されていない要素は,要素が指定されていないとみなされます。

gRPC受付のヘッダ電文はサービスプラットフォームが提供するスキーマを使用します。そのため,ヘッダ電文の作成は不要です。

送受信するメタデータの値は,テキスト形式またはバイナリ形式で設定できます。どちらのデータ形式かは,メタデータのキー名によって判断します。

データ形式はメタデータのキーごとに設定できます。

(3) 流量制御

gRPCクライアントとサービスプラットフォームを接続する場合,gRPC受付で流量制御を設定できます。流量制御の設定については,gRPC受付定義ファイルで設定します。

gRPC受付定義ファイルの設定の詳細については,マニュアル「サービスプラットフォーム リファレンス」の「3.17.1 gRPC受付定義ファイル」を参照してください。

流量制御で設定できる項目を次に示します。

表2‒51 流量制御の設定項目

項目

オブジェクト

説明

プール内インスタンスの最小数

urecp-grpc.pooled-instance.minimum

カスタム受付フレームワークのプール内インスタンスの最小数を指定します。

プール内インスタンスの最大数

urecp-grpc.pooled-instance.maximum

受付処理およびカスタム受付フレームワークのプール内インスタンスの最大数を指定します。

(4) gRPC受付使用時のトランザクション

gRPC受付で開始される新たなトランザクションは,受付処理が操作します。

ビジネスプロセスを呼び出すときのgRPC受付のトランザクションの範囲を次に示します。

図2‒119 gRPC受付のトランザクションの範囲

[図データ]