Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

付録C サンプル(C言語)

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

 トランザクション運用のアプリケーションについてC言語を使用したサンプルプログラムをそれぞれ以下の内容で説明します。

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

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

 本サンプルでは、サーバアプリケーションから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)ファイルを参照し、原因を取り除いてください。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED