目次 前 次 PDF


Securityサンプル・アプリケーション

Securityサンプル・アプリケーション
このトピックには次の項が含まれます:
注意:
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サンプル・アプリケーションのしくみを示します。
図4-1 Securityサンプル・アプリケーション
 
 
 
Securityサンプル・アプリケーションの開発プロセス
ここでは、CORBAクライアント・アプリケーションとサーバー・アプリケーションにセキュリティを追加する際に必要な開発プロセスについて説明します。次の手順は、第3章「Basicサンプル・アプリケーション」で概説した開発手順の追加手順です。
注意:
この項に記載されている手順はすでに完了しており、Securityサンプル・アプリケーションに組み込まれています。
OMG IDL
開発プロセスでは、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サーバー・アプリケーションの作成』を参照してください。
UBBCONFIGファイル
Oracle Tuxedoソフトウェアでは、システム管理者が構成のセキュリティ・レベルを定義します。システム管理者がOracle Tuxedoドメインのセキュリティを定義する際は、UBBCONFIGファイルのRESOURSESセクションのSECURITYパラメータを目的のセキュリティ・レベルに設定します。Securityサンプル・アプリケーションの場合、SECURITYパラメータをアプリケーション・レベルのセキュリティのAPP_PWに設定します。Oracle Tuxedoドメインへのセキュリティの追加については、『Oracle Tuxedoアプリケーションの設定』および『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
ICFファイル
実装構成ファイル(ICF)は変更不要です。
Securityサンプル・アプリケーションのビルド
Securityサンプル・アプリケーションをビルドするには、次の手順に従います。
1.
Securityサンプル・アプリケーションのファイルをコピーします。
2.
Securityサンプル・アプリケーションのファイル保護の属性を変更します。
3.
環境変数を設定します。
4.
Universityデータベースを初期化します。
5.
UBBCONFIGファイルをロードします。
6.
クライアントおよびサーバー・サンプル・アプリケーションをビルドします。
次の項では、前述の各手順について説明します。
注意:
Securityサンプル・アプリケーションをビルドまたは実行する前に、第2章「環境設定」の手順を実行しておく必要があります。
Securityサンプル・アプリケーションのファイルを作業ディレクトリにコピーする
Securityサンプル・アプリケーションの各ファイルは、次のディレクトリにあります。
Windows
drive:\TUXDIR\samples\corba\university\security
UNIX
/usr/TUXDIR/samples/corba/university/security
また、utilsディレクトリを作業ディレクトリにコピーする必要があります。utilsディレクトリには、Universityデータベースのログ、トレースおよびアクセスを設定するファイルが格納されています。
Securityサンプル・アプリケーションを作成するには、表4-1に示すファイルを使用します。
 
