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

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

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

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

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

 


UNIXのバインディング

以下に、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で確認される環境変数
環境変数
説明
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)コマンドを使用します。コマンドの構文はわかりやすいものですが、その使い方は使用しているコンパイラによって異なります。

リスト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
For Windows NT:
buildclient -C -o EMP.EXE  -f empobj 

表12-2は、前述のサンプル・コードで使用されている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

  先頭に戻る       前  次