![]() |
![]() |
|
|
Transactions サンプル・アプリケーション
ここでは、次の内容について説明します。
トラブルシューティング情報については、\transactions
ディレクトリにある Readme.txt
を参照してください。また、Transactions サンプル・アプリケーションの使用方法に関する最新の情報も参照してください。CORBA アプリケーションでのトランザクションの使用に関する詳細については、『BEA Tuxedo CORBA トランザクション』を参照してください。
Transactions サンプル・アプリケーションのしくみ
Transactions サンプル・アプリケーションでは、学生はクラスの登録ができます。コースの登録は、トランザクションのスコープ内で実行されます。Transactions サンプル・アプリケーションは、以下のように機能します。
TooManyCredits
ユーザ例外をクライアント・アプリケーションに返します。続いて、クライアント・アプリケーションによって、要求が拒否されたという内容の簡単なメッセージが表示されます。その際、クライアント・アプリケーションはトランザクションをロールバックします。図 5-1 では、Transactions サンプル・アプリケーションのしくみを示しています。
図5-1 Transactions サンプル・アプリケーション
Transactions サンプル・アプリケーションの開発プロセス
ここでは、Transactions サンプル・アプリケーションにトランザクションを追加する手順について説明します。以下の手順は、Basic サンプル・アプリケーションで概説した開発手順の追加手順です。
注記 この節に記載されている手順はすでに完了しており、Transactions サンプル・アプリケーションに組み込まれています。
OMG IDL
開発プロセスでは、Object Management Group (OMG) インターフェイス定義言語 (IDL) で Registrar
の register_for_courses()
オペレーションを定義します。register_for_courses()
オペレーションには、NotRegisteredList
パラメータがあり、登録に失敗したコースのリストをクライアント・アプリケーションに返します。NotRegisteredList
の値が空の場合、クライアント・アプリケーションはトランザクションをコミットします。
また、TooManyCredits
ユーザ例外も定義する必要があります。
クライアント・アプリケーション
開発プロセスでは、クライアント・アプリケーションに次のコードを追加します。
register_for_courses()
の呼び出しクライアント・アプリケーションでのトランザクションの使用については、『BEA Tuxedo CORBA アプリケーション入門』および『BEA Tuxedo CORBA トランザクション』を参照してください。
University サーバ・アプリケーション
開発プロセスでは、University サーバ・アプリケーションに次のコードを追加します。
Server::initialize()
および Server::release()
オペレーションでの、TP::open_xa_rm()
および TP::close_xa_rm()
オペレーションの呼び出しregister_for_courses()
オペレーションのメソッド・インプリメンテーション上記の作業については、『BEA Tuxedo CORBA サーバ・アプリケーションの開発方法』を参照してください。
UBBCONFIG ファイル
開発プロセスでは、UBBCONFIG
ファイルで次のものが必要になります。
XA
パラメータに従って定義された OPENINFO
パラメータ。Oracle データベースの XA
パラメータの説明については、『Oracle7 Server Distributed Systems』の「Developing and Installing Applications that Use the XA Libraries」を参照してください。注記 Oracle 以外のデータベースを使用する場合、XA パラメータの定義については製品のマニュアルを参照してください。
TLOGDEVICE
パラメータでのトランザクション・ログ (TLOG
) のパス名 トランザクション・ログおよび UBBCONFIG
ファイルのパラメータの定義については、『BEA Tuxedo アプリケーションの設定』を参照してください。
ICF ファイル
開発プロセスでは、Registrar
オブジェクトのトランザクション方針を optional
から always
に変更します。always
トランザクション方針は、このオブジェクトが必ずトランザクションの一部であることを示します。CORBA オブジェクトのトランザクション方針の定義については、『BEA Tuxedo CORBA トランザクション』を参照してください。
Transactions サンプル・アプリケーションのビルド
Transactions サンプル・アプリケーションをビルドするには、次の手順に従います。
UBBCONFIG
ファイルをロードします。
以降の節では、上記の各手順について説明します。
注記 Transactions サンプル・アプリケーションをビルドまたは実行する前に、環境設定の手順を実行しておく必要があります。
Transactions サンプル・アプリケーションのファイルを作業ディレクトリにコピーする
Transactions サンプル・アプリケーションの各ファイルは、次のディレクトリにあります。
Windows 2000
drive
:
\TUXDIR
\samples
\corba
\university
\transaction
UNIX
/usr/
TUXDIR
/samples/corba/university
/transaction
また、utils
ディレクトリも作業ディレクトリにコピーする必要があります。utils
ディレクトリには、ログ、トレース、および University データベースへのアクセスを設定するファイルが格納されています。
表 5-1 に、Transactions サンプル・アプリケーションの作成に使用するファイルの一覧を示します。
Transactions サンプル・アプリケーションのファイル保護の属性を変更する
BEA Tuxedo ソフトウェアのインストール時には、サンプル・アプリケーションは読み取り専用に設定されています。Transactions サンプル・アプリケーションのファイルを編集または作成するには、次のように作業ディレクトリにコピーしたファイル保護の属性を変更する必要があります。
Windows 2000
prompt>attrib -r drive:
\workdirectory
\*.*
UNIX
prompt>chmod u+rw /
workdirectory
/*.*
環境変数を設定する
次のコマンドを使用して、Transactions サンプル・アプリケーションのクライアント・アプリケーションとサーバ・アプリケーションのビルドに使用する環境変数を設定します。
Windows 2000
prompt>setenvt
UNIX
prompt>/bin/ksh
prompt>. ./setenvt.sh
University データベースを初期化する
次のコマンドを使用して、Transactions サンプル・アプリケーションで使用する University データベースを初期化します。
Windows 2000
prompt>nmake -f makefilet.nt initdb
UNIX
prompt>make -f makefilet.mk initdb
UBBCONFIG ファイルをロードする
次のコマンドを使用して、UBBCONFIG
ファイルをロードします。
Windows 2000
prompt>tmloadcf -y ubb_t.nt
UNIX
prompt>tmloadcf -y ubb_t.mk
UBBCONFIG
ファイルの作成プロセスでは、アプリケーション・パスワードの入力が求められます。このパスワードは、クライアント・アプリケーションへのログオンに使用されます。パスワードを入力して Enter キーを押します。その際、パスワードを再入力してパスワードの確認を求めるメッセージが表示されます。
トランザクション・ログを作成する
トランザクション・ログには、CORBA アプリケーションでのトランザクション処理が記録されます。開発プロセスでは、UBBCONFIG
ファイルの TLOGDEVICE
パラメータでトランザクション・ログの場所を定義する必要があります。Transactions サンプル・アプリケーションの場合、トランザクション・ログは作業ディレクトリに格納されています。
Transactions サンプル・アプリケーションのトランザクション・ログを開くには、次の手順に従います。
tmadmin
crdl -b
blocks
-z
directorypath
clog -m SITE1
この例では、
blocks
にトランザクション・ログに割り当てるブロック数を指定し、directorypath
にトランザクション・ログの場所を指定します。directorypath
オプションは、UBBCONFIG
ファイルの TLOGDEVICE
パラメータで指定した場所と一致しなければなりません。Windows 2000 でのコマンドの例を次に示します。
crdl -b 500 -z c:
\mysamples
\university
\Transaction
\TLOG
Transactions サンプル・アプリケーションのコンパイル
開発プロセスでは、buildobjclient
および buildobjserver
コマンドを使用して、クライアント・アプリケーションとサーバ・アプリケーションをビルドします。また、クライアント・アプリケーションとサーバ・アプリケーションのトランザクション・イベントを調整するために、データベース固有のトランザクション・マネージャを作成します。ただし、Transactions サンプル・アプリケーションの場合は、この手順は不要です。Transactions サンプル・アプリケーションのディレクトリには、makefile
が格納されています。この makefile により、クライアントとサーバ・サンプル・アプリケーションがビルドされ、TMS_ORA というトランザクション・マネージャが作成されます。
注記 makefile
では、次のパラメータがハード・コードされ、Oracle データベース用のトランザクション・マネージャが作成されます。
RM=Oracle_XA
Oracle 以外のデータベースを使用する場合は、上記のパラメータを変更する必要があります。
Transactions サンプル・アプリケーションの CORBA C++ クライアント・アプリケーションとサーバ・アプリケーションをビルドするには、次のコマンドを使用します。
Windows 2000
prompt>nmake -f makefilet.nt
UNIX
prompt>make -f makefilet.mk
CORBA Java クライアント・アプリケーションをビルドするには、次のコマンドを使用します。
Windows 2000
prompt>nmake -f makefilet.nt javaclient
UNIX
prompt>make -f makefilet.mk javaclient
ActiveX クライアント・アプリケーションの起動については、ActiveX クライアント・アプリケーションの起動を参照してください。
buildobjclient
および buildobjserver
コマンドの詳細については、『BEA Tuxedo コマンド・リファレンス
Transactions サンプル・アプリケーションの実行
Transactions サンプル・アプリケーションを実行するには、次の手順に従います。
上記の手順については、以降の節を参照してください。
サーバ・アプリケーションの起動
Transactions サンプル・アプリケーションでシステムおよびサンプル・アプリケーションのサーバ・アプリケーションを起動するには、次のコマンドを入力します。
prompt>tmboot -y
このコマンドを入力すると、次のサーバ・プロセスが開始されます。
TMSYSEVT
BEA Tuxedo システムの EventBroker。
TMFFNAME
NameManager サービスや FactoryFinder サービスなどのトランザクション管理サービス。
TMIFSRVR
インターフェイス・リポジトリ・サーバ・プロセス。これは、ActiveX クライアント・アプリケーションでのみ使用されます。
univt_server
University サーバ・プロセス。
ISL
IIOP リスナ/ハンドラ・プロセス。
ほかのサンプル・アプリケーションを使用するには、次のコマンドを入力して、システムおよびサンプル・アプリケーションのサーバ・プロセスを停止します。
prompt>tmshutdown
CORBA C++ クライアント・アプリケーションの起動
Transactions サンプル・アプリケーションの CORBA C++ クライアント・アプリケーションを起動するには、次の手順に従います。
prompt>univt_client
Enter student id:
」と表示されたら、100001 〜 100010 の任意の
数値を入力します。
Enter domain password:
」と表示されたら、UBBCONFIG
ファイル
をロードしたときに定義したパスワードを入力します。
CORBA Java クライアント・アプリケーションの起動
Transactions サンプル・アプリケーションの CORBA Java クライアント・アプリケーションを実行するには、以下の手順に従います。
UnivTApplet.html
ファイル内の次の行を変更します。
code="UnivTApplet.class"
codebase=.
上記の行を次のように変更します。
code="UnivTApplet"
archive="UnivTApplet.jar,m3envobj.jar"
UnivTApplet.html
ファイルを Web サーバのソース・ディレクト
リにコピーします。ディレクトリは、Web サーバ製品によって異なります。
makefile
を実行して Transactions サンプル・アプリケーションをビルドし
た後、次のように UnivTApplet.jar
ファイルを作成します。
サンプル・アプリケーションをビルドしたディレクトリの下に tmp
ディレクトリを作成します。UniversityT
サブディレクトリとその中に格納されているクラス・ファイルを tmp
ディレクトリにコピーします。
makefile
によって生成された、Transactions サンプル・アプリケーション・ディレクトリにあるクラス・ファイルを tmp
ディレクトリにコピーします。ディレクトリを tmp
ディレクトリに設定 (cd
) し、次のいずれかのコマンドを入力して、すべての Transactions サンプル・アプリケーション・クラスを含んだ .JAR
ファイルを作成します。jar -cf ..
\UnivTApplet.jar *.*
(Microsoft Windows 2000 システム) jar -cf ../UnivTApplet.jar *
(UNIX システム)
UnivTApplet.jar
ファイルを Web サーバのソース・
ディレクトリにコピーします。ディレクトリ名は、Web サーバ製品によって
異なります。
%TUXDIR%
\udataobj
\java
、UNIX システムの場合は
$
{
TUXDIR}/udataobj/java
) から、m3envobj.jar
ファイルを Web サーバの
ソース・ディレクトリにコピーします。
注記 Microsoft Windows 2000 システムの場合、ノード名はすべて大文字にする必要があります。たとえば、UBBCONFIG
ファイルおよび UnivTApplet.html
ファイルでノードを SERVER
に指定した場合、ブラウザは http://SERVER/UnivTApplet.html
に設定します。
UBBCONFIG
ファイルをロードしたときに定
義したパスワードを入力します。
ActiveX クライアント・アプリケーションの起動
注記 University サンプル・アプリケーションでは、インターフェイス・リポジトリに CORBA インターフェイスの OMG IDL をロードする作業は makefile
によって自動化されています。
ActiveX クライアント・アプリケーションを起動するには、Application Builder を使用して CORBA インターフェイスの ActiveX バインディングを作成する必要があります。
CORBA インターフェイスの ActiveX バインディングを作成するには、次の手順に従います。
[IIOP Listener] ウィンドウが表示されます。
UBBCONFIG
ファイルの ISL
パラメータで指定
したホスト名とポート番号を入力します。ホスト名とポート番号は、
UBBCONFIG
ファイルで大文字で指定した内容と正確に一致するように入力し
ます。
[Logon] ウィンドウが表示されます。
UBBCONFIG
ファイルをロードしたときに定義したユーザ名とパスワードにつ
いて、100001 〜 100010 の学生 ID を [Logon] ウィンドウに入力します。
[Application Builder] ウィンドウが表示されます。インターフェイス・リポジトリにロードされた CORBA インターフェイスがすべて、Application Builder の [Services] ウィンドウに表示されます。
確認のウィンドウが表示されます。
Application Builder では、以下のものが作成されます。
DI
modulename_interfacename
です。たとえば、Registrar
インターフェイスに対するバインディングの名前は、DIUniversityT_Registrar
となります。TUXDIR
\TypeLibraries
に格納されています。型ライブラリのファイル名の形式は、DI
modulename_interfacename
.tlb
です。
ActiveX クライアント・アプリケーションを実行するには、次の手順に従います。
University.vbw
ファイルを開きます。
[IIOP Listener] ウィンドウが表示されます。
UBBCONFIG
ファイルの ISL
パラメータで指定
したホスト名とポート番号を入力します。ホスト名とポート番号は、
UBBCONFIG
ファイルで大文字で指定した内容と正確に一致するように入力し
ます。
[Logon] ウィンドウが表示されます。
UBBCONFIG
ファイルをロードしたときに定義したユーザ名とパスワードにつ
いて、100001 〜 100010 の学生 ID を [Logon] ウィンドウに入力します。
Transactions サンプル・アプリケーションのクライアント・アプリケーションの使用方法
以降の節では、Transactions サンプル・アプリケーションのクライアント・アプリケーションの使用方法について簡単に説明します。
CORBA C++ クライアント・アプリケーション
Transactions サンプル・アプリケーションの CORBA C++ クライアント・アプリケーションには、次の追加オプションがあります。
<R> Register for Courses
コースに登録するには、次の手順に従います。
Course Number
」と表示されたら、コース番号とその後に続けて
「-1」を入力します。たとえば、次のように入力します。
100011
100039
-1
C++ CORBA クライアント・アプリケーションを終了するには、Options プロンプトで「E
」を入力します。
CORBA Java クライアント・アプリケーション
CORBA Java クライアント・アプリケーションにログオンすると、[Student Account Summary] ウィンドウが表示されます。このウィンドウでは、コースへの登録ができます。
クラスへの登録を行うには、以下の手順に従います。
computer
」などの文字列を入力します。
検索文字列に一致したコースがウィンドウに一覧表示されます。
コースが登録済みの場合は、[Student Account Summary] ウィンドウの Registered フィールドに「Yes
」と表示されます。
学生 ID が登録されているコースを一覧表示するには、[Show Registration] ボタンをダブルクリックします。
CORBA Java クライアント・アプリケーションを終了するには、[Student Account Summary] ウィンドウの [Logoff] ボタンをクリックするか、または [Applet] メニューから [Quit] を選択します。
ActiveX クライアント・アプリケーション
ActiveX クライアント・アプリケーションにログオンすると、[Course Browser] ウィンドウが表示されます。このウィンドウでは、コースへの登録ができます。
クラスへの登録を行うには、次の手順に従います。
computer
」などの文字列を入力します。
検索文字列に一致したコースがすべて一覧表示されます。
選択したコースの詳細が表示されます。
ウィンドウの下部に学生のスケジュールにあるコースが表示されます。登録済みのコースは、緑で表示されます。以前に登録したコースと競合するコースは、赤で表示されます。
スケジュールからコースを削除するには、スケジュールでコースをダブルクリックします。
学生 ID が登録されているコースを一覧表示するには、[Get Registered Courses] ボタンをクリックします。
コースに関する情報の表示を閉じるには、[Get Details] ボタンをクリックします。
ActiveX クライアント・アプリケーションを終了するには、[File] メニューから [Exit] を選択します。
![]() |
![]() |
![]() |
|
Copyright © 2001, BEA Systems, Inc. All rights reserved.
|