表4-1 Securityサンプル・アプリケーションに含まれるファイル
ファイル
説明
univs.idl
CourseSynopsisEnumeratorRegistrar、およびRegistrarFactoryインタフェースを宣言するOMG IDL。
univss.cpp
Securityサンプル・アプリケーションのUniversityサーバー・アプリケーション用C++ソース・コード。
univs_i.h
univs_i.cpp
CourseSynopsisEnumeratorRegistrar、およびRegistrarFactoryインタフェースのメソッド実装用C++ソース・コード。
univsc.cpp
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーション用C++ソース・コード。
univs_utils.h
univs_utils.cpp
CORBA C++クライアント・アプリケーションのデータベース・アクセス関数を定義するファイル。
univs.icf
Securityサンプル・アプリケーションの実装構成ファイル(ICF)。
setenvs.sh
Securityサンプル・アプリケーションのビルドおよび実行に必要な環境変数を設定するUNIXスクリプト。
setenvs.cmd
Securityサンプル・アプリケーションのビルドおよび実行に必要な環境変数を設定するMS-DOSコマンド。
ubb_s.mk
UNIXオペレーティング・システム用のUBBCONFIGファイル。
ubb_s.nt
Windowsオペレーティング・システム用のUBBCONFIGファイル。
makefiles.mk
UNIXオペレーティング・システムでのSecurityサンプル・アプリケーション用のmakefile
makefiles.nt
Windowsオペレーティング・システムでのSecurityサンプル・アプリケーション用のmakefile
log.cpplog.hlog_client.cpplog_server.cpp
サンプル・アプリケーションにログ機能とトレース機能を提供するクライアント・アプリケーションとサーバー・アプリケーション。これらのファイルは、\utilsディレクトリにあります。
oradbconn.cppおよびoranoconn.cpp
Oracle SQLデータベース・インスタンスへのアクセスを提供するファイル。これらのファイルは、\utilsディレクトリにあります。
samplesdb.cppおよびsamplesdb.h
サンプル・アプリケーションでのデータベース例外に出力関数を提供するファイル。これらのファイルは、\utilsディレクトリにあります。
unique_id.cppunique_id.h
サンプル・アプリケーションのC++ Unique IDクラスのルーチン。これらのファイルは、\utilsディレクトリにあります。
samplesdbsql.hおよびsamplesdbsql.pc
SQLデータベースへのアクセスを実装するC++クラスのメソッド。これらのファイルは、\utilsディレクトリにあります。
university.sql
Universityデータベース用のSQL。このファイルは、\utilsディレクトリにあります。
Securityサンプル・アプリケーションのファイル保護の属性を変更する
Oracle Tuxedoソフトウェアのインストール時には、サンプル・アプリケーションは読取り専用に設定されています。Securityサンプル・アプリケーションのファイルを編集またはビルドするには、次のように作業ディレクトリにコピーしたファイル保護の属性を変更する必要があります。
Windows
prompt>attrib -r drive:\workdirectory\*.*
UNIX
prompt>chmod u+rw /workdirectory/*.*
環境変数を設定する
次のコマンドを使用して、Securityサンプル・アプリケーションのクライアント・アプリケーションとサーバー・アプリケーションのビルドに使用する環境変数を設定します。
Windows
prompt>setenvs
UNIX
prompt>/bin/ksh
prompt>. ./setenvs.sh
Universityデータベースを初期化する
次のコマンドを使用して、Securityサンプル・アプリケーションで使用するUniversityデータベースを初期化します。
Windows
prompt>nmake -f makefiles.nt initdb
UNIX
prompt>make -f makefiles.mk initdb
UBBCONFIGファイルをロードする
次のコマンドを使用して、UBBCONFIGファイルをロードします。
Windows
prompt>tmloadcf -y ubb_s.nt
UNIX
prompt>tmloadcf -y ubb_s.mk
UBBCONFIGファイルの作成プロセスでは、アプリケーション・パスワードの入力が求められます。このパスワードは、クライアント・アプリケーションへのログオンに使用されます。パスワードを入力してEnterキーを押します。その際、パスワードを再入力してパスワードの確認を求めるメッセージが表示されます。
Securityサンプル・アプリケーションのコンパイル
開発プロセスでは、buildobjclientおよびbuildobjserverコマンドを使用して、クライアント・アプリケーションとサーバー・アプリケーションをビルドします。ただし、Securityサンプル・アプリケーションの場合は、この手順は不要です。
Securityサンプル・アプリケーションのディレクトリには、makefileが格納されています。このmakefileにより、クライアントとサーバー・サンプル・アプリケーションがビルドされます。
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションとサーバー・アプリケーションをビルドするには、次のコマンドを使用します。
Windows
prompt>nmake -f makefiles.nt
UNIX
prompt>make -f makefiles.mk
Securityサンプル・アプリケーションの実行
Securityサンプル・アプリケーションを実行するには、次の手順に従います。
1.
Universityサーバー・アプリケーションを起動します。
2.
1つまたは複数のクライアント・アプリケーションを起動します。
前述の手順については、次の項を参照してください。
Universityサーバー・アプリケーションの起動
Securityサンプル・アプリケーションでシステムおよびサンプル・アプリケーションのサーバー・アプリケーションを起動するには、次のコマンドを入力します。
prompt>tmboot -y
このコマンドを入力すると、次のサーバー・プロセスが開始されます。
TMSYSEVT
Oracle TuxedoシステムのEventBroker。
TMFFNAME
NameManagerサービスやFactoryFinderサービスなどのトランザクション管理サービス。
TMIFSRVR
インタフェース・リポジトリ・サーバー・プロセス。
univs_server
Universityサーバー・プロセス。
ISL
IIOPリスナー/ハンドラ・プロセス。
ほかのサンプル・アプリケーションを使用するには、次のコマンドを入力して、システムおよびサンプル・アプリケーションのサーバー・プロセスを停止します。
prompt>tmshutdown
CORBA C++クライアント・アプリケーションの起動
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションを起動するには、次の手順に従います。
1.
MS-DOSプロンプトで次のコマンドを入力します。
prompt>univs_client
2.
画面に「Enter student id:」と表示されたら、100001 - 100010の任意の数値を入力します。
3.
[Enter]を押します。
4.
画面に「Enter domain password:」と表示されたら、UBBCONFIGファイルをロードしたときに定義したパスワードを入力します。
5.
[Enter]を押します。
Securityサンプル・アプリケーションのクライアント・アプリケーションの使用方法
以降の項では、Securityサンプル・アプリケーションのクライアント・アプリケーションの使用方法について簡単に説明します。
CORBA C++クライアント・アプリケーション
Securityサンプル・アプリケーションのCORBA C++クライアント・アプリケーションには、次の追加オプションがあります。
<L> List your registered courses
このオプションを使用すると、CORBA C++クライアント・アプリケーションへのログオン用の学生IDで登録したコースが一覧表示されます。

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved