Net.Data は初期設定ファイルを使用して、 設定値をカスタマイズし、言語環境および検索パスを構成します。 ファイルのロケーションと、その内容および構文は、 使用するプラットフォームおよび API により異なります。 詳細については、 Net.Data リファレンス・ガイド の付録に示されている、 プラットフォームの資料を検討してください。
初期設定ファイルに含まれる基本情報は、すべてのプラットフォームに共通であり、 3 つの認識される構成ステートメントのうち 1 つを使用して指定します。 3 つのステートメント・タイプは次のとおりです。
一部のシステムでは、永続的なデータベース接続を維持し、 Web サーバー・アプリケーション・プログラミング・インターフェース (API) を使用する、 ライブ接続を可能にするような追加の構成を行うことで、 パフォーマンスを向上させることができます。 Net.Data は、ご使用のプラットフォームに応じて、これらの API をサポートします。
Net.Data は以下のパス・ステートメントを認識して、 Net.Data マクロを処理するのに必要なファイルを見つけます。
これらのパス・ステートメントは、HTML_PATH を除き、 Net.Data がマクロ・ファイル、実行可能ファイル、フラット・ファイル、 組込みファイルを検索するディレクトリーのセットを識別します。 指定されるそれぞれのディレクトリーはセミコロン (;) で区切ります。 正方向のスラッシュ (/) と円記号 (\) は、同一と見なされます。 複数パスの機能により、ファイルを編成することができ、 Web アプリケーションをそれぞれ独自のディレクトリーに分離することができます。
指定されているディレクトリーは検索されますが、サブディレクトリーは検索されません。 たとえば、これらのディレクトリーに Net.Data マクロがある場合、 パス・ステートメントに各々を指定しなければなりません。
usr/test/client usr/test/assoc usr/test/partner
MACRO_PATH ステートメントは、次のようになります。
MACRO_PATH = usr/test/client;usr/test/assoc;usr/test/partner
Net.Data 構成を解説する以下の節の例には、 それぞれのプラットフォームおよび構成によって異なる可能性のあるパス指定が含まれています。
MACRO_PATH ステートメントの構文は、その他のパス・ステートメントと同様です。
MACRO_PATH [=] path1;path2;...;pathn
大括弧で示されている等号 (=) は任意指定です。MACRO_PATH ステートメントは、 Net.Data マクロ・ファイルについて、 指定されている順序で検索される 1 つまたは複数のディレクトリーを識別します。 たとえば、次の URL の送信は、 /WWW/macro/sqlm.macのパスおよびファイル名を持つ、 Net.Data マクロを要求します。
http://hostname/cgi-bin/db2www/WWW/macro/sqlm.mac/report
Net.Data は、Net.Data マクロが検出されるかすべてのパスが検索されるまで、 左から右に、パス /WWW/macro を MACRO_PATH 構成ステートメントのパスに付加します。 Net.Data マクロの呼出しについては、第 4. "Net.Data の呼出し" を参照してください。
例:
Net.Data 初期設定ファイル:
MACRO_PATH = ../macro;product1/macro
HTML アンカー参照:
<A HREF="cgi-bin/db2www/query.mac/input">Submit another query.</A>
query.mac が ../macro ディレクトリーに検出された場合、 Net.Data マクロの修飾名は /WWW/macro/query.mac です。
EXEC_PATH の形式は MACRO_PATH と同様です。
EXEC_PATH [=] path1;path2;...;path n
EXEC_PATH ステートメントは、 EXEC ステートメントによって起動される外部プログラムについてそれらが指定されている順序で検索される 1 つまたは複数のディレクトリーを識別します。 そのプログラムが検出されると、その外部プログラム名がパス指定に付加され、 その結果得られる完全修飾ファイル名が実行のために言語環境に渡されます。
例 1:
Net.Data 初期設定ファイル:
EXEC_PATH = ../pgms;product1/pgms;product2/pgms
Net.Data マクロ:
%FUNCTION(DTW_REXX) myFunction() {
%EXEC{ "myFunction.cmd" %}
%}
Net.Data がディレクトリー /www/cgi-bin から実行され、 ファイル myfunction.cmd が product1/pgms ディレクトリーに検出された場合、 プログラムの修飾名は /www/cgi-bin/product1/pgms/myfunction.cmdとなります。
詳細については、Net.Data リファレンス・ガイド を参照してください。
INCLUDE_PATH の形式は MACRO_PATH と同様です。
INCLUDE_PATH [=] path1;path2;...;path n
INCLUDE_PATH は、Net.Data マクロの INCLUDE ステートメントに指定されたファイルを検出するために、 指定された順序で検索される 1 つまたは複数のディレクトリーを識別します。 検出されると、その組込みファイル名がパス指定に付加され、 修飾組込みファイル名が形成されます。
例 1:
Net.Data 初期設定ファイル:
INCLUDE_PATH = ../macro;product1/macro
Net.Data マクロ:
%INCLUDE "myInclude.txt"
Net.Data がディレクトリー /WWW/cgi-bin から実行され、 myinclude.txt が ../macro ディレクトリーに検出されると、 組込みファイルの修飾名は /WWW/macro/myinclude.txt となります。
例 2:
Net.Data 初期設定ファイル:
INCLUDE_PATH = ../INCLUDES
Net.Data マクロ:
%INCLUDE "OE/oeheader.inc"
Net.Data がディレクトリー /www/cgi-bin から実行される場合は、 組込みファイルがディレクトリー /WWW/INCLUDES/OE で検索され、 組込みファイルの修飾名は /WWW/INCLUDES/OE/oeheader.inc となります。
FFI_PATH の形式は MACRO_PATH と同様です。
FFI_PATH [=] path1;path2;...;path n
FFI_PATH ステートメントは、 フラット・ファイル・インターフェース (FFI) 関数で使用されるフラット・ファイルについて、 指定されている順序で検索される 1 つまたは複数のディレクトリーを識別します。
例:
Net.Data 初期設定ファイル:
FFI_PATH = pub/ffi;pub/ffi/data
FFI 言語環境は、呼び出されると、ここで指定されたパスを探します。
HTML_PATH の形式は MACRO_PATH と同様です。
HTML_PATH [=] path1;path2;...;path n
例:
Net.Data 初期設定ファイル:
HTML_PATH = pub/www/htm
照会からラージ・オブジェクト (LOB) が返されると、Net.Data はそれを、 HTML_PATH 構成変数に指定されているディレクトリーに保管します。 LOB を使用する場合、LOB はたちまち資源を消費する可能性があるので、 システムの制限を考慮するようにしてください。 詳細については、"ラージ・オブジェクトの使用" を参照してください。
ENVIRONMENT ステートメントは、言語環境を構成するのに使用します。 言語環境は、Net.Data が、 DB2 データベースなどのデータ・ソースにアクセスするためにインターフェースする、 プラグ可能なモジュールです。言語環境は、 DLL または共用ライブラリーとしてアクセスされます。Net.Data は、 データベースへのインターフェースを含む、いくつかの言語環境を提供しています。 言語環境を作成するには、 Net.Data 言語環境ガイド に説明されている手順を使用してください。 Net.Data が言語環境とインターフェースするには、 Net.Data 初期設定ファイルに ENVIRONMENT ステートメントを組み込まなければなりません。 そのステートメントの構文は次のとおりです。
ENVIRONMENT(type) library_name ([usage argument, ...] [CLIETTE "LE_type: dbname"])
詳細については、 Net.Data 言語環境ガイド を参照してください。
変数ステートメントは、次のような構文の文字ストリングです。
NAME [=] VALUE_STRING
変数ステートメントには、さまざまな目的があります。 場合によって、変数ステートメントは、 正しく機能させるためまたは代替モードで機能させるために、 言語環境で必要な値を設定するのに使用することもあります。 Net.Data が使用するパス・ステートメントは、変数ステートメントの特殊な例です。 Net.Data は、 言語環境内から変数ステートメントにアクセスするためのインターフェースを提供しています。 詳細については、 Net.Data 言語環境ガイド を参照してください。
Net.Data は直接には、どんなタイプのセキュリティー手段も提供していませんが、 おそらくユーザーがシステムとデータを保護するのに使用している既存の手段によって、 資産を保護し続けることができます。 どのレベルのセキュリティーが資産に適しているかは、各自判別しなければなりません。
Net.Data は 2 つのタイプの認証をサポートしており、 サーバー上の特定のディレクトリーを保護する認証と、 データベースを保護する認証があります。
Secured Sockets Layer (SSL)、 または Secured Hypertext Transfer Protocol (SHTTP) で Web サーバーを使用する場合、 クライアント・システムと Web サーバーの間で送信されるすべてのデータを暗号化することができます。 これらのセキュリティー手段は、ログイン ID、パスワード、 およびクライアントからの HTML フォームによるすべてのデータ入力、 および Web サーバーから送信されたすべてのデータを暗号化します。
Net.Data は、 IBM Firewall およびその他のほとんどのファイアウォール製品と使用することができるので、 Net.Data サーバーとネットワークの両方を外部プローブまたは侵入から保護できます。 それぞれの組織のセキュリティー・ポリシーに応じて、 次の構成を慎重に検討してください。
この構成では、Net.Data と Web サーバーだけを含むサブネットワークを作成します。 これは、Net.Data と DB2 を両方ともファイアウォールの内部に入れる、 最も安全な構成です。 この構成には、次のようなセキュリティー手段が必要です。
代替の構成は、 Net.Data をワークステーション・プラットフォームのファイアウォールの外部に置き、 DB2 をファイアウォールの内部に入れて、 それらの間の通信に DDCS を使用する構成です。 この構成は構成 A より単純ですが、データベースは保護されます。
この構成は、DB2 をファイアウォール内部に示します。Web サーバーには、 CAE をインストールしなければなりません。また、ファイアウォールには、 Net.Data からの DB2 クライアント要求と、 DB2 から Net.Data への ack パケットが可能なパケット・フィルター規則がなければなりません。
この構成ではファイアウォールにパケット・フィルター規則が必要ありませんが、 Net.Data および DB2 は外部からの侵入に対して保護されません。
資産を保護する方式はもう一つあります。この方式は、 Net.Data を使用してユーザー独自の保護方式を作成する方法です。 たとえば、 HTML フォームによりユーザーから妥当性検査情報を要求し、 データベースのデータを使用するか、 Net.Data マクロから呼び出される外部プログラムによって、 その情報の妥当性検査を行うことができます。
また、ユーザーによるデータベースへの送信を認める SQL ステートメントによって、 資産を保護します。たとえば、SELECT ステートメントを 2 つのテーブルに制限します。 資産の保護に関する詳細は、次の Web サイトで、 頻繁に出される質問 (FAQ) のインターネット・セキュリティー・リストを参照してください。
http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html
さらにセキュリティーが必要な場合は、 Web ブラウザーでユーザーの HTML ソースを表示しようとする人々から、 データベースの内部構造を隠すため、隠し変数を使用することを考慮してください。 詳細については、"隠し変数" を参照してください。