IBM Books

管理およびプログラミングの手引き OS/2 版、Windows NT 版、Unix 版


Net.Data を起動する

本章では、いろいろな Web サーバー・インターフェースを使用した、 Net.Data の起動方法について説明しています。 起動メソッドのいずれかを使用する前に、 Net.Data は、指定されたインターフェースに対して、 最初に構成されていなければなりません。 Net.Data を構成することで、以下の Web サーバー・インターフェースが使用できます。

これらのインターフェースに対する Net.Data の構成については、 Net.Data の構成を参照してください。 デフォルトでは、Web サーバーは Net.Data を CGI プログラムとして起動し、 個々の Net.Data 要求を別々の新規プロセスで実行します。 Web サーバーの構成時に Net.Data を起動する方法は、 ユーザーが決定します。

以下の各セクションでは、Net.Data が受け入れる要求の種類、 およびいろいろな API およびサーブレットを使用して、 Net.Data を起動するために使用できるメソッドを説明しています。


起動要求の型

Net.Data を起動するときに使用するメソッドとは関係なく、 指定可能な要求は 2 種類あります。これは、マクロを実行するかどうか、 または単一の SQL ステートメント、ストアード・プロシージャー、 または関数を実行するかどうかに依存します。

マクロ要求
Net.Data が指定されたマクロを実行するように、指定します。

直接要求
Net.Data が SQL ステートメント、ストアード・プロシージャー、 または関数を実行するように、指定します。 この要求では、以下の各項目が指定されます。

単一の SQL 照会を作成したり、または DB2 ストアード・プロシージャー、 REXX プログラム、または Perl 関数などの単一の関数の呼び出しをする Web 開発者は、 データベースに直接要求を発行することができます。 直接要求は、Net.Data マクロを必要とする、 複雑な Net.Data アプリケーション・ロジックではありません。 したがって、Net.Data マクロ処理プログラムをバイパスします。直接要求パラメーターは、 パフォーマンス改善の処理を行うのに適した言語環境に渡されます。

図 18 は、マクロ要求と直接要求の違いを示しています。 マクロ要求は通常、その要求の URL 内のマクロを指定します。 フォーム・データを使用することもできます。 直接要求では URL 内のマクロは指定されませんが、 フォーム・データを引き続き使用できます。

図 18. マクロ要求対直接要求
マクロ要求対直接要求

Net.Data を起動する構文は、Net.Data の構成と、 作成する要求のタイプによって異なります。 マクロおよび直接要求では、 どちらの場合も、Net.Data は URL を使用して起動されます。 この URL は、ユーザーが直接入力できます。 また、HTML リンクまたは HTML 形式として、HTML ページにコーディング可能です。 Web サーバーが Net.Data を起動する際には、 CGI、FastCGI、または Web サーバー API のいずれか 1 つを使用します。 また、Net.Data サーブレットを使用して、Net.Data を起動することもできます。

マクロ要求の場合は、Net.Data マクロの名前、 および Net.Data マクロ内で実行される HTML ブロックの名前を、URL 内で指定します。 直接要求の場合は、Net.Data 言語環境の名前、SQL ステートメントまたは関数の名前、 および追加の必須パラメーター値を、URL 内で指定します。 これらの値は、Net.Data によって定義された構文を使用して、指定します。

以下のセクションでは、これらの起動要求を詳細に説明しています。

この例では、CGI を使用して、 Net.Data を起動するときに使用する構文を指定していますが、 この概念は、Net.Data の起動に使用されるすべてのインターフェースに適用されます。 インターフェースのそれぞれのタイプに必要とされる的確な構文については、 それぞれのタイプに特定のセクションを参照してください。

マクロで Net.Data を呼び出す (マクロ要求)

このセクションでは、マクロを指定した Net.Data の起動の方法を示します。

以下の構文ステートメントに Net.Data の起動方法を示します。

パラメーター:

server
Web サーバーの名前およびパスを指定します。サーバーがローカル・サーバーであれば、 このサーバー名を省略し、相対 URL を使用することができます。

Net.Data_invocation_path
Net.Data 実行可能ファイル、 サーブレット・クラス、DLL、または共用ライブラリーのパスおよびファイル名。 たとえば、 /cgi-bin/db2www/ のようになります。

filename
Net.Data マクロ・ファイルの名前を指定します。 Net.Data は、このファイル名を検索して、 MACRO_PATH 初期設定パス変数で定義されたパス・ステートメントとの突き合わせを試行します。 詳しくは、MACRO_PATHを参照してください。

