サンプルを使用した Oracle Tuxedo アプリケーションの開発方法

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

STOCKAPP (複雑な COBOL アプリケーション) のチュートリアル

ここでは、以下の内容について説明します。

 


STOCKAPP とは

STOCKAPP は、Oracle Tuxedo システム ソフトウェアに同梱されている株式売買の ATMI サンプル アプリケーションです。このアプリケーションでは、顧客のアカウント情報の検証と更新、株式や株式投資信託の売買注文の執行など、株式売買関連の操作を実行できます。

ここでは、STOCKAPP アプリケーションを開発する方法について、手順を順に示して説明します。このチュートリアルに従って STOCKAPP の「開発」を経験すると、独自のアプリケーションを開発できるようになります。

STOCKAPP チュートリアルは、次の 3 つの節から構成されています。

注意 : ここで説明する内容は、アプリケーションの開発、管理、プログラミングに経験のあるシステム ユーザを対象としています。また、Oracle Tuxedo システム ソフトウェアについて理解していることを前提としています。Oracle Tuxedo アプリケーションをビルドするには、開発ラインセンスが必要です。

 


STOCKAPP について

ここでは、STOCKAPP アプリケーションを構成するファイル、クライアント、およびサービスについて説明します。各作業をクリックすると、その作業を行う手順が表示されます。

STOCKAPP の要求

 


STOCKAPP のファイルについて

STOCKAPP アプリケーションを構成するファイルは、STOCKAPP ディレクトリに置かれています。このディレクトリは、次のように構成されています。

STOCKAPP の要求

株式アプリケーション (STOCKAPP) のファイルについて

STOCKAPP ディレクトリには、次のファイルが置かれています。

次の表は、STOCKAPP を構成するファイルを示しています。この表には、Oracle Tuxedo システム ソフトウェアで提供されるソース ファイル、株式アプリケーションのビルド時に生成されるファイル、および各ファイルの簡単な説明がまとめられています。

表 5-1 株式アプリケーションを構成するファイル
ソース ファイル
生成されるファイル
フィールド値
BUY.cbl
BUY.o
BUY
クライアント
BUYSR.cbl
BUYSR.o
BUYSR
BUY サービス
ENVFILE
 
tmloadcf で使用される ENVFILE
FILES
 
STOCKAPP のすべてのファイルを説明したファイル リスト
FUNDPR.cbl
FUNDPR.o FUNDPR
クライアント
FUNDPRSR.cbl
FUNDPRSR.o FUNDPRSR
PRICE QUOTE サービス
FUNDUP.cbl
FUNDUP.o FUNDUP
クライアント
FUNDUPSR.cbl
FUNDUPSR.o FUNDUPSR
FUND UPDATE サービス
README
 
インストールと起動についてのオンラインの説明
SELL.cbl
SELL.o SELL
クライアント
SELLSR.cbl
SELLSR.o SELLSR
SELL サービス
STKVAR
 
変数の設定内容 (ENVFILE の変数を除く)
STOCKAPP.mk
 
アプリケーション makefile
UBBCBSHM
TUXCONFIG
SHM モードのコンフィグレーションで使用する UBBCONFIG サンプル ファイル
cust
CUST.cbl cust.V cust.h
BUY クライアントと SELL クライアント、および BUYSR サーバと SELLSR サーバでやり取りされる構造体を定義するための VIEW ファイル
quote
QUOTE.cbl quote.V quote.h
FUNDPR クライアントと FUNDUP クライアント、およびすべてのサーバでやり取りされる構造体を定義するための VIEW ファイル

関連項目

 


STOCKAPP クライアントの検証

Oracle Tuxedo システムの ATMI クライアント/サーバ アーキテクチャでは、通信に次の 2 つのモードがあります。

システム クライアント プログラム

次の図は、STOCKAPP の構成を示しています。4 つのサービス要求のいずれかを選択します。楕円は、アプリケーション サービスを表しています。

図 5-1 STOCKAPP の要求

STOCKAPP の要求

型付きバッファ

型付きバッファは、Oracle Tuxedo システムの基本部分です。Oracle Tuxedo システムでは、型付きバッファに特定のデータ型が格納されます。定義されている型は、VIEWSTRINGCARRAYX_OCTETX_COMMON、および XML の 6 つです。アプリケーションで別の型を定義することもできます。

要求/応答クライアント : BUY.cbl

BUY は、クライアント プログラムの 1 つです。このプログラムでは、アカウントの照会が作成されて、BUYSR サービスが呼び出されます。このプログラムは、次のように実行可能プログラムとして呼び出します。

BUY

BUY.cbl のソース コード

BUY.cbl プログラムの次のセクションを確認します。

* システムへのクライアントの登録
* TPCALL の発行
* クリーン アップ

これらのセクションは、BUY.cbl で Oracle Tuxedo ATMI 関数が使用される場所です。csimpl.cbl と同様に、BUY.cbl では、TPINITIALIZE を呼び出してアプリケーションに参加し、TPCALL を呼び出してサービスの RPC 要求を行い、TPTERM を呼び出してアプリケーションを終了します。また、BUY.cbl では、cust ファイルで定義される構造体と VIEW 型のレコードが使用されます。構造体のソース コードは、VIEW 記述ファイル cust.V に記述されています。

クライアントのビルド

cust などの VIEW 記述ファイルは、VIEW コンパイラ viewc(1) でコンパイルします。次に示すように、view(c) を実行して、コンパイルします。

viewc-C-n
  cust.v

viewc には、COBOL ファイル (CUST.cbl)、バイナリ形式の VIEW 記述ファイル (cust.V)、およびヘッダ ファイル (cust.h) の 3 つの出力ファイルがあります。

クライアント プログラムの BUY.cblFUNDPR.cblFUNDUP.cbl、および SELL.cbl は、buildclient(1) でコンパイルされ、必要な Oracle Tuxedo ライブラリとリンクされます。

必要に応じて、これらのコマンドは個別に使用できます。その手順に関する規則は、STOCKAPP.mk に定義されています。

関連項目

 


STOCKAPP サーバの検証

ここでは、次の内容について説明します。

ATMI サーバとは、1 つ以上のサービスを提供する実行可能プロセスです。Oracle Tuxedo システムでは、サーバはクライアントとして動作するプロセスから継続的に要求を受け取り、それを適切なサービスに転送します。サービスは、アプリケーション用に記述された COBOL 言語コードのサブルーチンです。Oracle Tuxedo システムのトランザクション処理アプリケーションの機能性は、これらのサービスがリソース マネージャにアクセスすることによって実現されます。サービス ルーチンは、Oracle Tuxedo システム プログラマによって作成されなければならないアプリケーションの一部です。ユーザ定義のクライアントは、アプリケーションの別の部分に相当します。

すべての STOCKAPP サービスでは、アプリケーション トランザクション モニタ インタフェース (ATMI) の関数を使用して次の処理が行われます。

STOCKAPP サービス

STOCKAPP には、4 つのサービスがあります。STOCKAPP の各サービスは、次に示すように、サーバのソース コードにある COBOL 関数名と一致します。

BUYSR

株式/株式投資信託レコードを買います。BUYSELL サーバで提供されます。入力として VIEW レコードを受け取ります。CUSTFILE レコードを挿入します。

SELLSR

株式/株式投資信託レコードを売ります。BUYSELL サーバで提供されます。入力として VIEW レコードを受け取ります。CUSTFILE レコードを挿入します。

FUNDPRSR

株式の値を照会します。PRICEQUOTE サーバで提供されます。入力として VIEW レコードを受け取ります。

FUNDUPSR

株式投資信託を更新します。会話型のサービスです。FUNDUPDATE サーバで提供されます。入力として VIEW レコードを受け取ります。

 


