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

H.9.2 Solarisの場合

Solarisのトランザクション運用のサンプルプログラムの使用方法について、それぞれ以下の内容で説明します。

サンプルプログラムの概要

本サンプルによって行う運用について以下に示します。



本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を以下に示します。
ファイルは、「$TD_HOME/sample/OTSC」配下に格納されています。

※$TD_HOMEは、コンポーネントトランザクションサービスのインストールディレクトリを示します。


No

ファイルの概要

ファイル名

1

Makefile

Makefile

2

IDLファイル

otssamplec.idl

3

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

otssamplec_s.ec

4

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

otssamplec_c.c

5

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

otssamplec.wu

6

リソース定義ファイル

rdbresource2.def

7

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

crtdbddl2

8

動作確認用プログラム

rdbselect2.ec


(1) Makefile

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

(2) IDLファイル

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

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

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

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

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

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

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

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

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

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

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

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

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


注意

本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を確認し、使用している環境に応じて一部を修正する必要があります。
本サンプルプログラムの実行環境、および開発環境(コンパイル環境)は、事前に整えておく必要があります。


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

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


コンパイルの準備

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

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

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

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

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


- OD_HOMEを設定します。
CORBAサービスのインストール先ディレクトリを設定します。以下の例のように設定します。

設定例)

setenv OD_HOME  /opt/FSUNod <RETURN>

- OTS_HOMEを設定します。
データベース連携サービスのインストール先ディレクトリを設定します。以下の例のように設定します。

設定例)

setenv  OTS_HOME /opt/FSUNots <RETURN>

- TD_HOMEを設定します。
コンポーネントトランザクションサービスのインストール先ディレクトリを設定します。
以下の例のように設定します。

設定例)

setenv  TD_HOME /opt/FSUNtd <RETURN>

(5) CORBAサービスが起動していることを確認してください。


コンパイル

アプリケーションをコンパイルする手順を説明します。説明には、以下の記号を使用します。
「%」は、一般ユーザ時のプロンプトを示します。また、「#」はスーパユーザでのプロンプトを示します。
$CURRENTは、本サンプルファイルが存在するディレクトリを示します。


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

cd /$CURRENT
make

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

make remake

(2) (1)が失敗する場合は、コンパイルの準備作業を確認してください。


サンプルプログラムの実行

サンプルプログラムの実行方法について説明します。


Interstageのセットアップ

isinitコマンドを投入して、Interstageの動作環境をセットアップしてください。


リソース管理プログラムの作成

Symfoware/RDB用のリソース管理プログラムを、データベース連携サービスのインストールディレクトリ配下の/program/rsc/fjotsrsc_symfoとして提供していますので、それを使用してください。それ以外の場合に作成する必要がある場合は、以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム「rdbresource2」が作成されます。


cd $CURRENT
otslinkrsc -l $OTS_HOME/lib/libotsxasym.o -r "-L/$RDBOPT/FSUNrdb2b/lib -lsqldrv -lrdbxa" -o rdbresource2

$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 otssamplec.wu

Symfoware/RDBのセットアップ

まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細については、Symfoware/RDBのマニュアルを参照してください。
次にサンプルとして準備されているサンプルデータベース作成用ファイルを参照し、動作環境に応じて修正してください。また、データベーススペース用のローデバイスを用意してください。
最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に操作してください。
rdbddlexおよびrdbfmtの詳細については、Symfoware/RDBのマニュアルを参照してください。


rdbddlex crtdbddl2
rdbfmt -mi -i RDB2.DSICAR

Symfoware/RDBの起動

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


rdbstart

Interstageの起動

isstartコマンドを投入して、Interstageを起動してください。


リソース管理プログラムの起動

otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。起動は、スーパユーザの権限で実行してください。
以下のとおりリソース管理プログラムを起動します。


otsstartrsc -pg $TD_HOME/sample/otsc/rdbresouce2 -n rdbresouce2

ワークユニットの起動

以下のとおり、ワークユニットを起動します。


isstartwu OTSSAMPLEC

クライアントアプリケーションの起動

以下のとおり、クライアントアプリケーションを起動します。


otssamplec_c

動作確認

本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB2のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。


rdbselect2

レコードの追加が確認できない場合は、「/tmp/OTSSAMPLEC/pppp/stdout」(pppp:pidファイル)を参照し、原因を取り除いてください。