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

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

プログラミング環境

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

 


UBBCONFIG コンフィグレーション ファイルの更新

アプリケーション管理者は、最初に UBBCONFIG コンフィグレーション ファイルにアプリケーションのコンフィグレーションを定義します。プログラミング環境をカスタマイズするには、コンフィグレーション ファイルを作成するか更新します。

コンフィグレーション ファイルの作成または更新を行う場合は、次のガイドラインを参考にしてください。

次の表は、プログラミング環境に影響する UBBCONFIG コンフィグレーション ファイルのパラメータを示しています。パラメータは機能別に分類されています。

表 2-1 プログラミング関連の UBBCONFIG パラメータ (機能別)
機能
パラメータ
セクション
説明
グローバル リソースの制限
MAXSERVERS
RESOURCES
コンフィグレーション内のサーバの最大数。この値を設定する場合は、すべてのサーバの MAX 値を考慮する必要があります。
MAXSERVICES
RESOURCES
コンフィグレーション内のサービスの最大総数。
データ依存型ルーティング
BUFTYPE
ROUTING
このルーティング エントリが有効なデータ レコードのタイプとサブタイプのリスト。
リンク レベルの暗号
MINENCRYPTBITS
NETWORK
プロセスで使用できる暗号化の最低レベル。
MAXENCRYPTBITS
NETWORK
プロセスで使用できる暗号化の最高レベル。
ロード バランシング
LDBAL
RESOURCES
ロード バランシングを有効にするかどうかを示すフラグ。ロード バランシングが有効になっている場合、Oracle Tuxedo システムは要求の負荷をネットワークで分散します。
NETLOAD
MACHINES
呼び出し側クライアントからの要求をリモートに送る場合に、サービスのロード ファクタに追加される数値。リモート サーバ上でローカル サーバを選択する際の基準になります。ロード バランシングが有効になっていること (LDBALY が設定されていること) が必要です。
LOAD
SERVICES
サービス インスタンスに対応付けられた相対的なロード ファクタ。デフォルト値は 50 です。
セキュリティ
AUTHSVC
RESOURCES
システムに参加している各クライアントに対して、システムによって呼び出されるアプリケーション認証サービスの名前。
SECURITY
RESOURCES
実行するアプリケーション セキュリティの種類。
会話型通信
MAXCONV
RESOURCES
特定のマシン上で同時に関与できる会話の最大数。0 ~ 32,767 の値を指定します。SERVERS セクションに会話型サーバが定義されている場合、デフォルト値は 64 になります。それ以外の場合、デフォルト値は 1 になります。このパラメータに指定された値は、MACHINES セクションのマシンごとにオーバーライドできます。
CONV
SERVERS
会話型通信がサポートされているかどうかを示す値。このパラメータが N に設定されているか、値が指定されてない場合、サービスに対する TPCONNECT の呼び出しは失敗します。
MIN/MAX
SERVERS
tmboot(1) によって起動するサーバのオカレンスの最小数と最大数。指定がない場合には、MINMAX はそれぞれ、1 と MIN がデフォルト値となります。要求/応答型サーバでも同じパラメータを利用できます。ただし、会話型サーバは、必要に応じて自動的に追加されます。そのため、MIN=1MAX=10 と設定されている場合、tmboot によって最初に 1 つのサーバが起動します。そのサーバが提供するサービスに対して TPCONNECT が呼び出されると、システムによって 2 番目のサーバが起動します。同じように、新しいサーバが上限の 10 まで起動します。
トランザクション管理
AUTOTRAN
SERVICES
サービス ルーチンでトランザクション モードを開始するかどうかを示す値。このパラメータに Y が設定されている場合、別のプロセスから要求メッセージを受信すると、サービス サブルーチンでトランザクションが自動的に開始します。
マルチスレッド サーバ
MAXDISPATCHTHREADS
SERVERS
各サーバ プロセスによってスレッドが追加された場合、同時にディスパッチされるスレッドの最大数。
MINDISPATCHTHREADS
SERVERS
最初のサーバの起動時に開始されるサーバ ディスパッチ スレッドの数。

コンフィグレーション ファイルは、オペレーティング システムのテキスト ファイルです。このファイルを実際にシステムで使用する場合は、tmloadcf(1) を実行して、バイナリ ファイルに変換する必要があります。

関連項目

 


環境変数の設定

アプリケーション管理者は、最初にアプリケーションの実行環境を定義する変数を設定します。これらの環境変数を設定するには、UBBCONFIG ファイルの MACHINES セクションで ENVFILE パラメータに値を指定します。詳細については、『Oracle Tuxedo アプリケーションの設定』を参照してください。

アプリケーションのクライアント ルーチンとサーバ ルーチンに対して、既存の環境変数を更新したり、新しい変数を作成することができます。次の表は、よく使用される環境変数を示しています。変数は機能別に分類されています。

表 2-2 プログラミング関連の環境変数
関数
環境変数
定義内容
使用先
グローバル
TUXDIR
Oracle Tuxedo システムのバイナリ ファイルの場所。
Oracle Tuxedo アプリケーション プログラム
コンフィグレーション
TUXCONFIG
Oracle Tuxedo コンフィグレーション ファイルの場所。
Oracle Tuxedo アプリケーション プログラム
コンパイル
ALTCC1
COBOL コンパイラを呼び出すコマンド。デフォルト値は cobcc です。
Fujitsu NetCOBOL コンパイラを使用する場合は cobcc85 を指定します。
buildclient() -C および buildserver() -C コマンド
ALTCFLAGS1
COBOL コンパイラに渡すリンクのフラグ。このフラグは必須ではありません。
buildclient() -C および buildserver() -C コマンド
COBOPT
コンパイルのコマンドラインで使用する引数。
Fujitsu NetCOBOL コンパイラでは COBOPT は使用できません。COBOL 環境変数用の Fujitsu NetCOBOL マニュアルを参照してください。
buildclient() -C および buildserver() -C コマンド
COBCPY
コンパイラで使用される COBOL COPY の各ファイルが置かれたディレクトリ。
Fujitsu NetCOBOL コンパイラでは COBCPY は使用できません。COBOL 環境変数用の Fujitsu NetCOBOL マニュアルを参照してください。
buildclient() -C および buildserver() -C コマンド
データ圧縮
TMCMPPRFM
圧縮レベル (1 ~ 9)。
データ圧縮を行う Oracle Tuxedo アプリケーション プログラム
ロード バランシング
TMNETLOAD
リモート キューの負荷値に加算される数値。この値を指定すると、リモート キューに実際より多くの作業負荷があるように設定できます。その結果、ロード バランシングが有効になっていても、ローカル要求がリモート キューよりローカル キューに送られるようになります。
ロード バランシングを実行する Oracle Tuxedo アプリケーション プログラム
レコード管理
FIELDTBLS または FIELDTBLS32
FML および FML32 型付きレコードのフィールド テーブル ファイル名のカンマ区切りのリスト。FML VIEW 型のみで必要です。
FML 型付きレコード、FML32 型付きレコード、および FML VIEW
FLDTBLDIR または FLDTBLDIR32
FML および FML32 のフィールド テーブル ファイルが検索されるディレクトリのコロン区切りのリスト。Windows 2003 では、セミコロンで区切られます。
FML 型付きレコード、FML32 型付きレコード、および FML VIEW
VIEWFILES または VIEWFILES32
VIEW および VIEW32 型付きレコードで使用できるファイル名のカンマ区切りのリスト。
VIEW 型付きレコード、VIEW32 型付きレコード
VIEWDIR または VIEWDIR32
VIEW および VIEW32 ファイルが検索されるディレクトリのコロン区切りのリスト。Windows 2003 では、セミコロンで区切られます。
VIEW 型付きレコード、VIEW32 型付きレコード

1 Windows システムでは、環境変数 ALTCCALTCFLAGS は使用できません。これらを設定すると、予期しない結果が生じます。まず COBOL コンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト ファイルを buildclient または buildserver コマンドに渡す必要があります。

UNIX 環境では、環境変数 PATH$TUXDIR/bin を追加して、アプリケーションが Oracle Tuxedo システムのコマンドに対する実行可能ファイルを見つけられるようにします。環境設定の詳細については、『Oracle Tuxedo アプリケーションの設定』を参照してください。

関連項目

 


C 言語のデータ型に相当する COBOL 言語のデータ型の定義

次の表は、C 言語のデータ型に相当する COBOL 言語の各データ型を示しています。

表 2-3 C 言語のデータ型に相当する COBOL 言語のデータ型
C 言語のデータ型
相当する COBOL 言語のデータ型
float
COMP-1
double
COMP-2
long
S9(9) COMP-51
short
S9(4) COMP-51
dec_t
COBOL COMP-3 パック 10 進フィールド

1 COMP-5 は、MicroFocus COBOL の使用のために提供されており、COBOL の整数型フィールドを対応する C フィールドのデータ形式と一致させます。VS COBOL II のデータ型は COMP です。

ストレージを効率よく使用するために、COBOL ではパック 10 進数がサポートされています。パック 10 進数では、2 桁の 10 進数が 1 バイトにパックされ、下位バイトに符号が格納されます。パック 10 進数の長さは 1 ~ 9 バイトで、1 ~ 17 桁の数字と符号を格納できます。

dec_t フィールドは VIEW に定義されています。サイズは、カンマで区切った 2 つの値で指定されます。最初の値は、COBOL で 10 進数が占める総バイト数を示します。2 番目の値は、COBOL での小数点以下の桁数を示します。次の式を使用すると、dec_t フィールドを COBOL 宣言に変換できます。

dec_t(m, n) => S9(2*m-(n+1),n)COMP-3

たとえば、VIEW でサイズが 6,4 と指定されている場合、小数点以下の桁数は 4 桁、整数部分は 7 桁になり、最後のハーフ バイトに符号が格納されます。COBOL アプリケーションのプログラマは、これを 9(7)V9(4) と定義します。V は小数点を表します。FML では dec_t 型はサポートされていません。FML に依存した VIEW を使用する場合は、VIEW ファイルで各フィールドを C 言語の型にマップする必要があります。たとえば、パック 10 進数は FML の文字列フィールドにマップでき、マッピング関数を使用して形式を変換できます。

 


アプリケーションの起動と停止

アプリケーションを起動するには、tmboot(1) コマンドを実行します。このコマンドは、アプリケーションに必要な IPC 資源を確保し、管理プロセスとアプリケーション サーバを起動します。

アプリケーションを停止するには、tmshutdown(1) コマンドを実行します。このコマンドは、サーバを停止させ、アプリケーションで使用されていた IPC 資源を解放します。ただし、データベースなどのリソース マネージャで使用されていた資源は解放されません。

関連項目


  ページの先頭       前  次