注意:
|
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に関する技術的なサポートまたはドキュメントは提供していません。
CORBAアプリケーションでのセキュリティの実装の詳細は、
『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
Securityサンプル・アプリケーションのしくみ
Securityサンプル・アプリケーションでは、アプリケーション・レベルのセキュリティをCORBAアプリケーションに追加することにより、Basicサンプル・アプリケーションを拡張します。アプリケーション・レベルのセキュリティでは、学生ごとにIDとパスワードを付与する必要があります。そのため、Securityサンプル・アプリケーションにはStudentという概念が追加されます。
次の機能がBasicサンプル・アプリケーションに追加されます。
•
|
クライアント・アプリケーションによって、ログオン用のオペレーションが追加される。このオペレーションでは、SecurityCurrent環境オブジェクトを使用してPrincipalAuthenticatorオブジェクトのオペレーションを呼び出します。PrincipalAuthenticatorオブジェクトは、ドメインにアクセスするためのログオン・プロセスの一部です。
|
•
|
Universityサーバー・アプリケーションによって、追加オペレーションの get_student_details()が Registrarオブジェクトに実装され、学生に関する情報が戻されます。CORBAログオンが正常に完了した後、 get_student_details()オペレーションはデータベース内の学生情報にアクセスして、クライアントのログオン・オペレーションに必要な学生情報を取得します。
|
•
|
Universityデータベースには、コースの情報とともに学生情報が格納されています。
|
図4-1に、Securityサンプル・アプリケーションのしくみを示します。
Securityサンプル・アプリケーションの開発プロセス
ここでは、CORBAクライアント・アプリケーションとサーバー・アプリケーションにセキュリティを追加する際に必要な開発プロセスについて説明します。次の手順は、
第3章「Basicサンプル・アプリケーション」で概説した開発手順の追加手順です。
注意:
|
この項に記載されている手順はすでに完了しており、Securityサンプル・アプリケーションに組み込まれています。
|
開発プロセスでは、Object Management Group (OMG)インタフェース定義言語(IDL)で
StudentDetails構造体および
get_student_details()オペレーションを定義します。
開発プロセスでは、クライアント・アプリケーションに次のコードを追加します。
•
|
指定したOracle TuxedoドメインのSecurityCurrent環境オブジェクトの参照を取得するためのBootstrap環境オブジェクト
|
•
|
Oracle Tuxedoドメインで必要な認証の型を返すための、SecurityCurrent環境オブジェクトの Tobj::PrincipalAuthenticatorオペレーション
|
•
|
必要なセキュリティ情報を使用してOracle Tuxedoドメインにログオンするためのオペレーション
|
Securityサンプル・アプリケーションの場合、前述のコードはすでに追加されています。CORBAクライアント・アプリケーションへのセキュリティの追加については、
『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
開発プロセスでは、
get_student_details()オペレーションのメソッド実装を記述します。メソッド実装の記述方法については、
『CORBAサーバー・アプリケーションの作成』を参照してください。
Oracle Tuxedoソフトウェアでは、システム管理者が構成のセキュリティ・レベルを定義します。システム管理者がOracle Tuxedoドメインのセキュリティを定義する際は、
UBBCONFIGファイルの
RESOURSESセクションの
SECURITYパラメータを目的のセキュリティ・レベルに設定します。Securityサンプル・アプリケーションの場合、
SECURITYパラメータをアプリケーション・レベルのセキュリティの
APP_PWに設定します。Oracle Tuxedoドメインへのセキュリティの追加については、
『Oracle Tuxedoアプリケーションの設定』および
『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
Securityサンプル・アプリケーションのビルド
Securityサンプル・アプリケーションをビルドするには、次の手順に従います。
1.
|
Securityサンプル・アプリケーションのファイルをコピーします。
|
2.
|
Securityサンプル・アプリケーションのファイル保護の属性を変更します。
|
6.
|
クライアントおよびサーバー・サンプル・アプリケーションをビルドします。
|
注意:
|
Securityサンプル・アプリケーションをビルドまたは実行する前に、 第2章「環境設定」の手順を実行しておく必要があります。
|
Securityサンプル・アプリケーションのファイルを作業ディレクトリにコピーする
Securityサンプル・アプリケーションの各ファイルは、次のディレクトリにあります。
drive:\TUXDIR\samples\corba\university\
security
/usr/TUXDIR/samples/corba/university/
security
また、
utilsディレクトリを作業ディレクトリにコピーする必要があります。
utilsディレクトリには、Universityデータベースのログ、トレースおよびアクセスを設定するファイルが格納されています。
Securityサンプル・アプリケーションを作成するには、
表4-1に示すファイルを使用します。
表4-1
Securityサンプル・アプリケーションに含まれるファイル
|
|
|
CourseSynopsisEnumerator、 Registrar、および RegistrarFactoryインタフェースを宣言するOMG IDL。
|
|
Securityサンプル・アプリケーションのUniversityサーバー・アプリケーション用C++ソース・コード。
|
|
CourseSynopsisEnumerator、 Registrar、および RegistrarFactoryインタフェースのメソッド実装用C++ソース・コード。
|
|
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーション用C++ソース・コード。
|
univs_utils.h univs_utils.cpp
|
CORBA C++クライアント・アプリケーションのデータベース・アクセス関数を定義するファイル。
|
|
Securityサンプル・アプリケーションの実装構成ファイル(ICF)。
|
|
Securityサンプル・アプリケーションのビルドおよび実行に必要な環境変数を設定するUNIXスクリプト。
|
|
Securityサンプル・アプリケーションのビルドおよび実行に必要な環境変数を設定するMS-DOSコマンド。
|
|
UNIXオペレーティング・システム用の UBBCONFIGファイル。
|
|
Windowsオペレーティング・システム用の UBBCONFIGファイル。
|
|
UNIXオペレーティング・システムでのSecurityサンプル・アプリケーション用の makefile。
|
|
Windowsオペレーティング・システムでのSecurityサンプル・アプリケーション用の makefile。
|
log.cpp、 log.h、 log_client.cpp、 log_server.cpp
|
サンプル・アプリケーションにログ機能とトレース機能を提供するクライアント・アプリケーションとサーバー・アプリケーション。これらのファイルは、 \utilsディレクトリにあります。
|
oradbconn.cppおよび oranoconn.cpp
|
Oracle SQLデータベース・インスタンスへのアクセスを提供するファイル。これらのファイルは、 \utilsディレクトリにあります。
|
samplesdb.cppおよび samplesdb.h
|
サンプル・アプリケーションでのデータベース例外に出力関数を提供するファイル。これらのファイルは、 \utilsディレクトリにあります。
|
unique_id.cpp、 unique_id.h
|
サンプル・アプリケーションのC++ Unique IDクラスのルーチン。これらのファイルは、 \utilsディレクトリにあります。
|
samplesdbsql.hおよび samplesdbsql.pc
|
SQLデータベースへのアクセスを実装するC++クラスのメソッド。これらのファイルは、 \utilsディレクトリにあります。
|
|
Universityデータベース用のSQL。このファイルは、 \utilsディレクトリにあります。
|
Securityサンプル・アプリケーションのファイル保護の属性を変更する
Oracle Tuxedoソフトウェアのインストール時には、サンプル・アプリケーションは読取り専用に設定されています。Securityサンプル・アプリケーションのファイルを編集またはビルドするには、次のように作業ディレクトリにコピーしたファイル保護の属性を変更する必要があります。
prompt>attrib -r drive:\workdirectory\*.*
prompt>chmod u+rw /workdirectory/*.*
次のコマンドを使用して、Securityサンプル・アプリケーションのクライアント・アプリケーションとサーバー・アプリケーションのビルドに使用する環境変数を設定します。
次のコマンドを使用して、Securityサンプル・アプリケーションで使用するUniversityデータベースを初期化します。
prompt>nmake -f makefiles.nt initdb
prompt>make -f makefiles.mk initdb
次のコマンドを使用して、
UBBCONFIGファイルをロードします。
prompt>tmloadcf -y ubb_s.nt
prompt>tmloadcf -y ubb_s.mk
UBBCONFIGファイルの作成プロセスでは、アプリケーション・パスワードの入力が求められます。このパスワードは、クライアント・アプリケーションへのログオンに使用されます。パスワードを入力してEnterキーを押します。その際、パスワードを再入力してパスワードの確認を求めるメッセージが表示されます。
Securityサンプル・アプリケーションのコンパイル
開発プロセスでは、
buildobjclientおよび
buildobjserverコマンドを使用して、クライアント・アプリケーションとサーバー・アプリケーションをビルドします。ただし、Securityサンプル・アプリケーションの場合は、この手順は不要です。
Securityサンプル・アプリケーションのディレクトリには、
makefileが格納されています。このmakefileにより、クライアントとサーバー・サンプル・アプリケーションがビルドされます。
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションとサーバー・アプリケーションをビルドするには、次のコマンドを使用します。
prompt>nmake -f makefiles.nt
prompt>make -f makefiles.mk
Securityサンプル・アプリケーションを実行するには、次の手順に従います。
1.
|
Universityサーバー・アプリケーションを起動します。
|
2.
|
1つまたは複数のクライアント・アプリケーションを起動します。
|
Universityサーバー・アプリケーションの起動
Securityサンプル・アプリケーションでシステムおよびサンプル・アプリケーションのサーバー・アプリケーションを起動するには、次のコマンドを入力します。
このコマンドを入力すると、次のサーバー・プロセスが開始されます。
Oracle TuxedoシステムのEventBroker。
NameManagerサービスやFactoryFinderサービスなどのトランザクション管理サービス。
ほかのサンプル・アプリケーションを使用するには、次のコマンドを入力して、システムおよびサンプル・アプリケーションのサーバー・プロセスを停止します。
CORBA C++クライアント・アプリケーションの起動
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションを起動するには、次の手順に従います。
1.
|
MS-DOSプロンプトで次のコマンドを入力します。
|
2.
|
画面に 「Enter student id:」と表示されたら、100001 - 100010の任意の数値を入力します。
|
4.
|
画面に 「Enter domain password:」と表示されたら、 UBBCONFIGファイルをロードしたときに定義したパスワードを入力します。
|
Securityサンプル・アプリケーションのクライアント・アプリケーションの使用方法
以降の項では、Securityサンプル・アプリケーションのクライアント・アプリケーションの使用方法について簡単に説明します。
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションには、次の追加オプションがあります。
<L> List your registered courses
このオプションを使用すると、CORBA C++クライアント・アプリケーションへのログオン用の学生IDで登録したコースが一覧表示されます。