bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo アプリケーションの設定 > BEA Tuxedo CORBA リモート・クライアント・アプリケーションの管理 |
Tuxedo アプリケーションの設定
|
BEA Tuxedo CORBA リモート・クライアント・アプリケーションの管理
この章では、標準のインターネット ORB 間プロトコル (IIOP: Internet Inter-ORB Protocol) を使用して BEA Tuxedo CORBA のリモート・クライアント・アプリケーションから CORBA オブジェクトへの接続を設定する方法について説明します。この章は、BEA Tuxedo CORBA サーバにのみ適用されます。
ここでは、次の内容について説明します。
CORBA オブジェクト関連の用語
注記 ネイティブ共同クライアント/サーバのサーバ・ロールは、通常のサーバと比べて大幅に弱くなります。tmadmin、FactoryFinder、ISL/ISH などの BEA Tuxedo CORBA の管理コンポーネントやインフラストラクチャ・コンポーネントはなく (BEA Tuxedo のスケーラビリティと信頼性に関する属性もなし)、BEA Tuxedo の TP Framework も使用しないため、クライアントと ORB 間でより直接的なインタラクションが必要になります。
注記 共同クライアント/サーバは、サーバ・ロールの一部としてクライアントの役割を果たすサーバとは異なります。サーバが呼び出し処理を完了すると、休止状態に戻ります。共同クライアント/サーバは常にアクティブ・モードで動作し、サーバ・ロールとは関連のないコードを実行します。このためサーバ・ロールによって一時的にアクティブなクライアント・ロールが中断されますが、クライアント・ロールは常に再開されます。
注記 リモート共同クライアント/サーバのサーバ・ロールは、通常のサーバと比べて大幅に弱くなります。クライアントにもサーバにも、tmadmin、FactoryFinder、ISL/ISH など、BEA Tuxedo の管理コンポーネントやインフラストラクチャ・コンポーネントはありません (BEA Tuxedo のスケーラビリティや信頼性に関する属性もなし)。
CORBA リモート・クライアントの概要
この節での「リモート・クライアント」は、BEA Tuxedo CORBA サーバ・ソフトウェアがフル・インストールされていないシステムに配置された CORBA クライアント・アプリケーションを意味します。つまり、管理サーバやアプリケーション・サーバが実行されず、掲示板もないことを意味します。クライアントとアプリケーション間の通信は、すべてネットワーク経由で行われます。
クライアントのタイプは以下のとおりです。
クライアント・プロセスは、UNIX または Microsoft Windows 上で実行できます。また、クライアントは CORBA ORB インターフェイスにアクセスすることができます。ユーザは、呼び出しが背後のネットワークでどのように処理されているかを意識する必要はありません。クライアント・プロセスはシステムに登録され、ネイティブ・クライアントと同じ状態になります。
クライアントには以下の特徴があります。
注記 クライアント・プロセスは、ISH を通してネイティブ・ドメインと通信します。
CORBA リモート・クライアントが接続されたアプリケーションの例
図12-1 は、リモート・クライアントが接続されたアプリケーションの例です。リモート・クライアントから CORBA サーバ・アプリケーションへのアクセス要求は、ネットワーク経由で ISH に送信されます。このプロセスがアプリケーション・サーバに要求を送信し、その応答をリモート・クライアントに返します。
図 12-1 リモート・クライアントが接続された銀行業務アプリケーション
リモート・クライアントからアプリケーションへの接続方法 クライアントは、既知のネットワーク・アドレスを使用して IIOP リスナ/ハンドラで ISL プロセスに接続します。この接続は、クライアントが Bootstrap オブジェクトのコンストラクタを呼び出すと開始されます。ISL プロセスは、オペレーティング・システム固有の機能を使用して、選択された ISH プロセスに直接接続を渡します。クライアント・アプリケーション側から見ると、接続は 1 つだけです。クライアント・アプリケーションは、現在 ISH プロセスに接続されていることを認識せず、また、認識する必要もありません。
CORBA リモート・クライアントの環境変数を設定する
CORBA C++ クライアントでは、以下に示す環境変数を使用してシステムに情報を渡すことができます。
注記 プログラマが Bootstrap コンストラクタまたは TOBJADDR で指定したネットワーク・アドレスは、サーバ・アプリケーションの UBBCONFIG ファイルで指定されたネットワーク・アドレスと完全に一致していなければなりません。アドレスの形式や、大文字/小文字も識別されます。これらのアドレスが一致しないと、Bootstrap コンストラクタの呼び出しが失敗し、一見無関係と思われる以下のエラー・メッセージが表示されます。
ERROR: Unofficial connection from client at
<tcp/ip address>/<port-number>:
たとえば、サーバ・アプリケーションの UBBCONFIG ファイルの ISL コマンド行オプションで、ネットワーク・アドレスが //TRIXIE:3500 に指定されている場合、Bootstrap コンストラクタまたは TOBJADDR で //192.12.4.6:3500 や //trixie:3500 を指定すると、接続が失敗します。
UNIX システムでは、ホスト・システムの uname -n コマンドを使用して大文字/小文字を指定します。Windows 2000 システムの場合は、ホスト・システムの [コントロール パネル] の [ネットワーク] で大文字/小文字を指定してください。または、環境変数 COMPUTERNAME を使用します。次に例を示します。
echo %COMPUTERNAME%
CORBA リモート・クライアントの最大数を設定する
アプリケーションにリモート・クライアントを参加させるには、 UBBCONFIG ファイルの MACHINES セクションで MAXWSCLIENTS パラメータを指定する必要があります。
MAXWSCLIENTS に指定された値は、BEA Tuxedo システムの起動時に通知され、リモート・クライアント用に確保するアクセサ・スロットの数が決まります。ネイティブ・クライアントの場合、各アクセサ・スロットに必要なセマフォは 1 つです。一方、ISH プロセス (リモート・クライアントの代わりにネイティブ・プラットフォーム上で実行するプロセス) は、リモート・クライアントのアクセスを単一のアクセサ・スロットに多重化するので、必要なセマフォは 1 つだけです。この点も、リモート機能の別の利点の 1 つです。多くのクライアントをネイティブ・プラットフォームからリモート・システムに移動することによって、アプリケーションで使用する IPC 資源を減らすことができます。
MAXWSCLIENTS は、MAXACCESSERS に指定された数のうち、指定された数のアクセサ・スロットを使用します。MAXWSCLIENTS の設定時には、ネイティブ・クライアントとサーバを収容するために必要な数のスロットを残しておく必要があります。MAXWSCLIENTS に MAXACCESSERS より大きい値を指定しないでください。次の表は、MAXWSCLIENTS パラメータの説明です。
CORBA リモート・クライアントのリスナを設定する
リモート・クライアントは、1 つの ISL プロセスと、1 つ以上の ISH プロセスのサービスを介してアプリケーションにアクセスします。ISL は、BEA Tuxedo システム側で提供されるサーバとして、1 つのエントリで指定されます。ISL は複数のリモート・クライアントを扱うことができます。これらのリモート・クライアントは 唯一の通信ポイントである ISL を経由して特定のネットワーク・アドレス (ISL コマンド行で指定) のアプリケーションに接続します。リスナは、1 つまたは複数のリモート・ハンドラ・プロセスをスケジューリングします。ISH プロセスは、アプリケーションの管理ドメインで、リモート・システム上のリモート・クライアントの代理として機能します。ISH は多重化スキーマによって、複数のワークステーション・クライアントを同時にサポートします。
リモート・クライアントをアプリケーションに参加させるには、UBBCONFIG ファイルの SERVERS セクションで ISL プロセスをリストする必要があります。この場合、サーバのリストと同じ構文を使用します。
CLOPT パラメータの形式
以下の ISL コマンド行オプション (CLOPT) を使用して、リモート・クライアントの ISL プロセスに情報を渡します。CLOPT パラメータの形式は、次のとおりです。
ISL SRVGRP=モidentifierモ
SRVID="number"
CLOPT="[ -A ] [ servopts options ] -- -n netaddr
[ -C {detect|warn|none} ]
[ -d device ]
[ -K {client|handler|both|none} ]
[ -m minh ]
[ -M maxh ]
[ -T client-timeout]
[ -x mpx-factor ]
[ -H external-netaddr"
CLOPT コマンド行オプションの詳細については、『BEA Tuxedo コマンド・リファレンス』 の ISL コマンドを参照してください。
CORBA リモート・クライアントをサポートするようにコンフィギュレーション・ファイルを変更する
リスト0-1 は、リモート・クライアントをサポートするUBBCONFIG ファイルの例です。以下の特徴があります。
コード リスト0-1 UBBCONFIG ファイルの設定例
*MACHINES
SITE1
...
MAXWSCLIENTS=150
...
SITE2
...
MAXWSCLIENTS=0
...
*SERVERS
...
ISL SRVGRP=”BANKB1" SRVID=500 RESTART=Y
CLOPT=”-A -- -n //TRIXIE:2500 -d /dev/tcp
-m 5 -M 30 -x 5"
..
リモート共同クライアント/サーバのアウトバウンド IIOP を設定する
アウトバウンド IIOP のサポートにより、ネイティブ・クライアントと、ネイティブ・クライアントとして機能するサーバは、BEA Tuxedo ドメイン外のリモート・オブジェクト・リファレンスを呼び出すことができます。つまり、コールバックに登録されているリモート・クライアントを呼び出して、リモート・サーバ内のオブジェクトにアクセスすることができます。
アウトバウンド IIOP サポート・コンポーネントと直接通信できるのは管理者だけです。管理者は、適切な起動パラメータを使用して ISL を起動し、接続が確立されていないクライアントのオブジェクトに対して、アウトバウンド IIOP を実行できるようにします。また、管理者は、起動する ISL の数や各種起動パラメータを調整し、システムの負荷状況に応じた最適な設定を行う必要もあります。
デフォルトのパラメータを使用して ISL を起動することも可能です。ただし、BEA Tuxedo ISL のデフォルトの起動パラメータでは、IIOP のアウトバウンドを有効にできません。
注記 アウトバウンド IIOP は、トランザクションおよびセキュリティ機能ではサポートされていません。
機能説明
クライアント・コールバックをサポートするには、アウトバウンド IIOP のサポートが必要です。BEA WebLogic Enterprise のバージョン 4.0 および 4.1 では、ISL/ISH はインバウンドのハーフ・ゲートウェイでしたが、アウトバウンド IIOP のサポートにより、ISL/ISH にアウトバウンドのハーフ・ゲートウェイが追加されています (図12-2 を参照してください)。
ネイティブ・サーバおよびリモート共同クライアント/サーバ・アプリケーションでサポートされる GIOP のバージョンによって、以下に示す 3 種類のアウトバウンド IIOP 接続を使用できます。
注記 GIOP 1.2 は、BEA WebLogic Enterprise リリース 4.2 (以降) と BEA Tuxedo リリース 8.0 (以降) の C++ クライアント、サーバ、および共同クライアント/サーバでのみサポートされます。BEA WebLogic Enterprise リリース 4.0 と 4.1 の C++ クライアントとサーバでは、GIOP のバージョン 1.0 と 1.1 はサポートしていますが、GIOP 1.2 はサポートしていません。Java クライアント、サーバ、および共同クライアント/サーバは、GIOP 1.0 のみサポートしています。
双方向およびデュアル・ペア接続のアウトバウンド IIOP では、ISH に接続された共同クライアント/サーバに存在するオブジェクト・リファレンスへのアウトバウンド IIOP 接続が可能です。非対称のアウトバウンド IIOP では、ISH に接続された共同クライアント/サーバに存在しないオブジェクト・リファレンスへのアウトバウンド IIOP 接続が可能です。また、現在 ISH に接続されているクライアント上のオブジェクト・リファレンスだけでなく、任意のオブジェクト・リファレンスを BEA Tuxedo CORBA クライアントによって呼び出すことができます。
以下の節では、それぞれのアウトバウンド IIOP について詳しく説明します。
図 12-2 サポートされる共同クライアント/サーバ IIOP 接続
双方向のアウトバウンド IIOP 双方向のアウトバウンド IIOP では、以下の操作が実行されます (図12-3 参照)。
図 12-3 双方向接続
非対称のアウトバウンド IIOP
非対称のアウトバウンド IIOP では、以下の操作が実行されます (図12-4 参照)。
図 12-4 非対称のアウトバウンド IIOP
デュアル・ペア接続によるアウトバウンド IIOP
デュアル・ペア接続によるアウトバウンド IIOP では、以下の操作が実行されます (図12-5 参照)。
図 12-5 デュアル・ペア接続によるアウトバウンド IIOP
ルーティング・コードによる ISL の検出
ISL の検出手順は以下のとおりです。
ISL コマンドを使用してアウトバウンド IIOP のサポートを設定する
ネイティブな C++ または Java クライアント、ネイティブ・クライアントとして動作するサーバからリモート・オブジェクト・リファレンスを呼び出す場合は、アウトバウンド IIOP サポートを使用します。ルーティング・コードでは、オブジェクト・リファレンスのソースが BEA Tuxedo CORBA ORB 以外、またはリモートの BEA Tuxedo CORBA 共同クライアント/サーバであることが認識されます。
オブジェクト・リファレンスの種類
リモート・オブジェクト・リファレンスには、次の 2 つの種類があります。
どちらのオブジェクト・リファレンスも、ルーティング・コードで検出され、アウトバウンド IIOP サポートに送信された後、処理されます。
ユーザ・インターフェイス
アウトバウンド IIOP サポートのユーザ・インターフェイスは、コマンド行インターフェイスであり、これを使用して ISL プロセスを起動します。BEA Tuxedo ソフトウェアの今回のリリースでは、アウトバウンド IIOP 処理を設定するための新しいコマンド行オプションが追加されています。これらのオプションを使用すると、ISH に接続されていないクライアントに存在するオブジェクト・リファレンスへの非対称の IIOP 接続がサポートされます。
以下の ISL コマンド構文は、アウトバウンド IIOP をサポートする新しいオプションを示しています。
ISL SRVGRP="identifier"
SRVID="number"
CLOPT="[ -A ] [ servopts options ] -- -n netaddr
[ -C {detect|warn|none} ]
[ -d device ]
[ -K {client|handler|both|none} ]
[ -m minh ]
[ -M maxh ]
[ -T Client-timeout]
[ -x mpx-factor ]
[-H external-netaddr]
#NEW options for outbound IIOP
[-O]
[-o outbound-max-connections]
[-s Server-timeout]
[-u out-mpx-users] "
CLOPT コマンド行オプションの詳細については、『BEA Tuxedo コマンド・リファレンス』の ISL コマンドを参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |