2.7.2 TP1からTP1/RPC受付を使ったHCSCサーバのサービス部品の呼び出し
HCSCサーバの標準受付(SessionBean,MDB(DBキュー))のほかに,ユーザ定義受付(TP1/RPC受付)を使用することで,既存のOpenTP1システムから,HCSCサーバを経由してサービス部品を呼び出せます。
TP1/RPC受付は,開発環境でTP1/RPC受付定義ファイルを作成し,実行環境へ配備することで利用できます。なお,サービスリクエスタからのサービス部品呼び出し要求を受けた場合,TP1/RPC受付は,リソースアダプタであるTP1インバウンドアダプタから電文を受け取って処理をします。そのため,TP1/RPC受付を使用する場合は,TP1インバウンドアダプタのセットアップが必要になります。
TP1/RPC受付を使用することで,サービスリクエスタはビジネスプロセスを,リモートプロシジャコール通信(同期応答型RPC)で呼び出せます。サービスリクエスタが呼び出すビジネスプロセスは,dc_rpc_call関数に指定するサービスグループ名とサービス名で特定されます。このとき指定したサービスグループ名とサービス名が,それぞれTP1インバウンドアダプタとTP1/RPC受付に結び付けられます。
OpenTP1システムからのサービス部品の呼び出しを次の図に示します。
(1) TP1/RPC受付使用時のトランザクション
TP1/RPC受付では,サービスリクエスタおよびTP1インバウンドアダプタのトランザクションとは異なる新たなトランザクションを開始します。
また,ビジネスプロセス内ではさらにTP1/RPC受付と異なる新たなトランザクションが開始されます。
ビジネスプロセスを呼び出すときのTP1/RPC受付のトランザクションを次に示します。
(2) TP1/RPC受付のデータ変換
TP1/RPC受付でのデータの流れとデータ変換の関係,およびデータ変換時の構造変換スキップ機能の指定について説明します。
(a) TP1/RPC受付でのデータの流れとデータ変換の関係
サービスリクエスタから受け取った要求電文(バイナリ形式)は,TP1/RPC受付によってデータ変換(バイナリ形式からXML形式への変換)が実行されます。データ変換によって変換された要求電文(XML形式)は,HCSCメッセージ配送制御を経由してビジネスプロセスに渡されます。ビジネスプロセスから返ってきた応答電文(XML形式)は,TP1/RPC受付によってデータ変換(XML形式からバイナリ形式への変換)が実行されます。データ変換によって変換された応答電文(バイナリ形式)は,TP1インバウンドアダプタを経由してサービスリクエスタに返されます。
TP1/RPC受付でのデータの流れとデータ変換の関係を次に示します。
(b) データ変換時の構造変換スキップ機能の指定
構造変換スキップ機能とは,データ変換時に電文の構造変換をスキップする機能のことです。
要求電文のデータ変換では,サービスリクエスタから受け取ったバイナリ形式の要求電文から生成したDOMツリーを,そのままビジネスプロセスに渡したいときに,構造変換スキップ機能を有効にできます。
応答電文のデータ変換では,ビジネスプロセスから返ってきたDOMツリーから,直接,バイナリ形式の応答電文を生成し,サービスリクエスタに返したいときに,構造変換スキップ機能を有効にできます。
- ●構造変換スキップ機能の設定方法
-
構造変換スキップ機能の設定を有効にするには,開発環境のユーザ定義受付定義画面で,[独自定義ファイル]にTP1/RPC受付定義ファイルを設定します。
ユーザ定義受付定義画面に表示される項目については,マニュアル「サービスプラットフォーム リファレンス」の「1.2.5 ユーザ定義受付定義画面」を参照してください。
TP1/RPC受付定義ファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「3.4.1 TP1/RPC受付定義ファイル」を参照してください。
- ●構造変換スキップ機能を使用するときの注意事項
-
開発環境のユーザ定義受付定義画面で,要求電文および応答電文の受付電文フォーマットにバイナリフォーマット定義ファイルを,要求電文および応答電文のサービス部品電文フォーマットにXMLフォーマット定義ファイルを指定します。
開発環境のユーザ定義受付定義画面で,要求電文および応答電文のサービス部品電文フォーマットには,受付電文フォーマット(バイナリフォーマット定義ファイル)からcscfdx2xsdコマンドを使用して生成したXMLフォーマット定義ファイルを指定してください。
(3) TP1/RPC受付のチューニング
ここでは,TP1/RPC受付の同時実行数,タイムアウト,およびトランザクションタイムアウトの設定変更について説明します。
(a) 同時実行数の設定方法
同時実行数の設定を変更するときのTP1インバウンドアダプタでの設定,およびTP1/RPC受付での設定について説明します。
- ●TP1インバウンドアダプタでの設定
-
TP1インバウンドアダプタでの設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「4.12.2 リソースアダプタの設定」を参照してください。
- ●TP1/RPC受付での設定
-
TP1/RPC受付では,次の環境でチューニングパラメタを変更できます。
-
開発環境(ユーザ定義受付定義画面でTP1/RPC受付定義ファイルを設定)
-
運用環境(コマンドでTP1/RPC受付定義ファイルを設定,またはコマンドでアプリケーション統合属性ファイルを設定)
TP1/RPC受付の同時実行数の設定を変更するとき,TP1/RPC受付で変更できる内容を次に示します。
- ●TP1/RPC受付定義ファイルを設定する場合
-
次に示すTP1/RPC受付定義ファイルのプロパティに値を設定します。
-
urecp-tp1rpc.activation-config.queue_max_lengthプロパティ
-
urecp-tp1rpc.pooled-instance.minimumプロパティ
-
urecp-tp1rpc.pooled-instance.maximumプロパティ
-
- ●アプリケーション統合属性ファイルを設定する場合
-
アプリケーション統合属性ファイルの要素に値を設定します。
設定する要素については,次に示すXPath式を参照してください。
-
//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_tp1rpc']/../../hitachi-message-bean-property/display-name[.='CSCMsgTp1RpcServiceDelivery']/../activation-config/activation-config-property/activation-config-property-name[.='queue_max_length']/../activation-config-property-value
-
//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../session-runtime/stateless/pooled-instance/minimum
-
//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../session-runtime/stateless/pooled-instance/maximum
-
//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_tp1rpc']/../../hitachi-message-bean-property/display-name[.='CSCMsgTp1RpcServiceDelivery']/../message-runtime/pooled-instance/maximum
-
-
(b) タイムアウト時間の設定方法
タイムアウトの設定を変更するときのTP1インバウンドアダプタでの設定,およびTP1/RPC受付での設定について説明します。
- ●TP1インバウンドアダプタでの設定
-
TP1インバウンドアダプタでは,パフォーマンスチューニングのための機能を定義する場合,Connector属性ファイルを使用します。
TP1インバウンドアダプタでの設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「4.12.2 リソースアダプタの設定」を参照してください。ただし,サービス実行タイムアウトの設定は行わないでください。
- ●TP1/RPC受付での設定
-
TP1/RPC受付で設定の変更はありません。
(c) トランザクションタイムアウト時間の設定方法
トランザクションタイムアウトの設定を変更するときのTP1インバウンドアダプタでの設定,およびTP1/RPC受付での設定について説明します。
- ●TP1インバウンドアダプタでの設定
-
TP1インバウンドアダプタで設定の変更はありません。
- ●TP1/RPC受付での設定
-
TP1/RPC受付では,次の環境でチューニングパラメタを変更できます。
-
開発環境(ユーザ定義受付定義画面でTP1/RPC受付定義ファイルを設定)
-
運用環境(コマンドでTP1/RPC受付定義ファイルを設定,またはコマンドでアプリケーション統合属性ファイルを設定)
TP1/RPC受付のトランザクションタイムアウトの設定を変更するとき,TP1/RPC受付で変更できる内容を次に示します。
- ●TP1/RPC受付定義ファイルを設定する場合
-
次に示すTP1/RPC受付定義ファイルのプロパティに値を設定します。
-
urecp-tp1rpc.ejb-transaction-timeoutプロパティ
-
- ●アプリケーション統合属性ファイルを設定する場合
-
アプリケーション統合属性ファイルの要素に値を設定します。
設定する要素については,次に示すXPath式を参照してください。
-
//hitachi-application-all-property/ejb-jar/hitachi-ejb-jar-property/display-name[.='cscmsg_urecp_custom']/../../hitachi-session-bean-property/display-name[.='CSCMsgCustomServiceDelivery']/../ejb-transaction-timeout/method/method-name[.='*']/../../transaction-timeout
-
-