Workstationコンポーネントに対するCOBOL言語のバインディング
Workstationプラットフォームの詳細は、『Oracle Tuxedo Workstationコンポーネントの使用』
を参照してください。
以下に、COBOL言語を使用してUNIX上でOracle Tuxedoアプリケーションを開発する場合に、クライアント・プログラムを作成してビルドする方法、および正しい環境変数の設定方法について説明します。
UNIXプラットフォーム用COBOLクライアント・プログラムは、Oracle Tuxedo管理ドメインでCOBOLクライアントを開発する場合と同じように開発できます。すべてのATMI呼出しを使用することができます。
ワークステーション・クライアント・プログラムをコンパイルしてリンクするには、
buildclient(1)コマンドを使用します。ネイティブ・ノードでUNIXワークステーション・クライアントをビルドする場合、
-wオプションを指定して、ワークステーション・ライブラリを使用してクライアントがビルドされるようにします。
ネイティブ・ノードでクライアントをビルドする場合に、ネイティブ・ライブラリとワークステーション・ライブラリの両方が存在しているときは、デフォルトでネイティブ・ライブラリが使用されます。その場合、
-wオプションを指定すると、ワークステーション・クライアントに対応するライブラリが必ず使用されます。
ワークステーション・ライブラリのみが存在する場合は、
-wを指定する必要はありません。
リスト12-3は、ネイティブ・ノード上で
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を使用して、別のコンパイラを設定することもできます。
ワークステーション・クライアントでは、いくつかの環境変数を使用します。
表12-1は、ワークステーション・クライアントがアプリケーションに参加する場合に、
TPINITIALIZEで確認される環境変数です。
表12-1
UNIXプラットフォーム上のTPINITIALIZEで確認される環境変数
|
|
|
クライアントの環境で使用される環境変数が定義されたファイルの名前。
|
|
クライアントがアプリケーションにアクセスするためのワークステーション・リスナー・プロセスのネットワーク・アドレス。ワークステーション・リスナーを呼び出すには、アプリケーションの構成ファイルに指定されている値を使用してください。 「0x」で始まる値は16進値を表す文字列とみなされ、それ以外の値は、ASCII文字列とみなされます。
|
|
ネットワークにアクセスするために使用されるデバイスの名前。すべてのトランスポート層インタフェースで必要なわけではありません。
|
|
ワークステーションの種類。ワークステーション・クライアントが TPINITIALIZEを呼び出して、ネイティブ・サイトとエンコード/デコード処理に関して調整する場合に、TPINITIALIZEで使用されます。 WSTYPEが指定されていないと、ネイティブ・サイトでも WSTYPEが指定されていない場合でも、エンコードが行われます。ネイティブ・サイトとワークステーション・クライアント・サイトの両方で明示的に同じ WSTYPE値を指定して、エンコード/デコード機能が必ず無効になるようにします。
|
|
アプリケーション応答をディスクにダンプする前にバッファに格納するために、ATMIで使用されるコア・メモリーの最大サイズ。 TPINITIALIZEで使用されます。デフォルトでは、システムの上限値は256,000バイトです。 WSRPLYMAXに低い値を設定するかどうかは、使用しているマシンで利用可能なメモリー容量で判断します。応答をディスクに書き込むと、パフォーマンスが大幅に低下します。
|
|
ワークステーション・クライアントがワークステーション・リスナーまたはワークステーション・ハンドラに接続するのに使用するネットワーク・アドレス。この変数は、 WSFRANGE変数とともに、ワークステーション・クライアントがアウトバウンド接続を行う前にバインドしようとするTCP/IPポートの範囲を決定します。このアドレスには、TCP/IPアドレスを指定する必要があります。
|
|
ワークステーション・クライアントのプロセスが、アウトバウンド接続を確立する前にバインドする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)コマンドを使用します。コマンドの構文はわかりやすいものですが、その使い方は使用しているコンパイラによって異なります。
リスト12-2は、
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
buildclient -C -o EMP.EXE -f empobj
表12-2は、前述のサンプル・コードで使用されている
buildclientコマンドのオプションを示しています。
表12-2
Windowsプラットフォーム用buildclientコマンドのオプション
|
|
|
作成している実行ファイルの名前。デフォルトは client.exeです。
|
|
Oracle Tuxedoライブラリの前にインクルードされる1つ以上のオブジェクト・ファイル。 -fを使用して、コンパイラまたはリンカーにオプションを渡すことができます。複数のファイル名を指定するには、 -fの後に各ファイル名を入力します。その場合、各ファイル名はスペースで区切り、そのファイル・リストをまとめて二重引用符で囲みます。または、コマンド行に -fオプションを複数回指定して、複数のファイル名を指定することもできます。
|
|
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