バージョン 6.3.3
 —  ツールおよびユーティリティ  —

SYSRPC - Service Directory Maintenance

SYSRPC ユーティリティには、クライアントの呼び出し元プログラムをサーバーのサブプログラムに接続するためにサービスディレクトリをメンテナンスする場合に使用する機能があります。 サービス情報は、サブプログラム NATCLTGS および XML 形式ファイル SERVDIRX(Natural テキストオブジェクト)に保存されます。

サービスディレクトリメンテナンスの機能を適用する方法の詳細については、『Natural リモートプロシージャコール(RPC)』ドキュメントの「Natural RPC 環境の運用」で「RPC サーバーアドレスの指定」を参照してください。

以下では次のトピックについて説明します。

注意:

NATCLTGS が Natural システムライブラリ SYSRPC に保存されている場合、NATCLTGS をアプリケーションライブラリまたはその steplib のいずれかに移動することを強くお勧めします。


サービスディレクトリの概念

サービスディレクトリの主な項目は、ノード、サーバー、ライブラリ、およびサービス(サブプログラム)です。 これらの項目の階層構造は、[SYSRPC - Remote Procedure Call]ウィンドウにツリービューとして表示されます(「基本的な機能」の「サービスディレクトリツリー」も参照)。 ツリービューの最上位のレベル(ルートノード)は Service Directory で、最下位のレベルはサービス(サブプログラム)です。

サービスディレクトリに指定されたノードおよびサーバー名は、物理名または論理名と論理サービスです。

このセクションでは、次のトピックについて説明します。

物理ノードおよびサーバー

物理ノードとサーバー名は、実際のノード(有効な TCP/IP または Entire Net-Work アドレス)とサーバーの名前を表します。

次の「サービスディレクトリの例」では、2 台のサーバーが 1 つのノードに対して定義されます。 両方のサーバーが同じノード ETB045 に接続されます。 サブプログラム SUB1 に対するリモート CALLNAT がサーバー NRPC001 上で実行されます。一方、サブプログラム SUB2 および SUB3 はサーバー NRPC002 上で実行されます。

ここで指定するサーバー名は、プロファイルパラメータ SRVNAME で指定したサーバー名と同一である必要があります。このパラメータについては、『パラメータリファレンス』ドキュメントを参照してください。 同じように、サービスディレクトリのノード名は、プロファイルパラメータ SRVNODE でサーバーに指定したノード名と同一である必要があります。このパラメータの詳細については、『パラメータリファレンス』ドキュメントを参照してください。

ロケーショントランスペアレンシ

ロケーショントランスペアレンシとは、物理ノード名を論理ノード名で置き換えることができ、物理ノードとサーバー名の組み合わせを論理サービスで置き換えることができるという概念です。

論理ノード名と論理サービスは EntireX で定義され、Natural ランタイム時に物理ノードとサーバー名に対して割り当てられます。

サービスディレクトリの例」および「論理サービスと論理ノード名の使用」も参照してください。

関連トピック:

サービスディレクトリの例

上記のサービスディレクトリの例で、アイコンは、NRPC001-LOGICAL が論理サービスであることを示します。 LOGBROKER=NODE は、NODE が論理ノード名であることを示します。

Top of page

ツリーノード

このセクションでは、サービスディレクトリツリービューに含まれるツリーノードについて説明します。 各ツリーノードは、異なるアイコンで識別されます。

基本的な機能」で説明したメニューバーツールバー、およびコンテキストメニューで提供される機能を使用して、ツリーノードを操作できます。

アイコン ツリーノード 説明

サービス
ディレクトリ
ルート

サービスディレクトリルートノードは、サービスディレクトリが読み込まれたライブラリの名前を示します(Service Directory [library-name])。

例:ライブラリ USERLIB から SYSRPC ユーティリティを呼び出した場合、ルートは Service Directory [USERLIB]を読み込みます。

生じる可能性のある他のルートノードの詳細については、「エラー状況のルートノード名」を参照してください。

ノード

リモート CALLNAT の送信先であるノードの名前。

名前の最大長は次のとおりです。

物理ノード: 32 文字
論理ノード: 192 文字

ログオンオプションの設定に応じて、次のアイコンのいずれかが表示されます。

ログオンしていない
ログオンしている

下記の「ログオンオプション」も参照してください。

サーバー

CALLNAT を実行するサーバーの名前。

名前の最大長:32 文字

ログオンオプションの設定に応じて、次のアイコンのいずれかが表示されます。

ログオンしていない
ログオンしている

下記の「ログオンオプション」も参照してください。

論理サービス

論理サービスの名前。

名前の最大長:192 文字

ログオンオプションの設定に応じて、次のアイコンのいずれかが表示されます。

ログオンしていない
ログオンしている

下記の「ログオンオプション」も参照してください。

ライブラリ SYSTEM、またはリモート CALLNAT の実行時にクライアントアプリケーションがログオンするライブラリの名前。

