bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > サンプルを使用した Tuxedo アプリケーションの開発方法 > XMLSTOCKAPP のチュートリアル |
サンプルを使用した Tuxedo アプリケーションの開発方法
|
XMLSTOCKAPP のチュートリアル
ここでは、次の内容について説明します。
XMLSTOCKAPP とは
XMLSTOCKAPP は、BEA Tuxedo システム・ソフトウェアに同梱されている株式売買の ATMI サンプル・アプリケーションです。このアプリケーションでは、単一のマシン上にある 2 つのサーバを実行し、C および C++ Tuxedo サーバからのパーサの呼び出しと XML バッファのルーティングを示します。片方のサーバは C++ で記述された Tuxedo サーバです (stockxml)。もう一方のサーバは C で記述されています (stockxml_c)。2 つのサーバは同じ STOCKQUOTE サービスを提供します。クライアントはサービスを呼び出し、株価を返します。次に XML バッファを出力します。
ここでは、XMLSTOCKAPP アプリケーションを開発する方法について、手順を順に示して説明します。このチュートリアルに従って XMLSTOCKAPP の「開発」を経験すると、独自のアプリケーションを開発できるようになります。
XMLSTOCKAPP チュートリアルは、次の 3 つの節から構成されています。
注記 ここで説明する内容は、アプリケーションの開発、管理、プログラミングに経験のあるシステム・ユーザを対象としています。また、BEA Tuxedo システム・ソフトウェアについて理解していることを前提としています。BEA Tuxedo アプリケーションをビルドするには、開発ラインセンスが必要です。
XMLSTOCKAPP について
ここでは、XMLSTOCKAPP アプリケーションを構成するファイル、クライアント、およびサービスについて説明します。それぞれの詳細については以下を参照してください。
XMLSTOCKAPP のファイルについて
XMLSTOCKAPP アプリケーションを構成するファイルは、samples/atmi/xmlstockapp ディレクトリに置かれています。このサンプルに用意されているファイルは、次のとおりです。
XMLSTOCKAPP ディレクトリには、次のファイルが置かれています。
XMLSTOCKAPP クライアントの検証
BEA Tuxedo システムの ATMI クライアント/サーバ・アーキテクチャでは、通信に次の 2 つのモードがあります。
XMLSTOCKAPP では要求/応答モードをインプリメントし、STOCKQUOTE サービスを使用して株価を要求します。
要求/応答クライアント: stock_quote_beas.xml
Client.cpp は XML ファイル stock_quote_beas.xml または stock_quote_msft.xml からの入力を使用するクライアント・プログラムです。STOCKQUOTE サービスを呼び出す照会を行い、BEAS または MSFT の株価を返します。このプログラムは、次のように実行可能プログラムとして呼び出します。
Client stock_quote_beas.xml
または
Client stock_quote_msft.xml
関連項目
XMLSTOCKAPP サーバの検証
ATMI サーバとは、1 つ以上のサービスを提供する実行可能プロセスです。BEA Tuxedo システムでは、サーバはクライアントとして動作するプロセスから継続的に要求を受け取り、それを適切なサービスに転送します。BEA Tuxedo システムのトランザクション処理アプリケーションの機能性は、これらのサービスがリソース・マネージャにアクセスすることによって実現されます。サービス・ルーチンは、BEA Tuxedo システム・プログラマによって作成されなければならないアプリケーションの一部です。ユーザ定義のクライアントは、アプリケーションの別の部分に相当します。
XMLSTOCKAPP プログラムの STOCKQUOTE サービスは、アプリケーション・トランザクション・モニタ・インターフェイス (ATMI) で提供される機能を使用して、クライアントに XML バッファとして株価を返します。
XMLSTOCKAPP のファイルおよびリソースの準備
ここでは、XMLSTOCKAPP を実行するために必要なファイルやリソースを作成するための手順を順に示します。
ステップ 1: 新しいディレクトリへの XMLSTOCKAPP ファイルのコピー
ファイルを編集したりサンプルを実行したりする前に、XMLSTOCKAPP ファイルを独自のディレクトリにコピーしておくことをお勧めします。
ステップ 2: 環境変数の設定
環境変数ファイルを編集する必要があります。
TUXDIR:parameter null or not set
. ./<VARFILE>
そのほかの要件
HP-UX と AIX の場合を除いて、LD_LIBRARY_PATH には、共用ライブラリを使用するシステムの $TUXDIR/lib が含まれている必要があります。
PATH=/usr/5bin:$PATH;export PATH
シェルとしては、csh ではなく /bin/sh を使用します。
ステップ 3: クライアントのビルド
クライアントをビルドするには、以下のコマンドを使用します。
export CFLAGS=-I
特定のオペレーティング・システムの場合は、以下のコマンドを使用します。
export CC=CC
export CC=aCC
export CC=cxx
export CC=xlC_r
export CC=g++
クライアントをビルドするには、以下のコマンドを使用します。
buildclient -o Client -f Client.cpp -f SAXPrint.cpp -f SAXPrintHandlers.cpp -f -ltxml
ステップ 4: XMLSTOCKAPP でのサーバのビルド
XMLSTOCKAPP サンプルには 2 つのサーバが用意されています。ただし、このサンプルのサーバをビルドするには、README ファイルの指示に従う必要があります。
実行可能な ATMI サーバをビルドするには、buildserver を使用します。このコマンドではオプションを使用して、出力ファイル、アプリケーションで提供される入力ファイル、各種の方法で BEA Tuxedo システム・アプリケーションを実行するためのライブラリを指定します。
buildserver のコマンド行で指定できる主なオプションを以下の例に示します。
buildserver コマンドは .mk で使用され、株式アプリケーションの各サーバをコンパイルしてビルドします。詳細については、『BEA Tuxedo コマンド・リファレンス』の buildserver(1) を参照してください。
stockxml および stockxml_c サーバのビルド
次のように、buildserver コマンドで stockxml サーバと stockxml_c サーバをビルドします。
buildserver -s STOCKQUOTE -o stockxml -f stockxml.cpp -f DOMTreeErrorReporter.cpp -f -ltxml
buildserver -s STOCKQUOTE -f stockxml_c.c -o stockxml_c -f xmlWrapper.cpp -f DOMTreeErrorReporter.cpp -f -ltxml
以下は、コマンド行で指定されている各オプションの説明です。
関連項目
ステップ 5: コンフィギュレーション・ファイルの編集
ubbsimple サンプル・コンフィギュレーション・ファイルを編集して、山かっこで囲まれた項目を実際のインストールに適した値に置き換える必要があります。TUXDIR および TUXCONFIG 環境変数はコンフィギュレーション・ファイルの値と一致していなければなりません。
コード リスト6-1 ubbsimple コンフィギュレーション・ファイル
1$
2
3 #BEA Tuxedo サンプル・アプリケーションのスケルトン・ファイルです。
4 #<山かっこで囲まれた文字列> を適切な値で置き換えます。
5 RESOURCES
6 IPCKEY <32,768 よりも大きい IPC キーで置き換えます。>
7
8 #例:
9
10 #IPCKEY 62345
11
12 MASTER simple
13 MAXACCESSERS 5
14 MAXSERVERS 5
15 MAXSERVICES 10
16 MODEL SHM
17 LDBAL N
18
19 *MACHINES
20
21 DEFAULT:
22
23 APPDIR="<現在のパス名で置き換えます。>"
24 TUXCONFIG="<TUXCONFIG のパス名で置き換えます。>"
25 TUXDIR="<Tuxedo のルート・ディレクトリ (/ 以外) を指定します。>"
26 #例:
27 # APPDIR="/usr/me/simpdir"
28 # TUXCONFIG="/usr/me/simpdir/tuxconfig"
29 # TUXDIR="/usr/tuxedo"
30
31 <Machine-name> LMID=simple
32 #例:
33 #tuxmach LMID=simple
34 *GROUPS
35 GROUP1
36 LMID=simple GRPNO=1 OPENINFO=NONE
37
38 *SERVERS
39 DEFAULT:
40 CLOPT="-A"
41 stockxml SRVGRP=GROUP1 SRVID=1
42 stockxml_c SRVGRP=GROUP1 SRVID=1
43 *SERVICES
44 STOCKQUOTE
関連項目
ステップ 6: バイナリ形式のコンフィギュレーション・ファイルの作成
バイナリ形式のコンフィギュレーション・ファイルを作成する場合、XMLSTOCKAPP ファイルが置かれたディレクトリに移動し、環境変数を設定することが必要です。その場合、次の手順に従います。
コンフィギュレーション・ファイルのロード
コンフィギュレーション・ファイルを編集したら、それを MASTER マシン上にバイナリ・ファイルとしてロードする必要があります。バイナリ形式のコンフィギュレーション・ファイルの名前は TUXCONFIG、そのパス名は TUXCONFIG に定義されています。このファイルは、BEA Tuxedo のシステム管理者の有効なユーザ ID およびグループ ID を持つユーザが作成します。この 2 つの ID は、ご使用のコンフィギュレーション・ファイルの UID および GID の値と同じであることが必要です。同じではない場合、XMLSTOCKAPP の実行時にパーミッションの問題が発生します。
tmloadcf ubbsimple
関連項目
XMLSTOCKAPP の実行
ここでは、XMLSTOCKAPP を起動し、各種のクライアント・プログラムとトランザクションを行ってテストし、終了する手順について順に説明します。
ステップ 1: 起動する前に行う準備作業
XMLSTOCKAPP を起動する前に、アプリケーションをサポートするのに十分な IPC 資源がマシンにあることを確認します。IPC 資源に関するレポートを出力するには、tmboot コマンドに -c オプションを指定します。
ステップ 2: XMLSTOCKAPP の起動
このレポートは、コンフィギュレーション内のすべてのサーバが起動するまで出力されます。起動したサーバの合計数が出力された時点でレポートは終了します。
必要であれば、コンフィギュレーションの一部のサーバだけを起動することもできます。たとえば、管理サーバだけを起動するには、-A オプションを指定します。オプションが指定されていない場合は、アプリケーション全体が起動します。
tmboot では、起動したサーバ数がレポートされるほかに、ULOG にメッセージが送信されます。
関連項目
ステップ 3: XMLSTOCKAPP サービスのテスト
../<variable_file>
Client stock_quote_beas.xml
ステップ 4: XMLSTOCKAPP のシャットダウン
XMLSTOCKAPP を終了するには、次のように、引数を指定せずに tmshutdown(1) コマンドを MASTER マシンで入力します。
tmshutdown -y
このコマンド (または tmadmin のシャットダウン・コマンド) を実行すると、次のタスクが行われます。
関連項目
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |