Service Directory Maintenance 機能は、クライアントの呼び出し元プログラムをサーバーのサブプログラムに接続するためにサービスディレクトリをメンテナンスする場合に使用します。
サービスディレクトリ情報は、NTRPC
/RPC
キーワードサブパラメータ RPCSDIR
で定義されているライブラリ内の NATCLTGS サブプログラムに格納されます(『パラメータリファレンス』ドキュメントを参照)。 RPCSDIR
が設定されている場合、サービスディレクトリメンテナンス機能は、RPCSDIR
で指定されているライブラリを参照します。 RPCSDIR
が設定されていない場合(デフォルト)、ユーザーがログオンしているライブラリが参照されます。 この場合は、サービスディレクトリメンテナンス機能を実行する前に、実行時にクライアントにより使用されるライブラリ(またはその steplib の 1 つ)にログオンします。
サービスディレクトリメンテナンス用に参照されるライブラリの名前は、[Service Directory]画面の右上隅に表示されます(「Service Directory Maintenance の呼び出し」を参照)。 RPCSDIR
が設定されている場合、画面タイトルに[Central]が含まれます。これは、画面に表示されているライブラリが、現在ユーザーがログオンしているライブラリではなく、RPCSDIR
で指定されている中央ライブラリであることを示しています。
NATCLTGS が Natural システムライブラリ SYSRPC に保存されている場合、NATCLTGS をアプリケーションライブラリまたはその steplib のいずれかに移動することを強くお勧めします。
Service Directory Maintenance 機能を適用する方法の詳細については、『Natural リモートプロシージャコール(RPC)』ドキュメントの「Natural RPC 環境の運用」で「RPC サーバーアドレスの指定」を参照してください。
このセクションでは、次のトピックについて説明します。
サービスディレクトリには、下位のフィールドを上位のフィールドに割り当てるためのカスケードリストを含む階層構造があります。 最上位の階層レベルはノードで、最下位の階層レベルはプログラムです。 ノード、サーバー、ライブラリ、およびプログラムを同じ行に入力することはできません。 同じ行に入力した場合、該当するエラーメッセージが表示されます。 下位のフィールドの値は、上位のフィールドの下の行に入力する必要があります。 複数のサーバーを 1 つのノードに、複数のライブラリを 1 台のサーバーに、複数のプログラムを 1 つのライブラリにそれぞれ割り当てることができます。
サービスディレクトリに指定されたノードおよびサーバー名は、物理名または論理名と論理サービスです。
物理ノードとサーバー名は、実際のノード(有効な TCP/IP または Entire Net-Work アドレス)とサーバーの名前を表します。
「例 1 - [Service Directory]の標準ビュー」では、2 台のサーバーが 1 つのノードに対して定義されます。 両方のサーバーが同じノード ETB045
に接続されます。 サブプログラム SUB1
に対するリモート CALLNAT
がサーバー NRPC001
上で実行されます。一方、サブプログラム SUB2
および SUB3
はサーバー NRPC002
上で実行されます。
ここで指定するサーバー名は、NTRPC
/RPC
キーワードサブパラメータ SRVNAME
(『パラメータリファレンス』ドキュメントを参照)で指定したサーバー名と同一である必要があります。 同じように、サービスディレクトリのノード名は、NTRPC
/RPC
キーワードサブパラメータ SRVNODE
(『パラメータリファレンス』ドキュメントを参照)でサーバーに指定したノード名と同一である必要があります。
ロケーショントランスペアレンシとは、物理ノード名を論理ノード名で置き換えることができ、物理ノードとサーバー名の組み合わせを論理サービスで置き換えることができるという概念です。
論理ノード名と論理サービスは EntireX で定義され、Natural ランタイム時に物理ノードとサーバー名に対して割り当てられます。
「例 1 - [Service Directory]の標準ビュー」で、[Node]フィールドの *LOCTRAN
は、[Server]フィールドに論理サービス NRPC001-LOGICAL
が含まれることを示します。 [Node]フィールドの LOGBROKER=NODE
は、論理ノード名を示します。
『Natural リモートプロシージャコール(RPC)』ドキュメントの「Natural RPC 環境の運用」セクションの「ロケーショントランスペアレンシの使用」。
EntireX ドキュメントの関連セクション。
Service Directory Maintenance 機能では、Natural エディタを呼び出します。 その結果、Service Directory Maintenance の呼び出し時に、ソースワークエリアに保存されたデータが失われる可能性があります。 該当するメッセージで、不用意に既存のエントリを削除しないよう警告されます。PF12 キーを押して機能をキャンセルするか、または Enter キーを押して操作を確認し、ソースワークエリアをクリアします。
Service Directory Maintenance 機能を呼び出すには
[Client Maintenance]メニューの[Code]フィールドに、次のコマンドを入力します。
SM
サービスディレクトリにすでにサービス定義が含まれている場合、ウィンドウが開いて次のメッセージが表示されます。
Existing service definitions found
ウィンドウの[Code]フィールドに「A
」(デフォルト)を入力し、古い定義を保持して新しい定義を追加し、Enter キーを押します。
または
ウィンドウの[Code]フィールドに「I」
を入力し、既存のすべての定義を無視してサービスディレクトリから削除し、Enter キーを押します。
次に示すように、[Service Directory]画面の標準ビューが表示されます。
15:32:25 *** NATURAL Remote Procedure Call *** 2004-04-14 Service Directory SYSRPC Node Tr. Server Logon Library Program 1 ETB045__________ B ________________ _ ________ ________ 2 ________________ _ NRPC001_________ N ________ ________ 3 ________________ _ ________________ _ SYSTEM__ ________ 4 ________________ _ ________________ _ ________ SUB1____ 5 ________________ _ NRPC002_________ Y ________ ________ 6 ________________ _ ________________ _ SYSTEM__ ________ 7 ________________ _ ________________ _ ________ SUB2____ 8 ________________ _ ________________ _ ________ SUB3____ 9 *LOCTRAN________ _ ________________ _ ________ ________ 10 ________________ B NRPC001-LOGICAL_ N ________ ________ 11 ________________ _ ________________ _ SYSTEM__ ________ 12 ________________ _ ________________ _ ________ SUB1____ 13 LOGBROKER=NODE B ________________ N ________ ________ 14 ________________ _ NRPC002_________ N ________ ________ 15 ________________ _ ________________ _ SYSTEM__ ________ 16 ________________ _ ________________ _ ________ S?B*____ Command ==> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help LocTr Exit Find -H +H -P +P Top Bot < Canc |
[Service Directory]画面には、最大 500 行入力できます。
PF11 キーを押すか、コマンド行に小なり(<)記号を入力すると、次の例のような[Service Directory]画面の拡張ノード/サーバービューが表示されます。
14:48:33 *** NATURAL Remote Procedure Call *** 2004-04-14 Service Directory SYSRPC Node Tr. Server Logon 1 ETB045__________________________ B ________________________________ _ 2 ________________________________ _ NRPC001_________________________ N 3 ________________________________ _ ________________________________ _ 4 ________________________________ _ ________________________________ _ 5 ________________________________ _ NRPC002_________________________ Y 6 ________________________________ _ ________________________________ _ 7 ________________________________ _ ________________________________ _ 8 ________________________________ _ ________________________________ _ 9 *LOCTRAN________________________ _ ________________________________ _ 10 ________________________________ B NRPC001-LOGICAL_________________ N 11 ________________________________ _ ________________________________ _ 12 ________________________________ _ ________________________________ _ 13 LOGBROKER=NODE__________________ B ________________________________ N 14 ________________________________ _ NRPC002_________________________ N 15 ________________________________ _ ________________________________ _ 16 ________________________________ _ ________________________________ _ Command ==> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help LocTr Exit Find -H +H -P +P Top Bot > Canc |
PF11 キーを押すか、コマンド行に大なり(>)記号を入力すると、「例 1 - [Service Directory]の標準ビュー」に示すような[Service Directory]画面の標準ビューが表示されます。
[Service Directory]画面には、次の入力フィールドがあります(1 行当たり 1 エントリ)。
フィールド | 説明 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Node |
リモート 入力の最大長は次のとおりです。
|
||||||||||||||||||||||||
Tr. |
トランスポートプロトコル。
|
||||||||||||||||||||||||
Server |
リモート 入力の最大長は次のとおりです。
|
||||||||||||||||||||||||
Logon |
|
||||||||||||||||||||||||
Library | SYSTEM、またはリモート CALLNAT の実行時にクライアントアプリケーションがログオンするライブラリの名前。
|
||||||||||||||||||||||||
Program |
|
Natural ランタイム時、ノードおよびサーバーの選択は、[Program]フィールドと[Library]フィールドの値によって異なります。 次の条件に従います。
CALLNAT
[Library]フィールドに、現在のアプリケーションライブラリの名前または SYSTEM が含まれている必要があります。
CALLNAT
ステートメントに指定するサブプログラムの名前は、ポイント(1)の[Library]フィールドに属する[Program]フィールドに含まれている必要があります。
CALLNAT
[Library]フィールドに、現在のアプリケーションライブラリの名前または SYSTEM が含まれている必要があります。
OPEN CONVERSATION
ステートメントに指定するサブプログラムは、ポイント(1)の[Library]フィールドに属する[Program]フィールドに含まれている必要があります。Library
非会話型または会話型 CALLNAT
に使用されるノードとサーバーは、ポイント(1)の[Library]フィールドの上位[Node]フィールドおよび[Server]フィールドから取得されます。
このセクションでは、[Service Directory]画面で使用できるコマンドに関する情報について説明します。
[Service Directory]画面で使用できる行コマンドは、フィールド値を含む 1 行または複数の行をコピー、移動、または削除する場合に使用します。
行コマンドは行の先頭に入力します。つまり、シーケンス番号を上書きします。それから ENTER キーを押します。
「行ブロックをコピーまたは移動するには」およびダイレクトコマンド RESET
の項も参照してください。
行コマンド | 機能 |
---|---|
A |
CC または MM でマークされた行ブロックを、コマンドが入力された行の下にコピーまたは移動します。
|
CC |
コピーする行ブロックをマークします。 |
D |
マークされた行を削除します。 |
DD |
行ブロックをマークして削除します。
ブロックの最初の行と最後の行にこのコマンドを入力して行ブロックをマークし、Enter キーを押してコマンドを実行します。 |
I |
コマンドが入力された行の下に空行を 5 行挿入します。 |
MM |
移動する行ブロックをマークします。 |
P |
CC または MM でマークされた行ブロックを、コマンドが入力された行の上にコピーまたは移動します。
|
ブロックが開始する行の先頭で、次のいずれかの行コマンドでシーケンス番号を上書きします。
CC
これがブロックをコピーする場合のコマンドです。
MM
これがブロックを移動する場合のコマンドです。
ブロックが開始する行の末尾で、次のいずれかの行コマンドでシーケンス番号を上書きします。
CC
これがブロックをコピーする場合のコマンドです。
MM
これがブロックを移動する場合のコマンドです。
ENTER キーを押します。
行コマンドが非表示になり、シーケンス番号が再度表示され、行ブロックがマークされています。
マークされた行ブロックを下または上の行に配置する行の先頭に、次のいずれかの行コマンドを入力します。
A
これがブロックを指定した行の下にコピーまたは移動する場合のコマンドです
P
これがブロックを指定した行の上にコピーまたは移動する場合のコマンドです
A
または P
を実行できるのは、少なくとも 1 つのフィールドが埋められている行のみであることに注意してください。
ENTER キーを押します。
行ブロックが指定された行の下または上にコピーされるか、または移動します。
[Service Directory]画面では、次のダイレクトコマンドと PF キーを使用できます。
ダイレクトコマンド | PF キー | 機能 | ||||||
---|---|---|---|---|---|---|---|---|
EXPIRATION
|
リモートディレクトリデータはランタイム時にロードされます。 このデータが有効とされる期間は設定された有効時間(秒単位)によって決定します。 有効時間の設定後にディレクトリデータが要求された場合、データは自動的に再ロードされます。 有効時間が
0 に設定されていると、リモートディレクトリデータは再ロードされません。
ダイレクトコマンド コマンドとともにパラメータを入力しない場合、[Expiration Time]ウィンドウが表示され、現在の時刻を表示または変更できます。 |
|||||||
RESET
|
「行コマンド」で説明したように、行コマンドで設定した行マークを削除します。 行が正しくマークされていない場合、該当するメッセージが表示され、 |
|||||||
PF1 | エディタオンラインヘルプを呼び出します。 | |||||||
PF2 |
論理ノード名または論理サービスを定義できる[Location Transparency]ウィンドウを呼び出します「論理ノード名および論理サービスの定義」を参照)。 |
|||||||
PF3 | 終了します。 変更内容を保存し、[Service Directory]画面を終了するように促されます。 | |||||||
FIND |
PF4 |
名前を検索できる[Find Item]ウィンドウを呼び出します。
Enter キーを押して検索を開始し、一致から次の一致(ある場合)へ移動します。 最初から検索を再開始するには、PF4 キーを押します。 一致はカーソルでマークされます。 |
||||||
-H |
PF5 | 半ページ後/前へスクロールします。 | ||||||
+H |
PF6 | |||||||
-P |
PF7 | 1 ページ後/前にスクロールします。 | ||||||
+P |
PF8 | |||||||
TOP |
PF9 | リストの先頭までスクロールします。 | ||||||
BOT |
PF10 | リストの末尾までスクロールします。 | ||||||
PF11 |
[Service Directory]画面の標準ビュー(「例 1 - [Service Directory]の標準ビュー」を参照)と[Node]フィールドおよび[Server]フィールドの拡張ビュー(「例 2 - [Service Directory]の拡張ノード/サーバービュー」を参照)を切り替えます。 |
|||||||
> |
PF11 | [Node]フィールドと[Server]フィールドの拡張ビューを表示します。 拡張ノード/サーバービューには、[Library]フィールドおよび[Program]フィールドは表示されません(「例 2 - [Service Directory]の拡張ノード/サーバービュー」を参照)。 | ||||||
< |
PF11 | [Service Directory]画面の標準ビューを表示します(「例 1 - [Service Directory]の標準ビュー」を参照)。 | ||||||
CANCEL
|
PF12 | 変更内容を保存せずに[Service Directory]画面を終了します。 |
論理ノード名または論理サービスは、すでにいずれかの値を含むノードフィールドまたはサーバーフィールドにのみ定義できます。
論理サービスを定義すると、元の(論理)ノード名は *LOCTRAN
で置き換えられ、論理ノード名または論理サービスを自動的に元に戻すことはできないことに注意してください。 論理名およびサービスを削除する方法については、「論理ノード名または論理サービスを削除するには」を参照してください。
論理サービスを定義するには
カーソルを[Server]フィールドに置き、PF2 キー(LocTr)を押します。
[Location Transparency - Logical Service]ウィンドウが表示されます。
必要に応じて既存の値を変更し、Enter キーを押します。
追加のウィンドウとして[Server Type Conversion]ウィンドウが表示されます。 次のいずれかを選択します。
「Y
」(Yes)を入力し、Enter キーを押して、変換を確認し、実行します。
指定したサーバーに関連する[Node]フィールドの値が、文字列 *LOCTRAN
で置き換えられます。 この文字列は、ノード/サーバーの組みわ合わせが論理サービスに変換されたことを示します。
変換をキャンセルする場合は、「Y
」以外のいずれかの文字を入力するか、または値を入力しません。
物理ノード名とサーバー名は保持されます。
論理ノード名を定義するには
カーソルを[Node]フィールドに置き、PF2 キー(LocTr)を押します。
[Location Transparency - Logical Node Name]ウィンドウが開き、プリセット値の LOGBROKER=
が表示されます。namename は、論理 EntireX Broker 名を示します。
必要に応じて、name を変更しますが、文字列 LOGBROKER=
は変更しないでください。
Enter キーを押して変換を確認し、実行します。
物理ノード名が論理名に変換されます。
または:
PF12 キー(Canc)を押して変換をキャンセルします。
物理ノード名は保持されます。
論理ノード名:
[Node]フィールドで、文字列 LOGBROKER=
を削除します。
論理サービス:
論理サービスを削除し、行コマンド D
および I
を使用して物理サーバーを挿入します(「行コマンド」を参照)。