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

Tuxedo CORBA 要求レベルのインターセプタ

 Previous Next Contents Index View as PDF  

InterceptorData サンプル・インターセプタ

この章では、PersonQuery サンプル・アプリケーションで使用するために設計されている、次の 2 つのサンプル・インターセプタについて説明します。

ここでは、各インターセプタのしくみについて説明し、次にそれらを PersonQuery サンプル・アプリケーションでビルドして実行する方法を示します。

 


InterceptorDataClient インターセプタ

InterceptorDataClient インターセプタは、各クライアント・アプリケーションの要求パラメータと応答パラメータをインターセプトしてログに記録します。このインターセプタはまた、PersonQuery サーバ・アプリケーションに対するある特定のオペレーションを、クライアント・アプリケーションの特定の基準に一致するユーザが呼び出せるようにします。InterceptorDataClient インターセプタは、ClientRequestInterceptorクラスから継承される InterceptorDataClient インターフェイスをインプリメントします。

InterceptorDataClient クラスは、次のメソッドをインプリメントします。

さらに、データ・インターセプタが InterceptorDataClientInit メソッドを提供して、クライアント・インターセプタ・クラスを初期化します。

 


InterceptorDataTarget インターセプタ

InterceptorDataTarget インターセプタは要求および応答データのパラメータをインターセプトしてログに記録します。このインターセプタはまた、x の文字でデータをマスキングして特定の応答パラメータから、機密データを削除します。InterceptorDataTarget インターセプタは、InterceptorDataTarget クラスから継承される InterceptorDataTarget インターフェイスをインプリメントします。

InterceptorDataTarget クラスは、次のメソッドをインプリメントします。

さらに、データ・インターセプタが InterceptorDataTargetInit メソッドを提供して、ターゲット・インターセプタ・クラスを初期化します。

 


InterceptorData インターセプタのインプリメント

InterceptorData インターセプタをインプリメントするために使用されるコードについては、CORBA 要求レベルのインターセプタの開発で示しています。次の操作を行う方法については、そちらを参照してください。

  1. 第 2 章の 3 ページ「インプリメンテーション・ファイルの起動」

  2. 第 2 章の 4 ページ「実行時のインターセプタの初期化」

  3. 第 2 章の 5 ページ「要求からのインターセプタ名の取得」

  4. 第 2 章の 6 ページ「要求内のオペレーションの識別」

  5. 第 2 章の 7 ページ「インターセプタの応答オペレーションのインプリメント」

  6. 第 2 章の 8 ページ「データ入力ストリームからのパラメータの読み出し」

 


InterceptorData インターセプタの登録および実行

PersonQuery サンプル・アプリケーションで説明した PersonQuery サンプル・アプリケーションをビルドする makefile を実行すると、InterceptorData インターセプタを含むサンプル・インターセプタ一式全部が、同様にビルドされます。この節では、実行時に PersonQuery アプリケーションと共に機能するように InterceptorData インターセプタを登録する方法を説明します。

InterceptorData クライアント・インターセプタおよびサーバ・インターセプタを登録して実行するには、次の手順に従います。

  1. InterceptorData サンプルのディレクトリに移動します。ここで workdirectory は、「第 4章 PersonQuery サンプル・アプリケーション」に示す手順でインターセプタのサンプル・アプリケーションをコピーしたディレクトリの名前を表します。

    Windows 2000

> cd <workdirectory>\cxx\data_cxx

UNIX

$ cd <workdirectory>/cxx/data_cxx

  1. インターセプタを登録します。

    Windows 2000

> nmake -f makefile.nt config

UNIX

$ make -f makefile.mk config

  1. CORBA サーバをブートして CORBA クライアントを実行します。

    Windows 200

> cd <workdirectory>\cxx\app_cxx
> tmboot -y
> PersonQueryClient

UNIX

> cd <workdirectory>/cxx/app_cxx
> tmboot -y
> PersonQueryClient

  1. PersonQuery サンプル・アプリケーションで説明したコマンド構文を使用して、PersonQuery クライアント・アプリケーションで呼び出しを任意の回数行います。

  2. PersonQuery アプリケーションを停止します。
> tmshutdown -y

 


インターセプタ出力の検証

InterceptorData クライアント・インターセプタおよびターゲット・インターセプタは、各呼び出しをログに記録します。PersonQuery アプリケーションの各セッションについて、クライアント・インターセプタは InterceptorDataClientxxx.out という名前のファイルを作成し、ターゲット・インターセプタは InterceptorDataTargetxxx.out という名前のファイルを作成します。ここでは、各インターセプタのログ・ファイルのサンプルを示します。

クライアント・インターセプタのログ出力例

InterceptorDataClientInit called
ClientInterceptorData::id called

ClientInterceptorData::client_invoke called
ClientInterceptorData::client_response called
Request Id: 1
unable to find request for this reply (must not be one we care about)

ClientInterceptorData::client_invoke called
Request Id: 2
Interface: IDL:beasys.com/PersonQuery:1.0
Operation: findPerson
Parameters:
name: ALISTER LANCASHIRE
address: 3 PENNY LANE
LONDON GB UK
ss: 999-99-9999
sex: can't tell
age(yrs.): 85
marital status: single
hobby: stamp collecting
date-of-birth: 11/25/1913
height(in.): 32
weight(lbs.): 57
hair color: unknown
eye color: blue
skin color: white
other markings: missing limb

ターゲット・インターセプタのログ出力例

InterceptorDataTargetInit called
TargetInterceptorData::id called

TargetInterceptorData::target_response called
Request Id: 2
ReplyStatus: GIOP::NO_EXCEPTION
Interface: IDL:beasys.com/PersonQuery:1.0
Operation: findPerson
Method Result: TRUE
Parameters:
Maximum: 8
Length: 8

Item 0
name: ALISTER LANCASHIRE
address: 3 PENNY LANE
LONDON GB UK
ss: NO PRIVILEDGE
sex: NO PRIVILEDGE
age (years): NO PRIVILEDGE
marital status: NO PRIVILEDGE
hobby: stamp collecting
date-of-birth: NO PRIVILEDGE
height (in.): 32
weight (lbs.): 57
hair color: unknown
eye color: blue
                            skin color:     NO PRIVILEDGE
other markings: missing limb

 


インターセプタの登録解除

InterceptorData サンプル・インターセプタで PersonQuery サンプル・アプリケーションを実行後に、次の手順でこれらのインターセプタの登録を解除できます。

  1. 次のコマンドを入力して、実行中の CORBA アプリケーションをすべてシャットダウンします。
    > tmshutdown -y

  2. InterceptorData サンプルのディレクトリに移動します。ここで workdirectory は、「第 4章 PersonQuery サンプル・アプリケーション」に示す手順でインターセプタのサンプル・アプリケーションをコピーしたディレクトリの名前を表します。

    Windows 2000

    > cd <workdirectory>¥cxx¥data_cxx

    UNIX

    $ cd <workdirectory>/cxx/data_cxx

  3. インターセプタの登録を解除します。

    Windows 2000

    > nmake -f makefile.nt unconfig

    UNIX

    $ make -f makefile.mk unconfig

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy