COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Workstation コンポーネントに対する COBOL 言語のバインディング

ここでは、以下の内容について説明します。

Workstation プラットフォームの詳細については、『Oracle Tuxedo Workstation コンポーネント』を参照してください。

 


UNIX のバインディング

以下に、COBOL 言語を使用して UNIX 上で Oracle Tuxedo アプリケーションを開発する場合に、クライアント プログラムを作成してビルドする方法、および正しい環境変数の設定方法について説明します。

クライアント プログラムを作成する

UNIX プラットフォーム用 COBOL クライアント プログラムは、Oracle Tuxedo 管理ドメインで COBOL クライアントを開発する場合と同じように開発できます。すべての ATMI 呼び出しを使用することができます。

クライアント プログラムをビルドする

ワークステーション クライアント プログラムをコンパイルしてリンクするには、buildclient(1) コマンドを使用します。ネイティブ ノードで UNIX ワークステーション クライアントをビルドする場合、-w オプションを指定して、ワークステーション ライブラリを使用してクライアントがビルドされるようにします。

ネイティブ ノードでクライアントをビルドする場合に、ネイティブ ライブラリとワークステーション ライブラリの両方が存在しているときは、デフォルトでネイティブ ライブラリが使用されます。その場合、-w オプションを指定すると、ワークステーション クライアントに対応するライブラリが必ず使用されます。

ワークステーション ライブラリのみが存在する場合は、-w を指定する必要はありません。

次のサンプル コードは、ネイティブ ノード上で buildclient コマンドを使用する方法を示しています。

コード リスト 12-1 UNIX プラットフォームでの buildclient の実行
ALTCC=cobcc ALTCFLAGS="-I /APPDIR/include"
COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
export COBOPT COBCPY ALTCC ALTCFLAGS
buildclient -C -w -o empclient -f name.cbl -f "userlib1.a userlib2.a"

-o オプションは、出力ファイルに名前を指定する場合に使用します。-f オプションが指定された入力ファイルは、システム ライブラリの前にリンクされます。

上記のサンプル コードに示してあるように、TUXDIR 環境変数を使用して、buildclient コマンドがシステム ライブラリの場所を認識できるようにします。TUXDIR は必ず指定してください。CC 環境変数には、デフォルトで cc が設定されます。ただし、ALTCC を使用して、別のコンパイラを設定することもできます。

環境変数を設定する

ワークステーション クライアントでは、いくつかの環境変数を使用します。

次の表は、ワークステーション クライアントがアプリケーションに参加する場合に、TPINITIALIZE で確認される環境変数です。

表 12-1 UNIX プラットフォーム上の TPINITIALIZE で確認される環境変数
環境変数
説明
WSENVFILE
クライアントの環境で使用される環境変数が定義されたファイルの名前。
WSNADDR
クライアントがアプリケーションにアクセスするためのワークステーション リスナ プロセスのネットワーク アドレス。ワークステーション リスナを呼び出すには、アプリケーションのコンフィグレーション ファイルに指定されている値を使用してください。「0x」で始まる値は 16 進値を表す文字列と見なされ、それ以外の値は、ASCII 文字列と見なされます。
WSDEVICE
ネットワークにアクセスするために使用されるデバイスの名前。すべてのトランスポート層インタフェースで必要なわけではありません。
WSTYPE
ワークステーションの種類。ワークステーション クライアントが TPINITIALIZE を呼び出して、ネイティブ サイトとエンコード/デコード処理に関して調整する場合に、TPINITIALIZE で使用されます。WSTYPE が指定されていないと、ネイティブ サイトでも WSTYPE が指定されていない場合でも、エンコードが行われます。ネイティブ サイトとワークステーション クライアント サイトの両方で明示的に同じ WSTYPE 値を指定して、エンコード/デコード機能が必ず無効になるようにします。
WSRPLYMAX
アプリケーション応答をディスクにダンプする前にバッファに格納するために、ATMI で使用されるコア メモリの最大サイズ。TPINITIALIZE で使用されます。デフォルトでは、システムの上限値は 256,000 バイトです。WSRPLYMAX に低い値を設定するかどうかは、使用しているマシンで利用可能なメモリ容量で判断します。応答をディスクに書き込むと、パフォーマンスが大幅に低下します。
WSFADDR
ワークステーション クライアントがワークステーション リスナまたはワークステーション ハンドラに接続するのに使用するネットワーク アドレス。この変数は、WSFRANGE 変数とともに、ワークステーション クライアントがアウトバウンド接続を行う前にバインドしようとする TCP/IP ポートの範囲を決定します。このアドレスには、TCP/IP アドレスを指定する必要があります。
WSFRANGE
ワークステーション クライアントのプロセスが、アウトバウンド接続を確立する前にバインドする TCP/IP ポートの範囲。WSFADDR パラメータは、範囲のベース アドレスを指定します。デフォルト値は 1 です。

使用されている Oracle Tuxedo システムのコンポーネントによっては、UNIX ワークステーション上の Workstation COBOL クライアントでほかの環境変数が必要になる場合もあります。

注意: MicroFocus では、共用オブジェクトとして LIBNSL.a が提供されています。このオブジェクトは、ワークステーション クライアントのリンク時に buildclient で必要になります。MicroFocus COBOL では、UNIX 3.2 上で共用オブジェクトがサポートされていません。そのため、UNIX 3.2 版 Workstation はサポートされていません。

 


Microsoft Windows のバインディング

以下に、COBOL 言語を使用して Microsoft Windows プラットフォーム上で Oracle Tuxedo アプリケーションを開発する場合に、クライアント プログラムを作成してビルドする方法、ACCEPT/DISPLAY クライアントをビルドする方法、ネットワークの動作をブロックする方法、そしてネットワーク環境を復元する方法について説明します。

クライアント プログラムを作成する

プログラム固有のすべての ATMI 呼び出しを使用することができます。

クライアント プログラムをビルドする

ATMI を呼び出す COBOL のソース コードをコンパイルするには、LITLINK オプションを指定して、COBOL コンパイラを使用する必要があります。ワークステーション クライアントのオブジェクト ファイルをリンクするには、buildclient(1) コマンドを使用します。コマンドの構文はわかりやすいものですが、その使い方は使用しているコンパイラによって異なります。

次のサンプル コードは、buildclient コマンドの使用方法を示しています。

コード リスト 12-2 Windows プラットフォームでの buildclient の実行
COBCPY=C:\TUXEDO\COBINC
COBDIR=C:\COBOL\LBR;C:\COBOL\EXEDLL
PATH=C:\COBOL\EXEDLL;...
TUXDIR=C:\tuxedo
LIB=C:\NET\TOOLKIT\LIB;C:\MSVC\LIB;C:\TUXEDO\LIB;C:\COBOL\LIB
buildclient -C -o EMP.EXE -f EMP -f "/NOD/NOI/NOE/CO/SE:300" -l WLIBSOCK
Windows NT の場合 :
buildclient -C -o EMP.EXE  -f empobj 

次の表は、前述のサンプル コードで使用されている buildclient コマンドのオプションを示しています。

表 12-2 Windows プラットフォーム用 buildclient コマンドのオプション
オプション
説明
-o name
作成している実行ファイルの名前。デフォルトは client.exe です。
-f firstfiles
Oracle Tuxedo ライブラリの前にインクルードされる 1 つ以上のオブジェクト ファイル。-f を使用して、コンパイラまたはリンカにオプションを渡すことができます。複数のファイル名を指定するには、-f の後に各ファイル名を入力します。その場合、各ファイル名はスペースで区切り、そのファイル リストをまとめて二重引用符で囲みます。または、コマンドラインに -f オプションを複数回指定して、複数のファイル名を指定することもできます。
-l libfiles
Oracle Tuxedo ライブラリの後にインクルードされるライブラリ。複数のファイル名を指定するには、各ファイル名を入力します。その場合、各ファイル名はスペースで区切り、そのファイル リストをまとめて二重引用符で囲みます。または、コマンドラインに -l オプションを複数回指定して、複数のファイル名を指定することもできます。

ACCEPT/DISPLAY クライアントをビルドする

次のサンプル コードは、CSIMPAPP などの ACCEPT/DISPLAY アプリケーションに対する実行可能クライアントをビルドする方法を示しています。

コード リスト 12-3 ACCEPT/DISPLAY クライアントのビルド
a) compile the COBOL module and create a file.obj
cobol file.cbl omf(obj) litlink;
b) use the following link statement
link FILE+cblwinaf,,,\
wcobatmi+cobws+wtuxws+ \
lcobol+lcoboldw+cobw+cobfp87w+ \
wlibsock,FILE.def /nod/noe;
For Windows NT the link statement is:
cbllink -oEMP.exe EMP.obj \
cobws.lib ncobatmi.lib wtuxws32.lib \
libcmt.lib user32.lib

  ページの先頭       前  次