block
参照される Net.Data マクロの HTML ブロックの名前を指定します。

method
フォームで使用される HTML メソッドを指定します。

?name=val&...
Net.Data に渡される 1 つまたは複数の任意指定パラメーターを指定します。

その上でブラウザーで URL を直接指定する、 または以下のように HTML リンクまたはフォームで URL を使用することができます。

パラメーター:

method
フォームで使用される HTML メソッドを指定します。

URL
Net.Data マクロの実行に使用する URL を指定します。 パラメーターは上記のとおりです。

以下の例は、 Net.Data のさまざまな呼び出し方法を示しています。

例 1: HTML リンクを使用して Net.Data を呼び出す

<A HREF="http://server/cgi-bin/db2www/myMacro.d2w/report">
.
.
.
</A>
 

例 2: フォームを使用して Net.Data を呼び出す

<FORM METHOD=POST
 ACTION="http://server/cgi-bin/db2www/myMacro.d2w/report">
.
.
.
</FORM>
 

以下の節では、HTML リンクおよびフォームと、 これらを使用した Net.Data の呼び出し方法の詳細について説明します。

HTML リンク

Web ページを作成する場合、HTML リンクを作成し、 HTML ブロックの実行することができます。ブラウザーでユーザーが HTML リンクに定義されたテキストやイメージをクリックすると、Net.Data はそのマクロ内の HTML ブロックを実行します。

HTML リンクを作成するには、HTML <a> タグを使用します。 Net.Data マクロへのハイパーリンクに使用するテキストまたはグラフィックを決定して、 これを <a> および </a> タグで囲みます。<a> タグの HREF 属性にマクロおよび HTML ブロックを指定します。

次の例は、ユーザーが Web ページ上でテキスト「List all monitors (モニターをすべてリストする)」を選択したときに実行される SQL 照会とのリンクを示しています。

<a href="http://server/cgi-bin/db2www/listA.d2w/report">
List all monitors</a>

リンクをクリックすると、listA.d2w 名のマクロが呼び出されます。 これには以下の例のように "report" という HTML ブロックがあります。

%DEFINE DATABASE="MNS97"
 
 
%FUNCTION(DTW_SQL) myQuery() {
SELECT MODNO, COST, DESCRIP FROM EQPTABLE
WHERE TYPE='MONITOR'
%}
 
%HTML(report){
@myQuery()
%}

この照会は、EQPTABLE 表の中に記述された各モニターに関する型式番号、コスト、および記述情報を持つ表を戻します。 この例は、照会の結果をデフォルトのレポートで表示します。 REPORT ブロックを使用してレポートをカスタマイズする方法に関しては、 レポート・ブロックを参照してください。

HTML フォーム

HTML フォームを使用して、Net.Data マクロの実行を動的にカスタマイズすることができます。 フォームによって値を入力することが可能になり、 マクロの実行と Net.Data が生成する Web ページの内容を変更することができます。

以下の例は、HTML リンク でのモニター・リストの例に基づいていますが、 ユーザーはブラウザーで、簡単な HTML 形式を使用して製品型を選択し、 その情報を表示することができます。

<H1>Hardware Query Form</H1>
<HR>
<FORM METHOD=POST ACTION="/cgi-bin/db2www/equiplst.d2w/report">
<P>What type of hardware do you want to see?
<MENU>
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="MON" checked> Monitors
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="PNT"> Pointing devices
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="PRT"> Printers
<LI><INPUT TYPE="RADIO" NAME="hdware" VALUE="SCN"> Scanners
</MENU>
 
<INPUT TYPE="SUBMIT" VALUE="Submit">
</FORM>
 

ブラウザーで選択し、「Submit (実行)」ボタンをクリックすると、 Web ブラウザーは FORM タグの ACTION パラメーターを処理し、Net.Data が起動します。 次に Net.Data は、equiplst.d2w マクロの中の HTML レポート・ブロックを実行します。

%DEFINE DATABASE="MNS97"
 
 %FUNCTION(DTW_SQL) myQuery(){
SELECT MODNO, COST, DESCRIP FROM EQPTABLE
WHERE TYPE='$(hdware)'
%REPORT{
<H3>Here is the list you requested</H3>
%ROW{
<HR>
$(N1): $(V1), $(N2): $(V2)
<P>$(N3): $(V3)
%}
%}
%}
 
%HTML(report){
@myQuery()
%}

上記の例では、SQL ステートメント内の TYPE=$(hdware) の値は、 HTML 形式入力データから利用することができます。