サービス
(サブプログラム)

クライアントからアクセスするリモートサブプログラムの名前。

最大エントリ数:500 個のサブプログラム。

以降のセクションでは、次の項目について説明します。

エラー状況のルートノード名

このセクションでは、サービスディレクトリに必要なサブプログラムまたはテキストオブジェクトが見つからない場合に生じる可能性があるルートノード名を示し、考えられる理由と解決方法について説明します。

ノード名 理由 解決

Service Directory
from NATCLTGS
[library-name]

テキストオブジェクト SERVDIRX が見つかりません。
これはアイコンによって示されます。

[オブジェクト]メニューの[名前を付けて保存]または[保存]を選択します。

SYSRPC が呼び出されたライブラリに SERVDIRX が生成され、ルートノードの名前が Service Directory [library-name]に変更されます。

Example Service
Directory

サブプログラム NATCLTGS およびテキストオブジェクト SERVDIRX が見つかりません。

[オブジェクト]メニューの[名前を付けて保存]または[保存]を選択します。

SYSRPC が呼び出されたライブラリに NATCLTGS および SERVDIRX が生成され、ルートノードの名前が Service Directory [library-name]に変更されます。

Empty tree

NATCLTGS、SERVDIRX、および Natural システムライブラリ SYSRPC に提供されるサブプログラム DEF-GS が見つかりません。

DEF-GS にはデータ例が含まれています。

  1. ノードとサーバーのために少なくとも 1 つの新規項目を作成するか、少なくとも 1 つの論理サービスを作成します。

  2. 変更を保存します。

SYSRPC が呼び出されたライブラリに NATCLTGS および SERVDIRX が生成され、ルートノードの名前が Service Directory [library-name]に変更されます。

ノードとサーバーの選択条件

Natural ランタイム時、ノードおよびサーバーの選択は、サービス(サブプログラム)とライブラリツリーノードの値によって異なります。 次の条件に従います。

非会話型 CALLNAT

  1. ライブラリツリーノードに、現在のアプリケーションライブラリの名前または SYSTEM が含まれている必要があります。

  2. CALLNAT ステートメントで参照されるサブプログラムは、ポイント(1)のライブラリツリーノードに属するサービス(サブプログラム)ツリーノードに含まれている必要があります。

会話型 CALLNAT

  1. ライブラリツリーノードに、現在のアプリケーションライブラリの名前または SYSTEM が含まれている必要があります。

  2. OPEN CONVERSATION ステートメントに指定したサブプログラムは、ポイント(1)のライブラリツリーノードに属するサービス(サブプログラム)ツリーノードに含まれている必要があります。

非会話型または会話型 CALLNAT に使用されるノードとサーバーは、上位ノードおよびポイント(1)のライブラリツリーノードのサーバーツリーノードから取得されます。

論理サービスと論理ノード名の使用

論理サービスと論理ノード名を定義できます。 論理サービスと論理ノード名の例については、「サービスディレクトリの例」を参照してください。

Start of instruction set 論理サービスを定義するには

Start of instruction set 論理ノード名を定義するには

Start of instruction set 論理ノード名を削除するには

Start of instruction set 論理サービスまたはノードに定義された物理名を表示するには

Top of page

ログオンオプション

[Logon Option]を設定すると、サービスディレクトリに指定されたライブラリに関係なく、CALLNAT 要求ごとに、クライアントでは、クライアントの現在のライブラリ名を使用してサーバーへの Natural ログオンを開始します。 アプリケーションプログラミングインターフェイス USR4008N を使用して、異なるライブラリを指定できます(『Natural リモートプロシージャコール(RPC)』ドキュメントの「ログオンオプションの使用」の「異なるライブラリへのログオン」も参照)。

リモート CALLNAT が実行された(正常または失敗)後、サーバーライブラリは前の状態にリセットされます。 詳細については、『Natural リモートプロシージャコール(RPC)』ドキュメントの「ログオンオプションの使用」を参照してください。

[Logon Option]はサーバーまたはノードレベルで設定し、階層の下位レベルで行われたすべての定義に適用できます。 [Logon Option]を特定のサーバーに設定した場合、すべての関連ライブラリとサブプログラムの定義に適用されます。

Start of instruction set [Logon Option]を設定するには

  1. [Service Directory]ツリービューで、ノード、サーバー、または論理サービスのツリーノードを選択し、コンテキストメニューから[Logon Option]を選択します。

  2. [Yes]を選択してサーバーに[Logon Option]を設定します (デフォルトは[No]です)。

    選択したノードに対して[Logon Option]が正常に設定されると、ノードを示すアイコンが から に変わります。

    論理サービスに対して[Logon Option]が正常に設定されると、論理サービスを示すアイコンが から に変わります。

    選択したサーバーに対して[Logon Option]が正常に設定されると、ノードを示すアイコンが から に変わります。

Top of page

トランスポートプロトコル

Start of instruction set トランスポートプロトコルを指定するには

Top of page