STOCKAPP のファイルおよびリソースの準備

ここでは、STOCKAPP を実行するために必要なファイルやリソースを作成するための手順を順に示します。

各作業をクリックすると、その作業を行う手順が表示されます。

STOCKAPP の要求

 


ステップ 1 : 環境変数の設定

STOCKAPP に必要な環境変数は、STKVAR ファイルに定義されています。このファイルは数多くのコメントが記述された大きな (約 100 行から構成される) ファイルです。

  1. テキスト エディタで、STKVAR ファイルの内容を確認します。9 行目のコードで、TUXDIR が設定されていることがわかります。設定されていない場合、ファイルの実行が失敗して、次のメッセージが表示されます。
  2. TUXDIR: パラメータが null か、設定されていません。
  3. TUXDIR パラメータに Oracle Tuxedo システムのディレクトリ構造でのルート ディレクトリを設定し、エクスポートします。
  4. STKVAR の別のコード行で APPDIR にディレクトリ {TUXDIR}/samples/atmi/STOCKAPP が設定されています。これは、STOCKAPP のソース ファイルが置かれたディレクトリです。APPDIR は、Oracle Tuxedo システムによって、アプリケーション固有のファイルが検索されるディレクトリです。オリジナルのソース ファイルを上書きしないように、STOCKAPP ファイルを別のディレクトリにコピーします。その場合、そのディレクトリを APPDIR に指定します。TUXDIR の下位ディレクトリである必要はありません。
  5. 注意 : STKVAR で指定されるほかの変数は、サンプル アプリケーションで各種の働きをします。独自のアプリケーションを開発する場合は、それらの働きについて認識しておくことが必要です。STKVAR には各種の変数が定義されているので、後で実際のアプリケーションのテンプレートとして使用できます。
  6. STKVAR に必要な変更を加えたら、次のように STKVAR を実行します。
  7. . ./STKVAR
    コード リスト 5-1 STKVAR: STOCKAPP の環境変数
    #ident    "@(#)samples/atmi:STOCKAPP/STKVAR
    #
    # このファイルには、STOCKAPP を実行するために
    # Tuxedo ソフトウェアで必要なすべての環境変数が設定されています。
    #
    # このディレクトリには、すべての Tuxedo ソフトウェアが置かれています。
    # システム管理者はこの変数を設定する必要があります。
    #
    TUXDIR=${TUXDIR:?}
    #
    # このディレクトリには、ユーザ作成の全コードが置かれています。
    #
    # アプリケーション ジェネレータによって生成されたファイルが
    # 置かれるディレクトリの絶対パス名です。
    #
    APPDIR=${HOME}/STOCKAPP
    #
    # tmloadcf で使用される環境ファイルです。
    #
    COBDIR=${COBDIR:?}
    #
    # このディレクトリには、コンパイルとリンクに必要な
    # COBOL ファイルが置かれています。
    #
    LD_LIBRARY_PATH=$COBDIR/coblib:${LD_LIBRARY_PATH}
    #
    # coblib を LD_LIBRARY_PATH に追加します。
    #
    ENVFILE=${APPDIR}/ENVFILE
    #
    # CBLVIEWC、tmloadcf などで使用されるフィールド テーブル ファイルのリストです。
    #
    FIELDTBLS=fields,Usysflds
    #
    # フィールド テーブル ファイルを検索するディレクトリのリストです。
    #
    FLDTBLDIR=${TUXDIR}/udataobj:${APPDIR}
    #
    # トランザクション ログのデバイスを設定します。これは、
    # UBBCBSHM ファイルの *MACHINES セクションにあるこのサイトの LMID の
    # TLOGDEVICE パラメータと一致する必要があります。
    #
    TLOGDEVICE=${APPDIR}/TLOG
    #
    # コンフィグレーション ファイルのデバイスです。
    #
    UBBCBSHM=$APPDIR/UBBCBSHM
    #
    # /T にすべての情報を提供するバイナリ ファイルのデバイスです。
    #
    TUXCONFIG=${APPDIR}/TUXCONFIG
    #
    # 中央ユーザ ログを記録するファイルの接頭語を設定します。
    # これは、UBBCONFIG ファイルの *MACHINES セクションにある
    # このサイトの LMID の ULOGPFX パラメータと一致する必要があります。
    #
    ULOGPFX=${APPDIR}/ULOG
    #
    # VIEW ファイルを検索するディレクトリのリストです。
    #
    VIEWDIR=${APPDIR}
    #
    # CBLVIEWC、tmloadcf などで使用される VIEW ファイルのリストです。
    #
    VIEWFILES=quote.V,cust.V
    #
    # COBCPY を設定します。
    #
    COBCPY=$TUXDIR/cobinclude
    #
    # COBOPT を設定します。
    #
    COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
    #
    # CFLAGS を設定します。
    #
    CFLAGS="-I$TUXDIR/include -I$TUXDIR/sysinclude"
    #
    # 設定したすべての変数をエクスポートします。
    #
    export TUXDIR APPDIR ENVFILE
    export FIELDTBLS FLDTBLDIR TLOGDEVICE
    export UBBCBSHM TUXCONFIG ULOGPFX LD_LIBRARY_PATH
    export VIEWDIR VIEWFILES COBDIR COBCPY COBOPT CFLAGS
    #
    # 設定されていない場合は、TUXDIR/bin を PATH に追加します。
    #
    a="`echo $PATH | grep ${TUXDIR}/bin`"
    if [ x"$a" = x ]
    then
    PATH=${TUXDIR}/bin:${PATH}
    export PATH
    fi
    #
    # 設定されていない場合は、APPDIR を PATH に追加します。
    #
    a="`echo $PATH | grep ${APPDIR}`"
    if [ x"$a" = x ]
    then
    PATH=${PATH}:${APPDIR}
    export PATH
    fi
    #
    # 設定されていない場合は、COBDIR を PATH に追加します。
    #
    a="`echo $PATH | grep ${COBDIR}`"
    if [ x"$a" = x ]
    then
    PATH=${PATH}:${COBDIR}
    export PATH
    fi