ROW ブロックで使用される変数の詳細な記述に関しては、 『Net.Data 解説書 』を参照してください。

マクロを使用しない Net.Data の起動 (直接要求)

このセクションでは、直接要求 を使用して、 Net.Data を起動する方法を示します。 直接要求を使用するときには、URL にマクロの名前を指定しないでください。 その代わりに、Net.Data によって定義された構文を使用して、Net.Data 言語環境、 SQL ステートメントまたは実行するプログラム、および追加の必須パラメーター値を、 URL で指定します。直接要求を使用可能または使用不可にする方法については、 DTW_DIRECT_REQUEST: 直接要求変数を使用可能にするを参照してください。

SQL ステートメントまたはプログラム、およびその他の指定されたパラメーターは、 指定された言語環境に直接渡され、処理されます。 直接要求によって、Net.Data がマクロを読み込んで処理する必要がなくなるため、 パフォーマンスが向上します。SQL、ODBC、Oracle、Sybase、Java、System、Perl、および REXX Net.Data によって提供される言語環境は、 直接要求をサポートしています。 ユーザーは URL、HRML フォーム、またはリンクを使用して、 Net.Data を呼び出すことができます。

直接要求は、URL またはフォーム・データの照会ストリングで、 パラメーターを渡すことによって、Net.Data を起動します。 次の例は、ユーザーが直接要求を指定するコンテキストを図示しています。

<A HREF="http://server/cgi-bin/db2www/?direct_request">any text</A>

ここで direct_request は、直接要求の構文を表しています。 たとえば、以下の HTML リンクには、直接要求が含まれています。

<A HREF="http://server/cgi-bin/db2www/?LANGENV=DTW_PERL&FUNC=my_perl(hi)">
  any text</A>

直接要求の構文

直接要求で Net.Data を起動する構文には、 データベースや非データベース言語環境への呼び出しが含まれています。

構文

>>-?--+-| データベース言語環境呼び出し |---+-------------------><
      '-| 非データベース言語環境呼び出し |-'
 
データベース言語環境呼び出し
 
    .------------------------------------.
    V                                    |
|------+------------------------------+--+--LANGENV =----------->
       '-| フォーム・データ入力 |--&--'
 
>-------dblangenv----&------------------------------------------>
 
      .------------------------------------.
      V                                    |
>--------+------------------------------+--+-------------------->
         '-| フォーム・データ入力 |--&--'
 
>-----+-SQL=--sql_stmt-------------------------------------------+>
      '-FUNC=--stored_proc_name--(--| パラメーター・リスト |--)--'
 
      .------------------------------------.
      V                                    |
>--------+------------------------------+--+--------------------|
         '-&--| フォーム・データ入力 |--'
 
フォーム・データ入力
 
|---DATABASE----+-----------------------+--=---VALUE------------|
                +-DB_CASE---------------+
                +-DTW_HTML_TABLE--------+
                +-LOGIN-----------------+
                +-PASSWORD--------------+
                +-RPT_MAX_ROWS----------+
                +-SHOWSQL---------------+
                '-user_defined_variable-'
 
パラメーター・リスト
 
    .-,-------------------------------------------------------------.
    V                                                               |
|-----+-IN--parm_type--+-parm_value--------+---------------------+--+->
      |                '-"--parm_value--"--'                     |
      +-OUT--parm_type--+-parm_name--+---------------------------+
      |                 '-parm_name--'                           |
      '-INOUT--parm_type--+-parm_name--+---+-parm_value--------+-'
                          '-parm_name--'   '-"--parm_value--"--'
 
>---------------------------------------------------------------|
 
非データベース言語環境呼び出し
 
|---LANGENV=------lang_env----&---FUNC--=--program_name--------->
 
        .-,-----------------------.
        V                         |
>----(-----+-------------------+--+---)-------------------------|
           '-"--parm_value--"--'
 

パラメーター

データベース言語環境呼び出し
データベース言語環境を起動する Net.Data への直接要求を指定します。

フォーム・データ入力
SQL 変数の設定を指定できるか、 または単純な HTML 形式設定を要求できるパラメーター。 これらの変数について詳しく理解するには、 Net.Data 解説書 の変数の章を参照してください。

DATABASE
Net.Data が SQL 要求を渡すデータベースを指定します。 このパラメーターは必須です。

DB_CASE
SQL ステートメントの文字ケース (大文字または小文字) を指定します。

DTW_HTML_TABLE
Net.Data が、HTML テーブル、 または事前にフォーマットされたテキスト・テーブルの、 どちらを戻すべきかを指定します。

LOGIN
データベースのユーザー ID を指定します。

PASSWORD
データベースのパスワードを指定します。

RPT_MAX_ROWS
関数がレポートに戻すテーブルの最大行数を指定します。

SHOWSQL
Net.Data が実行される SQL ステートメントを、 隠すか表示するかを指定します。

START_ROW_NUM
レポートの開始に使用する関数のテーブルの行数を指定します。

user_defined_variable
Net.Data に渡され、必要な情報を提供するか、 あるいは Net.Data の振る舞いに影響を与える変数。 ユーザー定義の変数は、ユーザーがアプリケーション用に定義する変数です。

VALUE
Net.Data 変数の値を指定します。

LANGENV
SQL ステートメントまたはストアード・プロシージャー呼び出しの、 ターゲット言語環境を指定します。 言語環境が、データベース言語環境の 1 つになっている場合には、 そのデータベースの名前も指定されていなければなりません。

dblangenv
以下のデータベース言語環境の名前。

  • DTW_SQL

  • DTW_ODBC

  • DTW_ORA

  • DTW_SYB

SQL
直接要求がインライン SQL ステートメントの実行を指定していることを、 示しています。

sql_stmt
動的 SQL を使用して実行される、 すべての有効な SQL ステートメントを含むストリングを指定します。

FUNC
直接要求が、ストアード・プロシージャーの実行を指定していることを示しています。

stored_proc_name
有効な DB2 ストアード・プロシージャーを指定します。

parm_type
DB2 ストアード・プロシージャーに対する有効なパラメーター・タイプを指定します。

parm_name
有効なパラメーター名を指定します。

parm_value
DB2 ストアード・プロシージャーに対する有効なパラメーター値を指定します。

IN
Net.Data がパラメーターを使用して、 入力データをストアード・プロシージャーに渡すよう指定します。

INOUT
Net.Data がパラメーターを使用して、 入力データをストアード・プロシージャーに渡し、 さらに言語環境からの出力データを戻すように指定します。

OUT
言語環境がパラメーターを使用して、 ストアード・プロシージャーからの出力データを戻すように指定します。

非データベース言語環境呼び出し
非データベース言語環境を起動する Net.Data への直接要求を指定します。

LANGENV
その関数を実行するターゲット言語環境を指定します。

lang_env
以下の非データベース言語環境の名前を指定します。

  • DTW_PERL

  • DTW_REXX

  • DTW_SYSTEM

FUNC
直接要求がプログラムの実行を指定していることを示しています。

program_name
実行される関数を含んでいるプログラムを指定します。

parm_value
その関数に有効なパラメーター値を指定します。

直接要求の例

次の例は、直接要求メソッドを使用する場合に、 Net.Data を起動するいろいろな方法を示しています。

HTML リンク

以下の例では、リンクによって Net.Data を起動するために、直接要求を使用しています。

例 1: Perl 言語環境を起動して、 Net.Data 初期設定ファイルの EXEC パス・ステートメントの Perl スクリプトを呼び出すリンク

<A HREF="http://server/cgi-bin/db2www/?LANGENV=DTW_PERL&FUNC=my_perl(hi)">
  any text</A>

例 2: 直前の例のように Perl 言語環境を起動するが、 二重引用符およびスペース文字に対して、 URL 形式で符号化された値でストリングを渡すリンク

<A HREF="http://server/cgi-bin/db2www/?LANGENV=DTW_PERL&FUNC=my_perl
     (%22Hello+World%22)">any text</A>
ヒント:URL では、 スペースや二重引用符などの特定の文字は符号化しなければなりません。 この例では、パラメーター値の中の二重引用符とスペースは、 それぞれ %22 および + 文字に符号化されています。 ユーザーは、組み込み関数 DTW_URLESCSEQ を使用して、 URL で符号化の必要があるテキストをすべて符号化することができます。 DTW_URLESCSEQ 関数についての詳細は、 Net.Data 解説書 の説明を参照してください。

HTML フォーム

以下の例では、フォームによって Net.Data を起動するために、 直接要求が使用されています。

例 1: SQL 言語環境を使用して SQL 照会の実行、 CELDIAL データベースへの接続、テーブルの照会を行う HTML フォーム

<FORM METHOD="POST"
 ACTION="http://server/cgi-bin/db2www/">
