4.5.1 クライアントでサポートするOpenTP1の機能
アプリケーションサーバを呼び出すOpenTP1のクライアントでのOpenTP1の機能の使用可否を次の表に示します。なお,OpenTP1のそれぞれの機能の詳細については,マニュアル「OpenTP1 解説」およびマニュアル「OpenTP1 プログラム作成の手引」を参照してください。
機能の分類 |
OpenTP1の機能 |
使用可否 |
---|---|---|
ユーザアプリケーションプログラムの種類 |
SUP |
○ |
SPP |
○ |
|
MHP |
○ |
|
RPCの種類 |
同期応答型RPC |
○ |
非同期応答型RPC |
× |
|
非応答型RPC |
× |
|
連鎖RPC |
× |
|
トランザクショナルRPC |
○ |
|
認証RPC |
× |
|
呼び出し先のRPC受信形態 |
キュー受信型サーバ |
○ |
ソケット受信型サーバ |
× |
|
リモートAPI機能 |
リモートAPI機能 |
× |
RPCのサービス要求方式 |
ユーザサービスネットワーク定義によるスケジューラダイレクト機能 |
○ |
dc_rpc_call_to関数によるスケジューラダイレクト機能 |
○ |
|
ネームサービス機能 |
× |
|
ドメインネームシステム機能 |
× |
|
グローバル検索機能 |
× |
|
マルチスケジューラ機能 |
× |
|
電文操作 |
ユーザデータ電文の圧縮機能 |
× |
ユーザ電文 |
ユーザ電文長8メガバイト拡張 |
○ |
そのほか |
コネクションの保持 |
○ |
テストモード |
× |
|
要求用TCP/IPコネクションの接続リトライ |
○ |
|
詳細エラーコード取得機能 |
× |
各機能に対するTP1インバウンドアダプタでの対応について,機能の分類ごとに説明します。
- 〈この項の構成〉
(1) ユーザアプリケーションプログラムの種類
TP1インバウンドアダプタでは,SUP(サービス利用プログラム),SPP(サービス提供プログラム),およびMHP(メッセージ処理プログラム)からの処理を受け付けます。
(2) RPCの種類
TP1インバウンドアダプタでは,OpenTP1で使用できるRPC形態のうち,同期応答型RPCおよびトランザクショナルRPCを使用できます。
非同期応答型RPCまたは非応答型RPCを使用してTP1インバウンドアダプタを呼び出した場合,クライアントにはエラーが返されます。
連鎖RPCとは,RPCを複数回実行する場合に,各RPC呼び出しを必ず同じプロセスで実行することを保証するOpenTP1の機能です。TP1インバウンドアダプタでは,連鎖RPCを保証しません。クライアントで連鎖RPCを有効にしてRPC通信を実行した場合は,エラーが返されます。
なお,TP1インバウンドアダプタでは,認証RPCはサポートしません。
(3) 呼び出し先のRPC受信形態
TP1インバウンドアダプタでは,キュー受信型サーバだけを使用できます。
TP1インバウンドアダプタでは,必ずスケジュールキューを経由してサービス要求を受信します。このため,スケジュールキューを経由しないで直接サービス要求を受信する形態であるソケット受信型サーバ機能は使用できません。
(4) リモートAPI機能
TP1インバウンドアダプタでは,リモートAPI機能は使用できません。
リモートAPI機能とは,OpenTP1のSPP側でRPCの代理実行をする機能です。OpenTP1では,リモートAPIを使用することで,ファイアウォールの内側にあるUAPに対してサービスを要求できます。TP1インバウンドアダプタを使用する場合,ファイアウォールの内側のUAPに対するサービス要求はできません。
(5) RPCのサービス要求方式
TP1インバウンドアダプタでは,ユーザサービスネットワーク定義によるスケジューラダイレクト機能を利用して,SUPからSPPを呼び出します。ユーザサービスネットワーク定義によるスケジューラダイレクト機能とは,あらかじめ,ユーザサービスネットワーク定義にサービス情報を静的に定義しておくことで,ネームサービスを参照しないで,直接スケジュールサービスにアクセスするための機能です。TP1インバウンドアダプタを呼び出す場合,必ずこの機能を使用してください。
ユーザサービスネットワーク定義に複数のホストを記載することで,OpenTP1の機能によってランダムに決定されたノードにサービス要求を転送することができます。一度決定した転送先ノードは,基本的には固定されます。また,オプションの定義によって,ノード決定を定期間隔で再決定できるようにチューニングできます。
TP1インバウンドアダプタでは,OpenTP1のネームサービスを代替する機能は使用できません。このため,ネームサービスを使用したサービス情報の参照はできません。ユーザサービスネットワーク定義によるスケジューラダイレクト機能を使用する設定がない場合,SUPでサービス情報を取得できないため,TP1インバウンドアダプタを呼び出せません。
なお,TP1インバウンドアダプタでは,ネームサービスの代替機能を使用できないため,ネームサービスの付加機能である次の機能も使用できません。
-
ドメインネームシステム機能
-
グローバル検索機能
また,TP1インバウンドアダプタでは,OpenTP1のマルチスケジューラ機能を使用できません。マルチスケジューラ機能とは,複数のスケジューラを起動して複数のRPCを同時に受け付ける機能です。ただし,TP1インバウンドアダプタのスケジュール機能では,受け付けた要求をマルチスレッドで処理するため,すでに電文を処理している場合も,新たに受け付けた別のRPCを同時に処理できます。
- 参考
-
OpenTP1のネームサービス機能
OpenTP1では,ネームサービスを使用して,各ノードにあるサービスに関する情報を検索できます。
OpenTP1でSUPからSPPを呼び出す通常の手順では,SUPでdc_rpc_call関数を実行する際に,ローカル環境のOpenTP1システム中のネームサービスに対してサービス情報の検索を実行します。ローカル環境のネームサービスは,ほかのノードのネームサービスと情報連携して,各ノードに存在するサービス情報を保持しています。検索実行後,ネームサービスから目的のサービスグループに対応するサービスの情報(スケジュールサービスのあるホストおよびポート番号の情報)が返されます。SUPでは,返却された情報を基に,スケジュールサービスにRPC通信を実行します。
(6) 電文操作
TP1インバウンドアダプタでは,ユーザデータ電文圧縮機能を使用できません。
ユーザデータ電文圧縮機能とは,RPCによってネットワーク上に送信されたユーザ電文を圧縮することによって,パケット数を削減し,ネットワークの混雑を緩和するOpenTP1の機能です。
TP1インバウンドアダプタでは,ユーザデータが圧縮されていた場合,エラーを返却します。
(7) ユーザ電文
RPC通信で,8メガバイトまでのユーザ電文を送受信できます。
(8) そのほか
TP1インバウンドアダプタでは,表4-2で「そのほか」に分類した機能のうち,コネクションの保持,および要求用TCP/IPコネクションの接続リトライを実行できます。コネクションの保持では,ノード間で確立したコネクションを保持できます。また,要求用TCP/IPコネクションの接続リトライは,RPC要求時にコネクションの確立に失敗した場合に,コネクションの確立をリトライするOpenTP1の機能です。
次の機能は使用できません。
-
テストモードは有効にできません。テストモードが有効になっている場合は,エラーを返却します。
-
詳細エラーコード取得機能は使用できません。なお,詳細エラーコード出力機能とは,エラーが発生した場合に,OpenTP1の呼び出し元に返却されるエラーコードを詳細化する機能です。