トランザクション運用のアプリケーションについてCOBOLを使用したサンプルプログラムをそれぞれ以下の内容で説明します。
サンプルプログラムの概要
サンプルプログラムのコンパイル
サンプルプログラムの実行
■サンプルプログラムの概要
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を以下に示します。
ファイルはすべて、“$TD_HOME/sample/OTS”配下に格納されています。
※$TD_HOMEは、トランザクションサービスのインストールディレクトリを示します。
No | ファイルの概要 | ファイル名 |
---|---|---|
(1) | Makefile | Makefile |
(2) | IDLファイル | otssample.idl |
(3) | サーバアプリケーションソース | otssample_s.ecob |
(4) | クライアントアプリケーションソース | otssample_c.c |
(5) | ワークユニット定義ファイル | otssample.wu |
(6) | リソース定義ファイル | rdbresource.def |
(7) | サンプルデータベース作成用ファイル | crtdbddl |
(8) | 動作確認用プログラム | rdbselect.ecob |
本アプリケーションのバイナリファイルを生成するためのMakefileです。環境に応じて一部修正する必要があります。
本サンプルで使用するIDLファイルです。
Symfoware/RDBにアクセスするサーバアプリケーションです。本ソースはCOBOLで記述されています。
トランザクション制御を行うクライアントアプリケーションです。本ソースはC言語で記述されています。
ワークユニット定義を行うための入力ファイルです。環境に応じて一部修正する必要があります。
Symfoware/RDBを使用するためのリソース定義ファイルです。環境に応じて一部修正する必要があります。
サンプル用のデータベースを作成するためのファイルです。環境に応じて一部修正する必要があります。
サンプルアプリケーションが正しく動作するか確認するためのプログラムです。
注意
本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を確認し、使用している環境に応じて一部を修正する必要があります。
本サンプルプログラムの実行環境、および開発環境(コンパイル環境)は、事前に整えておく必要があります。
■サンプルプログラムのコンパイル
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
Symfoware/RDBがインストールされていることを確認します。
COBOLコンパイラがインストールされていること、かつ動作可能なことを確認します。
環境に応じてMakefileを修正します。
以下の例に従って環境変数を設定します。
%setenv OD_HOME /opt/FSUNod %setenv CORBA ${OD_HOME}/include/COBOL %setenv OTS_HOME /opt/FSUNots %setenv TD_HOME /opt/FSUNtd
CORBAサービスが起動していることを確認します。
アプリケーションをコンパイルする手順を説明します。説明には、以下の記号を使用しま す。
“%”は、一般ユーザ時のプロンプトを示します。
“#”は、スーパユーザ時のプロンプトを示します。
$CURRENTは、本サンプルファイルが存在するディレクトリを示します。
makeコマンドを実行し、コンパイルを行います。
%cd /$CURRENT %make
makeが失敗する場合は、以下のコマンドを実行してください。
%make remake
1が失敗する場合は、コンパイルの準備作業を確認してください。
サンプルプログラムの実行方法について説明します。
Interstageのセットアップ
isinitコマンドを投入して、Interstageの動作環境をセットアップしてください。
Symfoware/RDB用のリソース管理プログラムを、データベース連携サービスのインストールディレクトリ配下の/program/rsc/fjotsrsc_symfoとして提供していますので、それを使用してください。それ以外の場合に作成する必要がある場合は、以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム“rdbresource”が作成されます。
% cd $CURRENT % otslinkrsc -l $OTS_HOME/lib/libotsxasym.o -r "-L$RDBOPT/FSUNrdb2b/lib -lsqldrv -lrdbxa" -o rdbresource
$OTS_HOME:データベース連携サービスのインストールディレクトリ
$RDBOPT:Symfoware/RDBのインストールディレクトリ
サンプルのリソース定義ファイルを参照し、動作環境に応じて修正してください。修正にはテキストエディタを使用してください。リソース管理プログラムの登録には、リソース定義ファイル名を指定して行います。リソース管理プログラムを起動するマシンで、必ずotssetrscコマンドで登録してください。修正したリソース定義ファイルはリソース環境定義ディレクトリに格納してください。
以下の例を参考にSymfoware/RDB用のAPMを作成してください。このコマンドによってAPM“rdb”が作成されます。
# tdlinkapm -l $OTS_HOME/lib/libotsxasym.o -r "-L$RDBOPT/FSUNrdb2b/lib -lsqldrv -lrdbxa" -o rdb
$OTS_HOME:データベース連携サービスのインストールディレクトリ
$RDBOPT:Symfoware/RDBのインストールディレクトリ
サンプルのワークユニット定義ファイルを参照し、動作環境に応じて修正してください。修正にはテキストエディタを使用してください。
修正したワークユニット定義ファイルは、ワークユニット定義ディレクトリに格納してください。
次に、ワークユニット定義を登録します。
% isaddwudef otssample.wu
まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
次にサンプルとして準備されているサンプルデータベース作成用ファイルを参照し、動作環境に応じて修正してください。また、データベーススペース用のローデバイスを用意してください(Solarisの場合)。
最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に行ってください。 rdbddlexおよびrdbfmtの詳細は、Symfoware/RDBのマニュアルを参照してください。
# rdbddlex crtdbddl # rdbfmt -mi -i RDB1.DSICAR
Symfoware/RDBを以下のとおり起動してください。
# rdbstart
isstartコマンドを投入して、Interstageを起動してください。
otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。
以下のとおりリソース管理プログラムを起動します。
# otsstartrsc -pg $TD_HOME/sample/otsc/rdbresouce2 -n rdbresouce2
以下のとおり、ワークユニットを起動します。
% isstartwu OTSSAMPLE
以下のとおり、クライアントアプリケーションを起動します。
% otssample_c
本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB1のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。
% rdbselect
レコードの追加が確認できない場合は、“$TD_HOME/sample/OTS/OTSSAMPLE/pppp/stdout”(ppppはpid)ファイルを参照し、原因を取り除いてください。