そのほかの要件

関連項目

 


ステップ 2 : STOCKAPP でのサーバのビルド

実行可能な ATMI サーバをビルドするには、buildserver を使用します。このコマンドではオプションを使用して、出力ファイル、アプリケーションで提供される入力ファイル、各種の方法で Oracle Tuxedo システム アプリケーションを実行するためのライブラリを指定します。

-C オプションを指定して buildserver を実行すると、cobcc コマンドが呼び出されます。環境変数の ALTCC を設定すると別のコンパイル コマンドを指定でき、ALTCFLAGS を設定するとコンパイル時と編集時にフラグを設定できます。buildserver のコマンドラインで指定できる主なオプションを以下の例に示します。

buildserver コマンドは STOCKAPP.mk で使用され、株式アプリケーションの各サーバをコンパイルしてビルドします。詳細については、『Tuxedo コマンド リファレンス』の「buildserver(1)」を参照してください。

BUYSELL サーバのビルド

BUYSELL ATMI サーバは、BUYSR および SELLSR 関数のコードが記述されたファイルから作成されています。BUYSELL サーバは、まず BUYSELL.o ファイルにコンパイルされ、次に buildserver コマンドに渡されます。そのため、コンパイル エラーを特定でき、サーバをビルドする前に修正することができます。

  1. BUYSELL.o ファイルを作成します (STOCKAPP.mk で作成されます)。次のように、buildserver コマンドで BUYSELL サーバをビルドします。
  2. buildserver -C -v -o BUYSELL -s SELLSR -f SELLSR.cbl -s BUYSR -f BUYSR.cbl

    以下は、コマンドラインで指定されている各オプションの説明です。

    • -C オプションは、COBOL モジュールでサーバをビルドする場合に指定します。
    • -v オプションは、冗長モードを使用する場合に指定します。その標準出力に cc コマンドが出力されます。
    • -o オプションは、実行可能出力ファイルに名前を指定する場合に使用します。名前が指定されていない場合は、SERVER という名前が付きます。
    • -s オプションは、サーバの起動時に宣言されるサーバのサービス名を指定します。サービスを実行する関数名がサービス名と異なる場合、関数名が -s オプションの引数の一部になります。STOCKAPP では、関数名はサービス名と同じなので、サービス名だけを指定します。サービス名では、すべての文字列を大文字で指定します。ただし、buildserver-s オプションでは、サーバ内のサービスを処理する関数には任意の名前を付けることができます。詳細については、『Tuxedo コマンド リファレンス』の「buildserver(1)」を参照してください。システム管理者は、buildserver コマンドでサーバを作成した際に使用されたサービスのサブセットだけをサーバの起動時に利用できるように設定することもできます。詳細については、『Oracle Tuxedo アプリケーション実行時の管理』および『Oracle Tuxedo アプリケーションの設定』を参照してください。
    • -f オプションは、リンク時と編集時に使用されるファイルを指定します。buildserver リファレンス ページの -l オプションも参照してください。この 2 つのオプションの詳細については、『COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング』の「サーバのビルド」を参照してください。ファイルがリストされる順序には意味があります。この順序は、関数の参照、およびその参照がどのライブラリで解決されるかによって決定されます。ソース モジュールは、関数の参照が解決されるライブラリの前にリストされます。.cbl ファイルが存在する場合、それが最初にコンパイルされます。オブジェクト ファイルは、別個の .o ファイル、またはアーカイブ (.a) ファイルにあるファイル グループです。-f の引数として 1 つ以上のファイル名を指定する場合は、二重引用符で各ファイル名を囲む必要があります。-f オプションは、必要な数だけ使用できます。
    • -s オプションは、BUYSELL サーバを構成するサービスとして、SELLSR および BUYSR を指定します。-o オプションは実行可能出力ファイルに BUYSELL という名前を付け、-f オプションは SELLSR.cbl および BUYSR.cbl ファイルがビルドでのリンク時と編集時に使用されることを指定します。

