注: | Oracle Tuxedo CORBA JavaクライアントとOracle Tuxedo CORBA JavaクライアントORBはTuxedo 8.1で非推奨になり、サポートされなくなりました。すべてのOracle Tuxedo CORBA JavaクライアントおよびOracle Tuxedo CORBA JavaクライアントORBのテキスト・リファレンスとコード・サンプルは、サード・パーティ製のJava ORBライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。 |
注: | サード・パーティのCORBA Java ORBのテクニカル・サポートは、各ベンダーによって提供されます。Oracle Tuxedoでは、サード・パーティのCORBA Java ORBに関する技術的なサポートまたはドキュメントは提供していません。 |
Wrapperサンプル・アプリケーションでは、クラスに登録した学生の口座にクラスの代金が請求され、その口座残高が更新されます。また、学生は自身の口座残高を照会できます。
Wrapperサンプル・アプリケーションでは、ATMIサービスを使用します。Billingサーバー・アプリケーションには、Teller
オブジェクトがあり、ATMIアプリケーションのTellerを呼び出します。Tellerアプリケーションは、次の課金用のオペレーションを実行します。
Universityデータベースは、口座情報を含めるために変更されます。
図6-1に、Wrapperサンプル・アプリケーションのしくみを示します。
ここでは、CORBAアプリケーションでATMIサービスをラッピングする際に必要な開発プロセスについて説明します。次の手順は、「Basicサンプル・アプリケーション」で概説した開発手順の追加手順です。
注: | この項に記載されている手順はすでに完了しており、Wrapperサンプル・アプリケーションに組み込まれています。 |
ATMIサービスをラッピングする際は、ATMIサービスと相互運用するオブジェクト、およびそのオブジェクトを作成するファクトリを定義する必要があります。Wrapperサンプル・アプリケーションの場合、Teller
およびTellerFactory
オブジェクトがATMIサービスと情報をやりとりします。開発プロセスでは、Object Management Group (OMG)インタフェース定義言語(IDL)でTeller
およびTellerFactory
オブジェクトのインタフェースを次のように定義します。
Balance
フィールドをStudentDetails
構造体に追加する必要があります。クライアント・アプリケーションでは、Balance
フィールドを使用して学生の口座残高を示します。さらに、ユーザー例外DelinquentAccount
も追加します。
開発プロセスでは、クライアント・アプリケーションにコードを追加して、register_for_courses()
オペレーションによって生成されるユーザー例外Delinquent Account
を処理します。
開発プロセスでは、Billingサーバー・アプリケーションに次を記述します。
開発プロセスでは、Universityサーバー・アプリケーションに次のコードを追加します。
TellerFactory
オブジェクトのFactoryFinderオブジェクトを取得します。Universityサーバー・アプリケーションでは、クライアント・アプリケーションの場合と同様にBootstrapおよびFactoryFinderオブジェクトを使用します。TellerFactory
オブジェクトの参照を含めます。TellerFactory
オブジェクトは、Teller
オブジェクトの作成に使用します。Registrar
オブジェクトのget_student_details()
およびregister_for_courses()
オペレーションのメソッド実装では、Teller
オブジェクトのget_balance()
およびdebit()
オペレーションを呼び出します。 ATMIサービスをラッピングするサーバー・アプリケーションの記述方法については、『CORBAサーバー・アプリケーションの作成』を参照してください。
開発プロセスでは、UBBCONFIG
ファイルに次の変更を加える必要があります。
開発プロセスでは、Teller
およびTellerFactory
オブジェクトのアクティブ化ポリシーとトランザクション・ポリシーを定義する必要があります。Teller
およびTellerFactory
オブジェクトの各ポリシーは次のように設定します。
CORBAオブジェクトのアクティブ化ポリシーとトランザクション・ポリシーの定義については、『CORBAサーバー・アプリケーションの作成』を参照してください。
Wrapperサンプル・アプリケーションをビルドするには、次の手順に従います。
注: | Wrapperサンプル・アプリケーションをビルドまたは実行する前に、「環境設定」の手順を実行しておく必要があります。 |
Wrapperサンプル・アプリケーションの各ファイルは、次のディレクトリにあります。
drive
:\
TUXDIR
\samples\corba\university
\wrapper
/usr/
TUXDIR
/samples/corba/university
/wrapper
また、utils
ディレクトリを作業ディレクトリにコピーする必要があります。utils
ディレクトリには、Universityデータベースのログ、トレースおよびアクセスを設定するファイルが格納されています。
Wrapperサンプル・アプリケーションを作成するには、表6-1に示すファイルを使用します。
Oracle Tuxedoソフトウェアのインストール時には、サンプル・アプリケーションは読取り専用に設定されています。Wrapperサンプル・アプリケーションのファイルを編集または作成するには、次のように作業ディレクトリにコピーしたファイル保護の属性を変更する必要があります。
prompt>attrib -r drive:\
workdirectory
\*.*
prompt>chmod u+rw /
workdirectory
/*.*
次のコマンドを使用して、Wrapperサンプル・アプリケーションのクライアント・アプリケーションとサーバー・アプリケーションのビルドに使用する環境変数を設定します。
次のコマンドを使用して、Wrapperサンプル・アプリケーションで使用するUniversityデータベースを初期化します。
prompt>nmake -f makefilew.nt initdb
prompt>make -f makefilew.mk initdb
次のコマンドを使用して、UBBCONFIG
ファイルをロードします。
UBBCONFIG
ファイルの作成プロセスでは、アプリケーション・パスワードの入力が求められます。このパスワードは、クライアント・アプリケーションへのログオンに使用されます。パスワードを入力してEnterキーを押します。その際、パスワードを再入力してパスワードの確認を求めるメッセージが表示されます。
トランザクション・ログには、CORBAアプリケーションでのトランザクション処理が記録されます。開発プロセスでは、UBBCONFIG
ファイルのTLOGDEVICE
パラメータで指定したトランザクション・ログの場所を定義する必要があります。Wrapperサンプル・アプリケーションの場合、トランザクション・ログは作業ディレクトリに格納されています。
Wrapperサンプル・アプリケーションのトランザクション・ログを開くには、次の手順に従います。
crdl -b
blocks
-z
directorypath
crlog -m SITE1
blocks
にトランザクション・ログに割り当てるブロック数を指定し、directorypath
にトランザクション・ログの場所を指定します。directorypath
オプションは、UBBCONFIG
ファイルのTLOGDEVICE
パラメータで指定した場所と一致する必要があります。Windowsでのコマンドの例を次に示します。
crdl -b 500 -z c:¥mysamples¥university¥wrapper¥TLOG
開発プロセスでは、buildobjclient
およびbuildobjserver
コマンドを使用して、クライアント・アプリケーションとサーバー・アプリケーションをビルドします。ただし、Wrapperサンプル・アプリケーションの場合は、この手順は不要です。Wrapperサンプル・アプリケーションのディレクトリには、makefile
が格納されており、これによりクライアントおよびサーバー・サンプル・アプリケーションがビルドされます。
Wrapperサンプル・アプリケーションのCORBA C++クライアント・アプリケーションとサーバー・アプリケーションをビルドするには、次のコマンドを使用します。
prompt>nmake -f makefilew.nt
prompt>make -f makefilew.mk
Wrapperサンプル・アプリケーションを実行するには、次の手順に従います。
Wrapperサンプル・アプリケーションでシステムおよびサンプル・アプリケーションのサーバー・プロセスを開始するには、次のコマンドを入力します。
このコマンドを入力すると、次のサーバー・プロセスが開始されます。
ほかのサンプル・アプリケーションを使用するには、次のコマンドを入力して、システムおよびサンプル・アプリケーションのサーバー・プロセスを停止します。
Wrapperサンプル・アプリケーションのCORBA C++クライアント・アプリケーションを起動するには、次の手順に従います。
以降の項では、Wrapperサンプル・アプリケーションのクライアント・アプリケーションの使用方法について説明します。
Wrapperサンプル・アプリケーションのCORBA C++クライアント・アプリケーションには、次の追加オプションがあります。
<B> Display Your Balance
Display Your Balance
オプションを使用すると、CORBA C++クライアント・アプリケーションのログオンに使用する学生IDに関連付けられた口座残高が表示されます。
C++ CORBAクライアント・アプリケーションを終了するには、Optionsプロンプトで「E」
を入力します。