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

Tuxedo CORBA クライアント・アプリケーションの開発方法

 Previous Next Contents Index View as PDF  

ActiveX クライアント・アプリケーションの作成

ここでは、以下の内容について説明します。

ActiveX クライアント・アプリケーションを開発する前に理解しておく必要がある概念については、「ActiveX クライアント・アプリケーションの概念」を参照してください。

 


ActiveX クライアント・アプリケーションの開発プロセスの概要

ActiveX クライアント・アプリケーションの作成手順は次のとおりです。

手順

説明

1

オートメーション環境オブジェクトをインターフェイス・リポジトリにロードします。

2

ActiveX クライアント・アプリケーションからアクセスする CORBA インターフェイスがインターフェイス・リポジトリにロードされていることを確認します。必要に応じて、CORBA インターフェイス用の Object Management Group (OMG) インターフェイス定義言語 (IDL) をインターフェイス・リポジトリにロードします。

3

インターフェイス・リポジトリのサーバ・プロセスを起動します。

4

BEA Application Builder を使用して、CORBA オブジェクトのインターフェイス用の ActiveX バインディングを作成します。

5

ActiveX バインディング用のタイプ・ライブラリを開発ツールにロードします。

6

ActiveX クライアント・アプリケーションを記述します。このトピックでは、基本的なクライアント・アプリケーションの作成方法について説明します。

7

ActiveX クライアント・アプリケーションのデプロイメント・パッケージを作成します。


 

このプロセスの各手順については、以降の節で詳しく説明します。

ActiveX クライアント・アプリケーションの BEA Tuxedo 開発環境には、以下のものが含まれます。

 


BEA Application Builder

BEA Application Builder は、CORBA オブジェクトの ActiveX ビューを作成する開発ツールです。BEA Application Builder は、BEA ActiveX Client への主要なユーザ・インターフェイスです。Application Builder を使用すると、デスクトップ・アプリケーションで使用可能な CORBA オブジェクトを選択し、その CORBA オブジェクトの ActiveX ビューと、その ActiveX ビューをクライアント・マシンに導入するためのパッケージを作成できます。

ActiveX ビューを使用するには、CORBA オブジェクトのインターフェイスをインターフェイス・リポジトリにロードします。次に、CORBA インターフェイスの ActiveX バインディングを作成します。バインディングは、CORBA オブジェクトと ActiveX のインターフェイスを定義します。ActiveX クライアント・アプリケーションと生成されたバインディングの組み合わせにより、オブジェクトの ActiveX ビューが作成されます。

BEA Application Builder とその機能については、Application Builder のグラフィカル・ユーザ・インターフェイス (GUI) に統合されているオンライン・ヘルプを参照してください。

 


ステップ 1: オートメーション環境オブジェクトのインターフェイス・リポジトリへのロード

オートメーション環境オブジェクトをインターフェイス・リポジトリにロードして、ActiveX クライアント・アプリケーションがそれらのオブジェクトのインターフェイス定義を使用できるようにします。MS-DOS プロンプトで、次のコマンドを入力して OMG IDL ファイル (TOBJIN.idl) をインターフェイス・リポジトリにロードします。

prompt> idl2ir -D _TOBJ -I drive:¥tuxdir¥include drive:¥tuxdir¥include¥tobjin.idl

 


ステップ 2: CORBA インターフェイスのインターフェイス・リポジトリへのロード

CORBA オブジェクトの ActiveX ビューを作成する前に、CORBA オブジェクトのインターフェイスをインターフェイス・リポジトリにロードしておく必要があります。CORBA オブジェクトのインターフェイスがインターフェイス・リポジトリにロードされていない場合、BEA Application Builder の [Services] ウィンドウにそれらが表示されません。目的の CORBA インターフェイスが [Services] ウィンドウに表示されない場合は、 idl2ir コマンドを使用して、CORBA を定義する OMG IDL をインターフェイス・リポジトリにロードします。idl2ir コマンドの構文は次のとおりです。

idl2ir [repositoryfile.idl] file.idl

オプション

説明

repositoryfile

CORBA インターフェイスの OMG IDL ファイルを指定されたインターフェイス・リポジトリにロードします。ActiveX クライアント・アプリケーションがアクセスする BEA Tuxedo ドメインのインターフェイス・リポジトリの名前を指定します。

