bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

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

 Previous Next Contents View as PDF  

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 サービスを使用して株価を要求します。

  1. BEAS または MSFT の株価の要求。

  2. XML ファイル内の単一の引数で実行されるクライアントが、STOCKQUOTE サービスを呼び出します。

  3. サービスは XML バッファを株価で更新します。

  4. クライアントは XML バッファを出力します。

要求/応答クライアント: 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: 環境変数の設定

環境変数ファイルを編集する必要があります。

  1. TUXDIR が設定されていることを確認します。設定されていない場合、ファイルの実行が失敗して、次のメッセージが表示されます。
    TUXDIR:parameter null or not set

  2. TUXDIR パラメータに BEA Tuxedo システムのディレクトリ構造でのルート・ディレクトリを設定し、エクスポートします。

  3. APPDIR{TUXDIR}/samples/atmi/XMLSTOCKAPP ディレクトリに設定します。これは、XMLSTOCKAPP のソース・ファイルが置かれたディレクトリです。APPDIR は、BEA Tuxedo システムによって、アプリケーション固有のファイルが検索されるディレクトリです。オリジナルのソース・ファイルを上書きしないように XMLSTOCKAPP ファイルを別のディレクトリにコピーした場合は、そのディレクトリを入力します。TUXDIR の下位ディレクトリである必要はありません。

  4. 環境変数ファイルに必要な変更を加えたら、次のように実行します。
    . ./<VARFILE>

    <VARFILE> は環境変数ファイルの名前です。

そのほかの要件

HP-UX と AIX の場合を除いて、LD_LIBRARY_PATH には、共用ライブラリを使用するシステムの $TUXDIR/lib が含まれている必要があります。

ステップ 3: クライアントのビルド

クライアントをビルドするには、以下のコマンドを使用します。

export CFLAGS=-I

特定のオペレーティング・システムの場合は、以下のコマンドを使用します。

クライアントをビルドするには、以下のコマンドを使用します。

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

  1. 山かっこで囲まれた各 <文字列> を適切な値に置き換えます。

関連項目

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

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

  1. XMLSTOCKAPP ファイルが置かれたディレクトリに移動します。

  2. 次のコマンドを入力して、環境変数を設定します。
    . ./<variable_file>

    <variable_file> は変数ファイルの名前です。

コンフィギュレーション・ファイルのロード

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

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

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

  2. アプリケーションで必要な IPC 資源を BEA Tuxedo システムで計算する場合は、コマンド行で -c オプションを指定します。

    TUXCONFIG は、MASTER マシン上だけにインストールできます。アプリケーションの起動時に tmboot によってほかのマシンに複製転送されます。

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

関連項目

 


XMLSTOCKAPP の実行

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

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

XMLSTOCKAPP を起動する前に、アプリケーションをサポートするのに十分な IPC 資源がマシンにあることを確認します。IPC 資源に関するレポートを出力するには、tmboot コマンドに -c オプションを指定します。

ステップ 2: XMLSTOCKAPP の起動

  1. 環境変数を設定します。
    ../<variable_file> 

  2. 次のコマンドを入力して、アプリケーションを起動します。
        tmboot -y

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

    Booting all admin and server processes in /usr/me/appdir/tuxconfig
    Booting all admin processes
    exec BBL -A:
    process id=24223 Started.

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

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

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

関連項目

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

  1. 実行中のシステムにログインする場合は、XMLSTOCKAPP に環境変数を設定する必要があります。その場合、次のコマンドを入力します。
    ../<variable_file>

  2. クライアント・プログラムを実行します。クライアント・プログラムを実行するには、以下のコマンドを入力します。
    Client stock_quote_beas.xml

ステップ 4: XMLSTOCKAPP のシャットダウン

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

    tmshutdown -y

このコマンド (または tmadmin のシャットダウン・コマンド) を実行すると、次のタスクが行われます。

関連項目

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy