Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


4.5.1 クライアントでサポートするOpenTP1の機能

アプリケーションサーバを呼び出すOpenTP1のクライアントでのOpenTP1の機能の使用可否を次の表に示します。なお,OpenTP1のそれぞれの機能の詳細については,マニュアル「OpenTP1 解説」およびマニュアル「OpenTP1 プログラム作成の手引」を参照してください。

表4‒2 クライアントでの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の機能です。

次の機能は使用できません。