STOCKAPP.mk でビルドされるサーバ

STOCKAPP サーバをビルドする場合、buildserver コマンドの指定方法を理解していることが大切です。ただし、実際にビルドする場合、makefile にビルドの定義を記述することがよくあります。STOCKAPP でもその方法が採用されています。

関連項目

 


ステップ 3 : STOCKAPP.mk ファイルの編集

STOCKAPP には、すべてのスクリプトを実行可能にし、VIEW 記述ファイルをバイナリ形式に変換し、アプリケーション サーバの作成に必要なすべてのプリコンパイル、コンパイル、およびビルドを行う makefile が提供されています。また、最初からやり直す場合にもこのファイルを利用できます。

提供されている STOCKAPP.mk をそのまま使わずにフィールドを編集した方がよい場合があります。また、説明が必要なフィールドもあります。以下にそれらのフィールドについて説明します。

TUXDIR パラメータの編集

STOCKAPP.mk にある次のコメントと TUXDIR パラメータを確認します。

#
# Tuxedo システムのルート ディレクトリです。このファイルは、編集してこの値を正しく設定するか、
# または "make -f STOCKAPP.mk TUXDIR=/correct/rootdir" を使用して正しい値を渡します。
# そのようにしないと、STOCKAPP のビルドは失敗します。
#
TUXDIR=../..

TUXDIR パラメータには、Oracle Tuxedo システムがインストールされたルート ディレクトリの絶対パス名を指定します。

APPDIR パラメータの編集

APPDIR パラメータに設定されている値を変更する場合があります。提供された STOCKAPP では、APPDIR には STOCKAPP ファイルが置かれたディレクトリ (TUXDIR の相対パス) が指定されています。次に示す STOCKAPP.mk のセクションには、APPDIR の設定についての説明と定義が記述されています。