<INPUT TYPE=hidden NAME="LANGENV" VALUE="DTW_SQL">
<INPUT TYPE=hidden NAME="DATABASE" VALUE="CELDIAL"
 <INPUT TYPE=hidden NAME="SQL" VALUE="select * from Table1 where col1=$(InputName)">
Enter Customer name:
<INPUT TYPE=text NAME="InputName" VALUE="John">
<INPUT TYPE=SUBMIT>
</FORM>

これは、SQL ステートメント内の変数置換の例で、WHERE 文節は動的になります。

URL

以下の例では、URL によって Net.Data を起動するために、 直接要求が使用されています。

例 1: SQL 言語環境を使用する SQL 照会を実行する URL

http://server/cgi-bin/db2www/?LANGENV=DTW_SQL&DATABASE=CELDIAL
 &SQL=select+*+from+customer

例 2: Perl 言語環境を起動して、 Net.Data 初期設定ファイルの EXEC パス・ステートメントにない、 実行可能ファイルを呼び出す URL

http://server/cgi-bin/db2www/?LANGENV=DTW_PERL&FUNC=/u/MYDIR/macros/myexec.pl

例 3: システム言語環境を起動し、 外部 Perl スクリプトを呼び出す URL

http://server/cgi-bin/db2www/?LANGENV=DTW_SYSTEM&FUNC=perl+/u/MYDIR/macros/myexec.pl

例 4: REXX 言語環境を起動し、 プログラムにパラメーターを渡す URL

http://server/cgi-bin/db2www/?LANGENV=DTW_REXX&FUNC=myexec.cmd(parm1,parm2)

例 5: ストアード・プロシージャーを呼び出し、 SQL 言語環境にパラメーターを渡す URL

http://server/cgi-bin/db2www/?LANGENV=DTW_SQL&FUNC=MY_STORED_PROC
   (IN+CHAR(30)+Salaries)&DATABASE=CELDIAL

Web サーバー API による Net.Data の起動

Net.Data は、ご使用のオペレーティング・システムによって、 以下のリストの Web API をサポートします。

GWAPI プラグインおよび ICAPI プラグイン
IBM Internet Connection Secure Sever プラグインの後継である、 Lotus Domino Go Webserver API プラグイン

ISAPI プラグイン
Microsoft Internet Server API プラグイン

NSAPI プラグイン
Netscape Server API プラグイン

ご使用のオペレーティング・システムのためにサポートされる Web サーバー API を決定するには、 Net.Data 解説書 のオペレーティング・システムの参照付録を参照してください。 API を使用するための Net.Data と Web サーバーの構成方法を理解するには、 Web サーバー API と一緒に使用するための Net.Data の構成を参照してください。

要件 :

Web サーバー API を起動するには、 以下のようにします。

ICAPI および GWAPI の場合 :

構文 :

http://server_name/CGI-BIN/db2www/macro_name/html_block

パラメーター :

server_name
サーバーの名前

macro_name
MACRO_PATH で指定されたディレクトリーにあるマクロの相対パス名

html_block
処理されるマクロの HTML ブロックの名前

例 :

http://myserver/CGI-BIN/db2www/mymacro.d2w/report

ISAPI の場合 :

構文 :

http://server_name/server_HTML_root_directory/dll_name/
macro_name/
  html_block

パラメーター :

server_name
サーバーの名前

server_HTML_root_directory
Web サーバーの HTML ルート・ディレクトリー名

dll_name
Net.Data の ISAPI .dll ファイル名、dtwisapi.dll

macro_name
MACRO_PATH で指定されたディレクトリーにあるマクロの相対パス名

html_block
処理されるマクロの HTML ブロックの名前

例 :

http://myserver/scripts/dtwisapi.dll/mymacro.d2w/report

NSAPI の場合 :

構文 :

http://server_name/macro_name/html_block

パラメーター :

server_name
サーバーの名前

macro_name
MACRO_PATH で指定されたディレクトリーにあるマクロの相対パス名。 .d2w などのマクロ・ファイルの拡張子は、 Web サーバー構成ファイルで定義する必要があります。 詳しくは、Web サーバー API と一緒に使用するための Net.Data の構成を参照してください。

html_block
処理されるマクロの HTML ブロックの名前

例 :

http://myserver/mymacro.d2w/report

Java サーブレットおよび JavaBeans とともに Net.Data を起動する