file.idl

CORBA インターフェイスの定義が記述されている OMG IDL ファイルを指定します。


 

idl2ir コマンドの詳細については、『BEA Tuxedo コマンド・リファレンス』を参照してください。

CORBA クライアント・アプリケーションの作成」には、すべての CORBA University サンプル・アプリケーションの開始点となるサンプル OMG IDL ファイルが示されています。この OMG IDL ファイルに基づいて、次の CORBA インターフェイスが BEA Application Builder ウィンドウに表示されます。

University サンプル・アプリケーションの詳細については、 『BEA Tuxedo CORBA University サンプル・アプリケーション』を参照してください。

 


ステップ 3: インターフェイス・リポジトリ・サーバ・アプリケーションの起動

ActiveX クライアント・アプリケーションは、実行時にインターフェイス・リポジトリから CORBA オブジェクトのインターフェイス定義を読み取り、それらをオートメーション・オブジェクトに変換します。このため、インターフェイス・リポジトリのサーバ・プロセスを起動して、インターフェイス定義を使用可能にする必要があります。インターフェイス・リポジトリのサーバ・プロセスを起動するには、UBBCONFIG ファイルを使用します。

注記 システム管理者が既にこのステップを実行している場合もあります。

BEA Tuxedo ドメインの UBBCONFIG ファイルで、インターフェイス・リポジトリのサーバ・アプリケーション、TMIFRSVR が起動しているかどうかをチェックします。UBBCONFIG ファイルには、以下のエントリが存在します。

TMIFRSVR
SRVGRP = SYS_GRP
SRVID = 6
RESTART = Y
MAXGEN = 5
GRACE = 3600

また、IIOP リスナ/ハンドラを起動する ISL パラメータが指定されていることを確認します。UBBCONFIG ファイルには、以下のエントリが存在します。

ISL
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = "-A -- -n //TRIXIE:2500"

ここで、TRIXIE はホスト (サーバ) システムの名前で、2500 はポート番号です。

サーバ・アプリケーションの起動と ISL パラメータの指定については、 『BEA Tuxedo アプリケーションの設定』を参照してください。

 


ステップ 4: CORBA インターフェイスの ActiveX バインディングの作成

ActiveX クライアント・アプリケーションが CORBA オブジェクトにアクセスするには、CORBA オブジェクトのインターフェイスの ActiveX バインディングを生成する必要があります。CORBA インターフェイス用の ActiveX バインディングを作成するには、BEA Application Builder を使用します。

CORBA インターフェイス用の ActiveX バインディングを作成するには、次の手順に従います。

  1. [BEA Tuxedo] プログラム・グループの [BEA Application Builder] オプションをクリックします。

    [Domain] ログオン・ウィンドウが表示されます。

  2. ログオン・ウィンドウで、UBBCONFIG ファイルの ISL パラメータで指定したホスト名とポート番号を入力します。ホスト名とポート番号は、UBBCONFIG ファイルで大文字で指定した内容と正確に一致するように入力します。

    BEA Application Builder の [logon] ウィンドウが表示されます。

  3. 対象の CORBA インターフェイスを [Services] ウィンドウで選択して [Workstation Views] ウィンドウにドラッグするか、またはその CORBA インターフェイスを [Services] ウィンドウから切り取って [Workstation Views] ウィンドウに貼り付けます。

    BEA Application Builder は、以下の処理を行います。

これで、ActiveX クライアント・アプリケーションから ActiveX ビューを使用できます。

Application Builder の機能の詳細については、BEA Application Builder のグラフィカル・ユーザ・インターフェイス (GUI) に統合されているオンライン・ヘルプを参照してください。

 


ステップ 5: ActiveX バインディングのタイプ・ライブラリのロード

ActiveX クライアント・アプリケーションを記述する前に、CORBA インターフェイスの ActiveX バインディングが定義されているタイプ・ライブラリを開発ツールにロードしておく必要があります。タイプ・ライブラリをロードするには、使用する開発ツールの説明に従います。

たとえば Visual Basic の場合、使用可能なタイプ・ライブラリのリストを取得するには、[プロジェクト] メニューの [参照設定] オプションを選択します。次に、そのリストから目的のタイプ・ライブラリを選択します。