#
# STOCKAPP アプリケーションのソース コードと実行可能ファイルが置かれたディレクトリです。
# このファイルは、編集してこの値を正しく設定するか、
# または "make -f STOCKAPP.mk APPDIR=/correct/appdir" を使用して正しい値を渡します。
# このようにしないと、STOCKAPP のビルドは失敗します。
#
APPDIR=$(TUXDIR)/samples/atmi/STOCKAPP
#

README ファイルに従って、別のディレクトリにファイルをコピーした場合、APPDIR にはファイルのコピー先のディレクトリを指定します。makefile を実行すると、そのディレクトリにアプリケーションがビルドされます。

STOCKAPP.mk ファイルの実行

  1. STOCKAPP.mk に必要な変更を加えたら、次のコマンドを使用してこのファイルを実行します。
  2. nohup make -f STOCKAPP.mk install &
  3. nohup.out ファイルを調べて、処理が正しく行われたことを確認します。

関連項目

 


ステップ 4 : コンフィグレーション ファイルの編集

STOCKAPP コンフィグレーション ファイルには、複数のコンピュータ上でアプリケーションを実行する方法が定義されています。STOCKAPP には、UBBCONFIG(5) で説明されているテキスト形式のコンフィグレーション ファイルが提供されています。UBBCBSHM には、単一のコンピュータ上のアプリケーションが定義されています。

  1. テキスト エディタで、STOCKAPP のコンフィグレーション ファイルの内容を確認します。
  2. コード リスト 5-2 値を変更する UBBCBSHM コンフィグレーション ファイルのフィールド
          #Copyright (c) 1992 Unix System Laboratories, Inc.
    #All rights reserved
    # Tuxedo COBOL サンプル アプリケーション用の UBBCONFIG スケルトン ファイルです。
    *RESOURCES
    IPCKEY 5226164
    DOMAINID STOCKAPP
    001 UID <id(1) からのユーザ ID>
    002 GID <id(1) からのグループ ID>
    MASTER SITE1
    PERM 0660
    MAXACCESSERS 20
    MAXSERVERS 15
    MAXSERVICES 30
    MODEL SHM
    LDBAL Y
    MAXGTT 100
    MAXBUFTYPE 16
    MAXBUFSTYPE 32
    SCANUNIT 10
    SANITYSCAN 12
    DBBLWAIT 6
    BBLQUERY 180
    BLOCKTIME 10
    TAGENT “TAGENT"
    #
    *MACHINES
    003 <SITE1 の名前> LMID=SITE1
    004 TUXDIR="<TUXDIR1>"
    005 APPDIR="<APPDIR1>"
    ENVFILE="<APPDIR1>/ENVFILE"
    TUXCONFIG="<APPDIR1>/TUXCONFIG"
    TUXOFFSET=0
    006 TYPE="<マシン タイプ>"
    ULOGPFX="<APPDIR>/ULOG"
    MAXWSCLIENTS=5
    #
    *GROUPS
    COBAPI LMID=SITE1 GRPNO=1
    #
    #
    *SERVERS
    FUNDUPSR SRVGRP=COBAPI SRVID=1 CONV=Y ENVFILE="<APPDIR1>/ENVFILE"
    FUNDPRSR SRVGRP=COBAPI SRVID=2 ENVFILE="<APPDIR1>/ENVFILE"
    BUYSELL SRVGRP=COBAPI SRVID=3 ENVFILE="<APPDIR1>/ENVFILE"
    #
    #
    *SERVICES
  3. アプリケーションのパスワード機能を有効にするために、次の行を UBBCBSHMRESOURCES セクションに追加します。
  4. SECURITY   APP_PW
  5. 一部のパラメータ値は山かっこ (<>) で囲まれています。山かっこで囲まれた文字列は、実際のインストールに合わせた値に置き換えます。これらのフィールドは、RESOURCESMACHINES、および GROUPS セクションにあります。次の表は、山かっこで囲まれた文字列を置き換える値について説明しています。各文字列を適切な値に置き換えます。
  6. 表 5-2 値の説明
    行番号
    置き換える文字列
    目的
    001
    UID
    掲示板の IPC 構造体のオーナーを示す有効なユーザ ID。マルチプロセッサ コンフィグレーションでは、この値はすべてのマシンで同じにする必要があります。この値を Oracle Tuxedo ソフトウェアのオーナーと同じにすると、簡単に統一できます。
    002
    GID
    掲示板の IPC 構造体のオーナーを示す有効なグループ ID。マルチプロセッサ コンフィグレーションでは、この値はすべてのマシンで同じにする必要があります。アプリケーションの各ユーザは、このグループ ID を共有する必要があります。
    003
    SITE1 の名前
    マシンのノード名。UNIX コマンド uname -n で出力される値を使用します。
    004
    TUXDIR
    Oracle Tuxedo システム ソフトウェアのルート ディレクトリの絶対パス名。ファイルに出現するすべての <TUXDIR1> に値を設定して、ファイル全体で値を置き換えます。
    005
    APPDIR
    アプリケーションを実行するディレクトリの絶対パス名。ファイルに出現するすべての <APPDIR1> に値を設定して、ファイル全体で値を置き換えます。
    006
    マシン タイプ
    このパラメータは、異なる種類のマシンが存在するネットワーク環境のアプリケーションで重要です。Oracle Tuxedo システムでは、マシン間で行われるすべての通信に対してこの値が確認されます。値が異なる場合にだけ encode/decode ルーチンが呼び出されてデータを変換します。

