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

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

プログラミング環境

このトピックには次の項が含まれます:

 


UBBCONFIG構成ファイルの更新

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

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

表2-1はプログラミング環境に影響する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は、よく使用される環境変数を示しています。変数は機能別に分類されています。

表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アプリケーションの設定』を参照してください。

関連項目

 


同等のデータ型の定義

表2-3は、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資源を解放します。ただし、データベースなどのリソース・マネージャで使用されていた資源は解放されません。

関連項目


  先頭に戻る       前  次