ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)

E.4 トランザクションアプリケーション(Solarisの場合)

  トランザクション運用のアプリケーションについて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


(1) Makefile

  本アプリケーションのバイナリファイルを生成するためのMakefileです。環境に応じて一部修正する必要があります。

(2) IDLファイル

  本サンプルで使用するIDLファイルです。

(3) サーバアプリケーションソース

  Symfoware/RDBにアクセスするサーバアプリケーションです。本ソースはCOBOLで記述されています。

(4) クライアントアプリケーションソース

  トランザクション制御を行うクライアントアプリケーションです。本ソースはC言語で記述されています。

(5) ワークユニット定義ファイル

  ワークユニット定義を行うための入力ファイルです。環境に応じて一部修正する必要があります。

(6) リソース定義ファイル

  Symfoware/RDBを使用するためのリソース定義ファイルです。環境に応じて一部修正する必要があります。

(7) サンプルデータベース作成用ファイル

  サンプル用のデータベースを作成するためのファイルです。環境に応じて一部修正する必要があります。

(8) 動作確認用プログラム

  サンプルアプリケーションが正しく動作するか確認するためのプログラムです。


注意

  • 本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を確認し、使用している環境に応じて一部を修正する必要があります。

  • 本サンプルプログラムの実行環境、および開発環境(コンパイル環境)は、事前に整えておく必要があります。


サンプルプログラムのコンパイル

  コンパイルの方法について説明します。


コンパイルの準備

  コンパイルの前の準備について説明します。


  1. Symfoware/RDBがインストールされていることを確認します。

  2. COBOLコンパイラがインストールされていること、かつ動作可能なことを確認します。

  3. 環境に応じてMakefileを修正します。

  4. 以下の例に従って環境変数を設定します。

    %setenv OD_HOME /opt/FSUNod
    %setenv CORBA ${OD_HOME}/include/COBOL
    
    %setenv OTS_HOME /opt/FSUNots
    %setenv TD_HOME /opt/FSUNtd
  5. CORBAサービスが起動していることを確認します。


コンパイル

  アプリケーションをコンパイルする手順を説明します。説明には、以下の記号を使用しま す。

  1. makeコマンドを実行し、コンパイルを行います。

    %cd /$CURRENT
    %make

    makeが失敗する場合は、以下のコマンドを実行してください。

    %make remake
  2. 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コマンドで登録してください。修正したリソース定義ファイルはリソース環境定義ディレクトリに格納してください。


APMの作成

  以下の例を参考に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をセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
  次にサンプルとして準備されているサンプルデータベース作成用ファイルを参照し、動作環境に応じて修正してください。また、データベーススペース用のローデバイスを用意してください(Solarisの場合)。

  最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に行ってください。 rdbddlexおよびrdbfmtの詳細は、Symfoware/RDBのマニュアルを参照してください。


# rdbddlex crtdbddl
# rdbfmt -mi -i RDB1.DSICAR

Symfoware/RDBの起動

  Symfoware/RDBを以下のとおり起動してください。


# rdbstart

Interstageの起動

  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)ファイルを参照し、原因を取り除いてください。