サーブレットは、 CGI プログラムまたは Web サーバーの API プラグインに似た役割を果たす、 Java クラスです。 Web サーバーは、サーブレットを使用して、HTML ページを動的に作成します。 サーブレットは独自のグラフィカル・ユーザー・インターフェースを持っていませんが、 サーブレットのクラスは、ローカルで、またはネットワークを通じて、 動的にロードされます。 また、URL アドレスを使用して (リモート)、 またはクラス名によって (ローカル)、呼び出すことができます。

Net.Data は、Net.Data がサポートする Java 使用可能オペレーティング・システムの中で、 Net.Data マクロの起動、Net.Data 関数の実行、 または Net.Data による SQL ステートメントの実行のために、 使用可能なサーブレットを提供します。

本章では、次の概念と操作を説明しています。

Net.Data サーブレット

Net.Data JavaBeans

Net.Data サーブレット

Net.Data は、サーブレットおよび NetObjects Fusion プラグインを、 Java 環境で使用できる Net.Data とともに提供します。 サーブレットとプラグインを使用して、次のことが行えます。

このセクションでは、次のサーブレットのトピックを説明しています。

Net.Data サーブレットについて

Net.Data にはサーブレットがあり、 Java 環境を利用したマクロの開発および管理に役立ちます。 サーブレットは、 CGI プログラムまたは Web サーバーの API プラグインに似た役割を果たす、 Java クラスです。 Java サーブレットが使用可能な Web サーバーがサーブレットを使用し、 HTML ページを作成します。 サーブレットは独自のグラフィカル・ユーザー・インターフェースを持っていません。 ただしサーブレットのクラスは、ローカルで、またはネットワークを通じて、 動的にロードされ、URL アドレスを使用して (リモート)、 またはクラス名によって (ローカル)、呼び出されます。 サーブレットは、Windows NT および AIX オペレーティング・システムで使用可能です。

Net.Data サーブレットは Java ベースのラッパーで、ネイティブ DLL ファイルを使用して、 Net.Data バージョン 2 のマクロまたは直接要求を実行します。 これらのサーブレットによって、 既存のマクロ (MacroServlet) または単一の関数 (FunctionServlet) を実行できます。 Net.Data バージョン 2 は、これらのサーブレットを使用するために必要です。 Net.Data サーブレットはデータベースまたは非データベースの言語環境プログラムを実行できるほか、 Live Connection と一緒に実行することもできます。

サーブレットには、アプリケーションとともに使用する API が付いています。 サーブレット API は Net.Data で文書化されます。 API ドキュメンテーションについては、 <inst_dir>/servlets/NetDataServlets.jar ファイルを参照してください。

Net.Data には次の 2 つのサーブレットがあります。

マクロ・サーブレット (com.ibm.netdata.servlets.MacroServlet)
既存の Net.Data マクロを実行します。

マクロ・サーブレットを使用することは、 Java サーブレットを通じてマクロを実行する場合を除いて、 CGI-BIN インターフェースを通じて Net.Data マクロを実行することに似ています。 マクロ・サーブレットには、Net.Data バージョン 2、 またはそれ以降のバージョンがインストールされている必要があります。

マクロ・サーブレットを使用すると、以下のような利点があります。

さらに マクロ・サーブレットによって、Perl、REXX、Java のような種々の言語環境プログラムに加えて、 DB2、Oracle、および Sybase のような異機種のデータベースに、 ネイティブ・アクセスできるようになります。

関数サーブレット (com.ibm.netdata.servlets.FunctionServlet)
%FUNCTION DTW_SQL() などのサーブレット・インターフェースを介して、 Net.Data 関数または SQL ステートメントを実行します。 詳しくは、マクロを使用しない Net.Data の起動 (直接要求)を参照してください。

関数サーブレットには、Net.Data バージョン 2 がインストールされている必要があります。

Net.Data サーブレットを実行する

Net.Data サーブレットは、URL から、または HTML ファイルの SSI として、実行可能です。 NetObjects Fusion プラグインを使用して、 Net.Data サーブレットを NOF サイトに取り込むことができます。 以下のセクションでは、サーブレットの構文に従って入力し、 サーブレットを変更および実行する方法を説明します。 NetObjects Fusion を用いたサーブレットの変更および実行の方法を理解するには、 付録 E. Net.Data サーブレットと NetObjects Fusion NOF プラグインを使用するを参照してください。

マクロ・サーブレットを実行する