デフォルトでは、Application Builder は生成されたすべてのタイプ・ライブラリを ¥tuxdir¥TypeLibraries に格納します。CORBA インターフェイスの ActiveX バインディング用のタイプ・ライブラリは、次の形式を取ります。

DImodulename_interfacename.tlb

 


ステップ 6: ActiveX クライアント・アプリケーションの記述

ActiveX クライアント・アプリケーションは、以下の処理を行う必要があります。

  1. オートメーション環境オブジェクト、ActiveX ビューのファクトリ、および ActiveX ビューの宣言のインクルード

  2. BEA Tuxedo ドメインとの通信の確立

  3. Bootstrap オブジェクトの使用による FactoryFinder オブジェクトへのリファレンスの取得

  4. ファクトリの使用による ActiveX ビューへのオブジェクト・リファレンスの取得

  5. ActiveX ビューのオペレーションの呼び出し

  6. ActiveX クライアント・アプリケーションのデプロイ

以下の節では、Basic サンプル・アプリケーションの ActiveX クライアント・アプリケーションの一部を使用して、これらのステップについて説明します。Basic サンプル・アプリケーションについては、『BEA Tuxedo CORBA University サンプル・アプリケーション』を参照してください。Basic サンプル・アプリケーションは、BEA Tuxedo ソフトウェア・キットの次のディレクトリに格納されています。

drive:¥tuxdir¥samples¥corba¥university¥basic

オートメーション環境オブジェクト、ファクトリ、および CORBA オブジェクトの ActiveX ビューの宣言のインクルード

実行時のエラーを防ぐため、以下のオブジェクト型を宣言する必要があります。

次の例は、Bootstrap オブジェクトと FactoryFinder オブジェクト、Registrar オブジェクトの ActiveX ビュー用のファクトリ、および Registrar オブジェクトの ActiveX ビューを宣言する Visual Basic コードです。

¥¥Bootstrap オブジェクトの宣言¥¥
Public objBootstrap As DITobj_Bootstrap
¥¥FactoryFinder オブジェクトの宣言¥¥
Public objFactoryFinder As DITobj_FactoryFinder
¥¥Registrar オブジェクトのファクトリ・オブジェクトの宣言¥¥
Public objRegistrarFactory As DIUniversityB_RegistrarFactory
¥¥Registrar オブジェクトの ActiveX ビューの宣言¥¥
Public objRegistrar As DIUniversityB_Registrar

BEA Tuxedo ドメインとの通信の確立

ActiveX クライアント・アプリケーションを記述する場合、以下の 2 つのステップで BEA Tuxedo ドメインとの通信を確立します。

  1. Bootstrap オブジェクトを作成します。

  2. Bootstrap オブジェクトを初期化します。

次の Visual Basic サンプルは、CreateObject オペレーションを使用して Bootstrap オブジェクトを作成する方法を示したものです。

Set objBootstrap = CreateObject(“Tobj.Bootstrap”)

次に、Bootstrap オブジェクトを初期化します。Bootstrap オブジェクトを初期化する場合、次のように、対象の BEA Tuxedo ドメインの IIOP リスナ/ハンドラのホストとポートを指定します。

objBootstrap.Initialize “//host:port

IIOP リスナ/ハンドラのホストとポートの組み合わせは、UBBCONFIG ファイルの ISL パラメータで定義されます。Bootstrap オブジェクトに対して指定するホストとポートの組み合わせは、この ISL パラメータと完全に一致する必要があります。ホストとポートの組み合わせの形式のほかに、大文字、小文字も一致する必要があります。アドレスが一致しない場合、Bootstrap オブジェクトの呼び出しは失敗し、次のメッセージがログ・ファイルに記録されます。

Error: Unofficial connection from client at <tcp/ip address/<portnumber>

たとえば、UBBCONFIG ファイルの ISL パラメータでネットワーク・アドレスが //TRIXIE::3500 として指定されている場合、Bootstrap オブジェクトで //192.12.4.6.:3500 または //trixie:3500 と指定すると接続が失敗します。

BEA Tuxedo ドメインには、複数の IIOP リスナ/ハンドラが存在できます。複数の IIOP リスナ/ハンドラを使用して BEA Tuxedo ドメインにアクセスする場合、host:port の組み合わせのリストを Bootstrap オブジェクトに提供します。Bootstrap オブジェクトは、BEA Tuxedo ドメインに接続するまでこのリストを参照します。また、IIOP リスナ/ヘッダのリストは、TOBJADDR 環境変数に指定することもできます。