関連項目

 


ステップ 5 : バイナリ形式のコンフィグレーション ファイルの作成

バイナリ形式のコンフィグレーション ファイルを作成する前に

バイナリ形式のコンフィグレーション ファイルを作成する場合、STOCKAPP ファイルが置かれたディレクトリに移動し、環境変数を設定することが必要です。その場合、次の手順に従います。

  1. STOCKAPP ファイルが置かれたディレクトリに移動します。
  2. 次のコマンドを入力して、環境変数を設定します。
  3. . ./STKVAR

コンフィグレーション ファイルのロード

コンフィグレーション ファイルを編集したら、それを MASTER マシン上にバイナリ ファイルとしてロードする必要があります。バイナリ形式のコンフィグレーション ファイルの名前は TUXCONFIG、そのパス名は TUXCONFIG 環境変数に定義されています。このファイルは、Oracle Tuxedo のシステム管理者の有効なユーザ ID およびグループ ID を持つユーザが作成します。この 2 つの ID は、ご使用のコンフィグレーション ファイルの UID および GID の値と同じであることが必要です。同じではない場合、STOCKAPP の実行時にパーミッションの問題が発生します。

  1. 次のコマンドを入力して、TUXCONFIG を作成します。
  2.     tmloadcf UBBCBSHM

    コンフィグレーションのロード時には、このコンフィグレーションをインストールするかどうか、およびインストールする場合は既存のコンフィグレーション ファイルを上書きすることを確認するメッセージが何回か表示されます。このような確認を省くには、コマンドラインで -y オプションを指定します。

  3. アプリケーションで必要な IPC リソースを Oracle Tuxedo システムで計算する場合は、コマンドラインで -c オプションを指定します。
  4. TUXCONFIG は、MASTER マシン上だけにインストールできます。アプリケーションの起動時に tmboot によってほかのマシンに伝播されます。

    コンフィグレーションのオプションとして SECURITY が指定されている場合、tmloadcf の実行時にアプリケーション パスワードの入力が求められます。30 文字までのパスワードを指定できます。アプリケーションに参加するクライアント プロセスでは、パスワードを入力する必要があります。

    ロードする前に tmloadcf によってテキスト形式のコンフィグレーション ファイル (UBBCONFIG) が解析されます。構文エラーが検出された場合、ファイルのロードは失敗します。

関連項目

 


STOCKAPP の実行

ここでは、STOCKAPP を起動し、各種のクライアント プログラムとトランザクションを行ってテストし、終了する手順について順に説明します。

各作業をクリックすると、その作業を行う手順が表示されます。

STOCKAPP の要求

 


ステップ 1 : 起動する前に行う準備作業

  1. STOCKAPP を起動する前に、アプリケーションをサポートできるだけの IPC リソースがマシンにあることを確認します。IPC リソースに関するレポートを出力するには、tmboot コマンドに -c オプションを指定します。
  2. コード リスト 5-3 IPC レポート
        IPC の大きさ変更 (/T の最小値のみ)
    プロセッサごとの固定した最小値
    SHMMIN: 1
    SHMALL: 1
    SEMMAP: SEMMNI
    プロセッサごとの可変の最小値
    SEMUME, A SHMMAX
    SEMMNU, * *
    ノード SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG
    ------ ------ ------ ------ ------ ------ ------ ------
    machine 1 60 1 60 A + 1 10 20 76K
    machine 2 63 5 63 A + 1 11 22 76K
    ここで 1 <= A <= 8 です。
  3. プロセッサごとに使用されるクライアント アプリケーションの数を各 MSGMNI 値に追加します。MSGMAPMSGMNI の 2 倍にします。
  4. IPC の最低条件とご使用のマシンに対して設定されたパラメータとを比較します。これらのパラメータを定義する場所は、プラットフォームによって異なります。
    • ほとんどの UNIX システム プラットフォームの場合、マシンのパラメータは /etc/conf/cf.d/mtune に定義されています。
    • Windows 2003 プラットフォームの場合、マシンのパラメータはコントロール パネルで設定したり表示します。

関連項目

 


ステップ 2 : STOCKAPP の起動

  1. 環境変数を設定します。
  2. ../STKVAR
  3. 次のコマンドを入力して、アプリケーションを起動します。
  4.     tmboot

    次のプロンプトが表示されます。

        すべての TUXEDO 管理プロセスとアプリケーションのサーバ・プロセスを起動させますか?(y/n): y

    プロンプトで「y」と入力すると、次のようなレポートが画面に出力されます。

    /usr/me/appdir/tuxconfig のすべての TUXEDO 管理プロセスとアプリケーションのサーバ・プロセスを起動します。
    すべての TUXEDO 管理プロセスを起動します。
    exec BBL -A:
    プロセス ID=24223 を起動しました。

このレポートは、コンフィグレーション内のすべてのサーバが起動するまで出力されます。起動したサーバの合計数が出力された時点でレポートは終了します。

必要に応じて、コンフィグレーションの一部のサーバだけを起動することもできます。たとえば、管理サーバだけを起動するには、-A オプションを指定します。オプションが指定されていない場合は、アプリケーション全体が起動します。

tmboot では、起動したサーバ数がレポートされるほかに、ULOG にメッセージが送信されます。

関連項目

 


ステップ 3 : STOCKAPP サービスのテスト

  1. 実行中のシステムにログインする場合は、STOCKAPP に環境変数を設定する必要があります。その場合、次のコマンドを入力します。
  2. ../STKVAR
  3. BUY クライアント プログラムを実行します。その場合、次のコマンドを入力します。
  4. BUY
  5. STOCKAPP をモニタします。STOCKAPP の実行中に、tmadmin のサブコマンドなど各種のコマンドを実行し、出力される状態情報の種類を確認します。

関連項目

 


ステップ 4 : STOCKAPP の停止

STOCKAPP を終了するには、次のように、引数を指定せずに tmshutdown(1) コマンドを MASTER マシンで入力します。

    tmshutdown

このコマンド (または tmadmin の停止コマンド) を実行すると、次のタスクが行われます。

関連項目


  ページの先頭       前  次