HTML ファイル内から、次の構文オプションの 1 つを使用して、 サーブレット・パラメーターを入力します。

  1. URL:
    http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet
      ?MACRO=macro_value&BLOCK=block_value&parmnn=valuenn
    

    例 :

    http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet?MACRO=my_macro
      &BLOCK=my_block&field1=custno
    

  2. SSI:
    <servlet code="com.ibm.netdata.servlets.MacroServlet">
         <param name="MACRO" value="macro_value">
          <param name="BLOCK" value="block_value">
    <param name="parmnn" value="valuenn">
    </servlet>
    

    例 :

    <servlet code="com.ibm.netdata.servlets.MacroServlet">
         <param name="MACRO" value="my_macro.d2w">
         <param name="BLOCK" value="report">
    <param name="field1" value="custno">
    </servlet>
    

パラメーター :

macro_value
既存の Net.Data マクロへの完全修飾パス

block_value
指定された Net.Data 実行マクロ内の、HTML ブロックの名前。 デフォルトは report (オプション) です。

parmnn
マクロが必要とする追加のパラメーター。たとえば、
<param name="field1" ...

valuenn
マクロが必要とする追加の値。たとえば、
... value="custnum"

HTMLPATH パラメーター : 指定されていない HTMLPATH パラメーターを参照するエラー・メッセージが出力された場合には、 サーブレット呼び出しコマンドに HTMLPATH パラメーターを追加します。

OUTBUFLEN パラメーター : ユーザーのマクロの結果が 32 KB を超える場合は、 OUTBUFLEN パラメーターを指定します。これらのパラメーターが必須の場合、 それを指定しないと、予期しない結果が発生することがあります。

関数サーブレットを実行する

関数サーブレットは、直接要求を使用して Net.Data を起動し、 関数 (REXX 関数など) または SQL ステートメントのいずれかを実行する場合があります。 サーブレット用に指定するパラメーターは、 ユーザーが関数または SQL ステートメントのどちらを実行するかによって異なります。 HTML ファイル内から、次の構文オプションの 1 つを使用して、 サーブレット・パラメーターを入力します。

  1. URL の場合 :

  2. SSI:

パラメーター :

lang_env_name
関数、SQL ステートメント、 またはストアード・プロシージャーを処理するために呼び出される、 Net.Data 言語環境 (DTW_SQL, DTW_REXX など)。 このパラメーターには FUNC または SQL を使用する必要があります。

program_name
実行する関数を含むプログラムの名前。 たとえば、my_rexx。 ここで my_rexx は REXX 実行可能の名前です。 parmnn および valuenn パラメーターで、 関数の入力パラメーターを指定します。

database_name
DATABASE パラメーターに関連するデータベースの名前。 The specified

SQL_stmt_name
データベースをアクセスする SQL ステートメントまたはストアード・プロシージャー。 たとえば、"select * from employee"parmnn および valuenn パラメーターで、 SQL ステートメントまたはストアード・プロシージャーの入力パラメーターを指定します。

parmnn
その他ユーザーのマクロに必要とされるパラメーター。たとえば、 <param name="field1" ...

valuenn
その他ユーザーのマクロが必要とする値。 たとえば、... value="custnum"

HTMLPATH パラメーター : 指定されていない HTMLPATH パラメーターを参照するエラー・メッセージが出力された場合には、 サーブレット呼び出しコマンドに HTMLPATH パラメーターを追加します。

ここで html_path は、 Web サーバー・ルートの HTML ディレクトリーへのパスを指定します。 例 : htmlpath=e:\html

OUTBUFLEN パラメーター : ユーザーのマクロの結果が 32 KB を超える場合は、 OUTBUFLEN パラメーターを指定します。これらのパラメーターが必須の場合、 それを指定しないと、予期しない結果が発生することがあります。

Net.Data JavaBeans

Net.Data は JavaBeans を提供します。この JavaBeans は、 Web サーバーを実行しなくても、Java 環境で使用することができます。 JavaBean は、オブジェクト指向プログラミング・インターフェースです。 これによって、再利用可能なアプリケーション、 またはプログラム組み立てブロックを作成することができます。 これらのオブジェクトは、Java 対応オペレーティング・システムのネットワークで使用されます。

JavaBean は、ネイティブ Net.Data DLL を使用して Net.Data を起動し、 リターン・コードおよび Net.Data 出力 (結果) を含むストリングを生成します。 JavaBeans はネイティブ DLL を使用するので、 Net.Data 関数を使用するために Web サーバーを実行させる必要はありません。

設計のヒント : Net.Data JavaBeans が戻す結果は、 ユーザーのマクロまたは関数が戻す内容に一致します。通常、これは HTML です。 結果は HTML と互換性を持つ JavaBean に渡すことを推奨します。 HTML 互換の JavaBean は、HTML を解釈し、結果を表示することができます。

JavaBeans を使用すれば、次のことが可能です。

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

Net.Data JavaBeans について

Net.Data には JavaBeans があります。Java 環境を利用することで、 マクロの開発および管理に役立ちます。 JavaBeans は Java のオブジェクトで、次のインターフェースを提供しています。

Net.Data には次の 2 つの型の JavaBeans があります。

Net.Data マクロ JavaBean
Net.Data を通して既存の Net.Data マクロを実行するために、 Java ベースのインターフェースを提供します。

Net.Data SQL JavaBean
Net.Data を通して既存の SQL ステートメントを実行するために、 Java ベースのインターフェースを提供します。

Net.Data JavaBeans は、 ネイティブ DLL ファイルを使用して Net.Data を通して実行する、 Java ベースのラッパーです。 両方とも Net.Data バージョン 2 またはそれ以降のバージョン、 および JDK バージョン 1.1 またはそれ以降のバージョンが、 インストールされている必要があります。

Net.Data JavaBeans のセットアップおよび実行

このセクションでは、Bean Machine などの JavaBean 開発ツールを使用した、 Net.Data JavaBeans のセットアップおよび実行の方法を説明しています。 開発ツールを使用するためのステップは、特に決まった規則はありません。 したがってツールはユーザーが選択することができます。

マクロ Bean

Net.Data Macro bean、com.ibm.netdata.beans.NetDataMacro によって、 Java を使用することで、既存のマクロを実行できるようになります。 この Bean を使用するには、Bean の Net.Data プロパティーを指定する必要があります。 指定するとマクロが使用できるようになります。

JavaBean 開発ツールとともに、 Net.Data マクロ Java Bean をセットアップするには:

  1. <inst_dir>/beans/NetDataBeans.jar ファイルを、 JavaBean 開発ツールに追加またはインポートする。

  2. 開発ツールのカスタマイザー・インターフェースを使用して、 次の入力プロパティーを設定する。

    マクロ
    実行する既存のマクロの名前を指定します。たとえば、MyMacro.mac

    ブロック
    実行する HTML ブロック・セクションの名前を指定します。 デフォルトは report です。

    HTML パス
    Net.Data db2www.ini ファイルへのパスを指定します。

    パラメーター
    マクロの実行時に使用するパラメーターの名前と値を指定します。

    構文 :

    name1=value1&nameN=valueN
    

JavaBean 開発ツールで Net.Data マクロ JavaBean を実行するには:

  1. 「実行 (run)」を選択するか、 JavaBean 開発ツールによって提供されているアクションを実行して、マクロを実行します。

  2. マクロが実行されると、ユーザーは次の出力プロパティーを参照できます。

    RC
    Net.Data から戻されるリターン・コードを指定します。

    結果
    Net.Data マクロの実行によって戻されたデータを指定します。

SQL Bean

Net.Data SQL bean、com.ibm.netdata.beans.NetDataSQL によって、Java を使用し、 Net.Data を介して SQL ステートメントを実行できるようになります。 この Bean を使用するには、Bean の Net.Data プロパティーを指定する必要があります。 指定するとマクロが使用できるようになります。

JavaBean 開発ツールとともに、 Net.Data SQL JavaBean をセットアップするには

  1. NetDataBeans.jar ファイルを、 ユーザーの JavaBean 開発ツールに追加またはインポートする。

  2. 開発ツールのカスタマイザー・インターフェースを使用して、 次の入力プロパティーを設定する。

    言語環境
    使用する言語環境を指定します。デフォルトは、DTW_SQL です。

    SQL
    実行する SQL ステートメントを指定します。 デフォルトは select * from employee です。

    DATABASE
    使用するデータベースを指定します。デフォルトは、SAMPLEです。

    HTML パス
    Net.Data db2www.ini ファイルへのパスを指定します。

    パラメーター
    SQL ステートメントの実行時に使用するパラメーターの名前と値を指定します。

    構文 :

    name1=value1&nameN=valueN
    

JavaBean 開発ツールで、 Net.Data SQL JavaBean を実行するには :

  1. 「実行 (run)」を選択するか、 JavaBean 開発ツールによって提供されているアクションを実行して、マクロを実行します。

  2. SQL ステートメントが実行されると、ユーザーは次の出力プロパティーを参照できます。

    RC
    Net.Data から戻されるリターン・コードを指定します。

    結果
    SQL ステートメントから戻されたデータを指定します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]