複数の BEA Tuxedo ドメインにアクセスする場合、アクセスする BEA Tuxedo ドメインごとに Bootstrap オブジェクトを作成する必要があります。

FactoryFinder オブジェクトへの初期リファレンスの取得

ActiveX クライアント・アプリケーションは、自身にサービスを提供するオブジェクトへの初期リファレンスを取得する必要があります。Bootstrap オブジェクトを使用すると、FactoryFinder オブジェクト、SecurityCurrent オブジェクト、TransactionCurrent オブジェクト、NotificationService オブジェクト、Tobj_SimpleEventsService オブジェクト、および NameService オブジェクトへのリファレンスを取得できます。このオペレーションに受け渡す引数は、目的のオブジェクトの progid を含む文字列です。ActiveX クライアント・アプリケーションで使用するオブジェクトの初期リファレンスだけを取得する必要があります。

次の Visual Basic サンプルは、Bootstrap オブジェクトを使用して FactoryFinder オブジェクトへのリファレンスを取得する方法を示したものです。

Set objFactoryFinder = objBootstrap.CreateObject(“Tobj.FactoryFinder”)

ファクトリを使用した ActiveX ビューの取得

ActiveX クライアント・アプリケーションは、CORBA オブジェクトの ActiveX ビューへのインターフェイス・ポインタをファクトリから取得します。ファクトリは、別の CORBA オブジェクトへのオブジェクト・リファレンスを返す任意の CORBA オブジェクトです。ActiveX クライアント・アプリケーションは、ファクトリのオペレーションを呼び出して特定のタイプの CORBA オブジェクトへのオブジェクト・リファレンスを取得します。ファクトリを使用するには、ActiveX クライアント・アプリケーションは必要なファクトリを検索できなければなりません。FactoryFinder オブジェクトは、そのために役立ちます。FactoryFinder オブジェクトの機能の登録については、「ファクトリと FactoryFinder オブジェクト」を参照してください。

CreateObject 関数を使用して FactoryFinder オブジェクトを作成し、次に FactoryFinder オブジェクトのメソッドの 1 つを使用してファクトリを検索します。FactoryFinder オブジェクトには以下のメソッドがあります。

次の Visual Basic のサンプルでは、FactoryFinder find_one_factory_by_id() メソッドを使用して、Basic サンプル・アプリケーションのクライアント・アプリケーションで使用される Registrar オブジェクトのファクトリを取得する方法を示します。

Set objRegistrarFactory = objBsFactoryFinder.find_one_factory_by_id 
(“RegistrarFactory”)
Set objRegistrar = RegistrarFactory.find_registrar

ActiveX ビューのオペレーションの呼び出し

ActiveX ビューのオペレーションを呼び出すには、ファクトリへのポインタとオペレーションで必要な引数を受け渡します。

次の Visual Basic のサンプルは、ActiveX ビューのオペレーションを呼び出す方法を示したものです。

‘Get course details from the Registrar object’
aryCourseDetails = objRegistrar.get_course_details(aryCourseNumbers)

 


ステップ 7: ActiveX クライアント・アプリケーションのデプロイ

ActiveX クライアント・アプリケーションをほかのクライアント・マシンに配布するには、デプロイメント・パッケージを作成する必要があります。デプロイメント・パッケージには、クライアント・アプリケーションが CORBA オブジェクトの ActiveX ビューを使用するために必要なすべてのデータ (バインディング、タイプ・ライブラリ、登録情報など) が含まれています。デプロイメント・パッケージは自動登録を行う ActiveX コントロールで、ファイル拡張子は.ocx です。

ActiveX ビューのデプロイメント・パッケージを作成するには、次の手順に従います。

  1. [Workstation Views] ウィンドウから、ActiveX ビューを選択します。

  2. [Tools] の [Deploy Modules] をクリックするか、または目的のビューを右マウスボタンでクリックしてメニューから [Deploy Modules] を選択します。

    確認ウィンドウが表示されます。

  3. [Create] をクリックすると、デプロイメント・パッケージが作成されます。

    デフォルトでは、デプロイメント・パッケージは ¥tuxdir¥Packages に格納されます。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy