前へ     目次     索引     DocHome     次へ     
iPlanet Application Server 管理者ガイド



第 10 章   CORBA ベースクライアントサポートの有効化


以前のバーションの iPlanet Application Server では、RMI/IIOP プロトコルを介しての EJB へのアクセスには、組み込みの Javasoft ORB のみがサポートされていました。現在のバージョンの iPlanet Application Server では、Javasoft ORB だけでなく、IONA Technologies 製のサードパーティ ORB である ORBIX 2000 もサポートされます。つまり、CORBA 要素をサーバ側に提供するときに、組み込み Javasoft ORB または ORBIX 2000 を選択できるようになりました。

この節では、次のどちらかの ORB を使って EJB にアクセスする CORBA ベースクライアントのための RMI/IIOP サポートを設定する方法について説明します。

  • iPlanet Application Server の組み込み Javasoft ORB

  • ORBIX2000

この節では次のトピックについて説明します。



Javasoft ORB サポートの設定

CORBA ベースクライアントが Internet Inter-ORB Protocol (IIOP) を経由して、KJS プロセスによって管理される EJB と直接通信するには、iPlanet Application Server に CXS (Bridge) プロセスを追加する必要があります。通常、リクエストは、そのリクエストを出した Web ブラウザの Web パスを通じて行われ、JSP および Servlet によって処理され、さらに EJB にアクセスします。この Web パスでは HTTP プロトコルが使われます。CORBA ベースクライアントの場合、リクエストは、JavaSoft ORB を介し、CORBA Execute Server (CXS) を使って EJB に直接転送されます。CXS は、iPlanet Application Server 内で CORBA ベースクライアントと EJB との間でブリッジとして機能する Java エンジンです。CORBA ベースクライアントの開発および配置については、『開発者ガイド』を参照してください。

次の図は、iPlanet Application Server 内の通信アーキテクチャ、および CXS ブリッジプロセスを使った CORBA ベースクライアントと EJB サーバの通信を示しています。

図 10-1    iPlanet Application Server 通信アーキテクチャ


CXS (ブリッジ) プロセスを追加するには、次の手順を実行します。

  1. iASAT ツールバーの「一般」をクリックして「一般」ウィンドウを開きます。

  2. 「一般」ウィンドウの左側のペインで、CXS プロセスを追加する iPlanet Application Server インスタンスを選択します。

  3. 「ファイル」メニューから「新規」>「プロセス」をクリックします。

    「新規プロセス」ダイアログボックスが表示されます。



  4. 「処理タイプ」ドロップダウンボックスで「CXS」を選択します。

  5. 「ポート」テキストボックスで、追加のプロセスを実行する未使用のポート番号を指定します。これは、内部 iPlanet Application Server エンジンポートです。

  6. 「IIOP ポート」テキストボックスで、CORBA ベースクライアントが CXS との通信に使うポート番号を指定します。これは、CXS が CORBA ベースクライアントを待機するポートです。

  7. 「OK」をクリックして、新しいプロセスを追加します。

  8. このプロセスをシングルスレッド環境で使う場合は、次の手順を実行します。

    1. 「一般」ウィンドウの左側のペインで必要なプロセスを選択します。

    2. ウィンドウの右側のペインで、「最小スレッド」と「最大スレッド数」を 1 に設定します。

  9. 「変更の適用」をクリックして変更を保存します。



ORBIX2000 サポートの設定

この節では、ORBIX 2000 サポートを利用するために iPlanet Application Server を設定する方法について説明します。この節では次のトピックについて説明します。

Solaris 上で ORBIX サポートを設定するには

Windows NT で ORBIX サポートを設定するには


Solaris 上で ORBIX サポートを設定するには

Solaris 上で ORBIX 2000 サポートを設定するには、次の手順を実行します。

  1. ORBIX 2000 バージョン 1.2.1 をインストールします。

  2. ライセンスファイルをマシンにコピーし、ライセンスをインストールします。ライセンスのインストールの詳細については、http://www.iona.com にある ORBIX のマニュアルを参照してください。

  3. ORBIX の設定ドメインを作成します。

    ORBIX のデフォルトのドメイン設定は、localhost です。このドメイン設定は、iPlanet Application Server および CORBA 要素が同じマシン上で動作しているときに使うことができます。iPlanet Application Server と CORBA 要素が別々のマシン上で動作している場合は、新しい設定ドメインをファイルベースまたはリポジトリベースで作成する必要があります。ファイルベースでドメインを作成した場合は、サービスに関連する設定の詳細はすべて構成ファイルに保存されます。このファイルは、ドメインの作成に必要な手順を実行した後に作成されます。

    詳細は、『ORBIX 管理者ガイド』を参照してください。

  4. 次の手順で、セキュリティサービスのインターセプタをコンフィグレーションファイルに追加する必要があります。

    1. 作成したコンフィグレーションファイルの server_binding_list に、サーバのインターセプタ名 iASServerInterceptor をグローバル・スコープで追加します。

      たとえば、サーバのインターセプタ名を追加する前は、コンフィグレーションファイルの関連するエントリは次のようになっています。

      binding:server_binding_list=[OTS]

      iASServerInterceptor をサーバのインターセプタ名として追加すると、コンフィグレーションファイルのエントリは次のようになります。

      binding:server_binding_list=[iASServerInterceptor, OTS]

    2. インターセプタ portable_interceptor をコンフィグレーションファイルの orb_plugins エントリに追加します。

      たとえば、インターセプタ portable_interceptororb-plugins エントリに追加する前は、エントリは次のようになっています。

      orb_plugins=[iiop_profile,giop,iiop,ots]

      portable_interceptor を移植可能なインターセプタ名として orb-plugins に追加すると、エントリは次のようになります。

      orb_plugins=[iiop_profile,giop,iiop,ots,portable_interceptor]

  5. 共通環境変数ファイル iasenv.ksh を変更して、マシン上の ORBIX 設定の場所を iPlanet Application Server に認識させます。

    1. iasenv.ksh を開きます。ORBIX Configuration Settings のコメントの下にある ORBIX 設定のセクションに移動します。

    2. 次の変数に、ORBIX のインストール先ディレクトリの名前を指定します。

      IT_PRODUCT_DIR = <ORBIX product install directory>

    3. 次の変数に、ORBIX のライセンスファイル licenses.txt をコピーしたディレクトリの名前を指定します。

      IT_LICENSE_FILE_DIR= <path to ORBIX license file>

    4. 次の変数に、ORBIX 設定ドメイン名を指定します。

      ORBIX_DOMAIN_NAME=<configuration domain name>

    5. 次の変数に、ORBIX 設定ドメインファイルへのパスを指定します。

      ORBIX_CONFIG_DOMAINS_DIR = <configuration file path>

    6. 次の変数に、CXS (Corba Executive Server) 間でロードバランサを有効にするかどうかを指定します。このロードバランサは、サーバサイドの RMI/IIOP プロセスです。

      ORBIX_LOADBALANCING= true または false

      CXS 間のロードバランサは、デフォルトで有効になっています。フラグを false に設定すると、この機能はオフになります。

    7. 次に示すように、iasenv.kshJAVA_ARGS 変数は、JavaSoft ORB が使われるように設定されています。

      JAVA_ARGS=-Xss512k -Xms64m -Xmx64m

      ORBIX を利用するには、次のように、この変数のコメントを解除する必要があります。

      ##JAVA_ARGS=(-Xss512k -Xms64m -Xmx64m) -DBridge_ORB_CLASS=com.iona.corba.art.artimpl.ORBImpl -DORBIXLoadBalancing=$ORBIX_LOADBALANCING -Xbootclasspath/a:$IT_PRODUCT_DIR/orbix_art/1.2/classes/omg.jar -DORBdomain_name=$ORBIX_DOMAIN_NAME -DORBconfig_domains_dir=$ORBIX_CONFIG_DOMAINS_DIR -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.iplanet.ias.iona.orbinitializers.IONAServerORBInitializerImpl=

      ふたたび JavaSoft を利用する場合は、この変数をコメントに戻します。

  6. orb.properties ファイル内の次のプロパティを変更します。このファイルは iASInstallDir/ias/usr/java/jre/lib にあります。

    org.omg.CORBA.ORBSingletonClass=com.iona.corba.art.artimpl.ORBSingleton

  7. ORBIX 環境変数を設定するために、コマンドラインから次のコマンドを実行します。各コマンドは、ピリオド (.) とそれに続くスペースで始めます。

    . <orbix installation directory>/bin/<domain name>_env

    . <orbix installation directory>/bin/<domain name>_java_env

    たとえば、ドメイン名が「Marigold」の場合は、次のように指定します。

    . <orbix installation directory>/bin/marigold_env

    . <orbix installation directory>/bin/marigold_java_env

  8. 次のコマンドを実行して、ORBIX サービスを開始します。

    <orbix installation directory>/bin/start_<domain name>_services

    たとえば、ドメイン名が「Marigold」の場合は、次のように指定します。

    /space/iona/bin/start_marigold_services

  9. 必要なアプリケーションを配置します。iPlanet Application Server を配置して再起動したときにスタブとタイが再生成されることを確認します。

    CXS エンジンは、登録が完了すると、クライアントサイドオブジェクトグループのオブジェクトの処理を開始します。RMI/IIOP ORB は、リクエストを CXS エンジンに送信します。CXS エンジンが停止している場合でも、リクエストを送信し続けます。この現象を回避するには、登録した CXS エンジンがすべて動作していなければなりません。通常、KAS (Administrative Server) は、障害が発生したサーバエンジンプロセスを再起動します。ただし、CXS エンジンが無効になっているか、削除されているか、起動していない (KAS が起動していない場合に発生する) 場合は、CXS エンジンのオブジェクトをすべてのオブジェクトグループから削除することをお勧めします。CXS エンジンのオブジェクトを削除するには、以下のコマンドを使います。

    CXS エンジンによって処理されている現在のオブジェクトグループを一覧表示するには

    itadmin nsog list

    現在のメンバーを一覧表示するには

    itadmin nsog list_members <Group Name>

    特定のメンバーを削除するには (メンバー名はエンジン番号と同じ)

    itadmin nsog remove <GroupName>

    または

    itadmin nsog remove_member -og_name <GroupName> <engine no>

    削除を確認するには

    itadmin nsog list_members <Group Name>

    <group name>ejb-name + Group です。


Windows NT で ORBIX サポートを設定するには

Windows NT で ORBIX サポートを設定するには、次の手順を実行します。

  1. ORBIX 2000 バージョン 1.2.1 をインストールします。

  2. ライセンスファイルをマシンにコピーし、ライセンスをインストールします。詳細は、http://www.iona.com にある ORBIX のマニュアルを参照してください。

  3. iPlanet レジストリキーを次のように変更します。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥Java¥ClassPath=<path to ORBIX license file >;<path to ORBIX domain configuration file>;<ClassPath>;<orbix_inst_dir>¥orbix_art¥1.2¥classes¥orbix2000.jar;<orbix_inst_dir>¥orbix_art¥1.2¥localhost

    • <orbix_inst_dir> は、ORBIX のインストールディレクトリです。

    • <orbix_inst_dir>¥orbix_art¥1.2¥classes¥orbix2000.jar は、ORBIX の実装 JAR ファイル orbix2000.jar のパスです。

    • <ClassPath> は、iPlanet レジストリ内の既存の指定です。

    • iPlanet レジストリのキーを変更する方法については、「iPlanet レジストリエディタについて」を参照してください。



  4. iPlanet レジストリを次のように変更します。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥Java¥JavaArgs = -Xbootclasspath/a:<orb_inst_dir>¥orbix_art¥1.2¥classes¥omg.jar

    -DIASORBCLASS=com.iona.corba.art.artimpl.ORBImpl

    -DORBdomain_name=domain name

    -DORBconfig_domains_dir=<path to ORBIX domain configuration file>

    -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.iplanet.ias.iona.orbinitializers.IONAServerORBInitializerImpl=

    -DORBIXLoadBalancing=true

    • IBride_ORB_CLASS は、ロードされた ORB を参照します。この場合は、ORBIX ORB の com.iona.corba.art.artimpl.ORBImpl を参照します。

    • iPlanet Application Server と CORBA クライアントが同じマシン上で動作している場合は、ORBdomain_name および ORBconfig_domains_dir を iPlanet レジストリの JavaArgs キーに追加する必要はありません。これらの要素は、ORBIX と共に出荷されるローカルホスト構成ファイルに設定されます。



  5. iPlanet Application Server と CORBA クライアントが別々のマシン上で動作している場合は、ORBIX サービスが動作しているマシンに新しい設定ドメインを作成する必要があります。ドメイン設定は、ファイルベースまたはリポジトリベースで生成できます。詳細は、『ORBIX 管理者ガイド』を参照してください。

    ファイルベースでドメインを作成した場合は、ORBIX サービスに関連する設定の詳細は構成ファイルに保存されます。このファイルは、特定のパスに設定ドメインを作成するときに作成されます。

    新しい設定ドメイン名と設定ドメインファイルのパスで、次の iPlanet レジストリを更新する必要があります。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥Java¥JavaArgs = -DORBdomain_name=domain_name -DORBconfig_domains_dir=domain_path

    たとえば、設定ドメイン名が 「Marigold」 で、ドメイン設定ファイルがパス D:¥iona¥domains に保存されている場合は、iPlanet レジストリキーを次のように変更する必要があります。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥Java¥JavaArgs = -DORBdomain_name=marigold -DORBconfig_domains_dir=D:¥iona¥domains

  6. 次の手順で ORBIX の構成ファイルを変更し、セキュリティサービスを有効にする必要があります。

    1. 構成ファイルの server_binding_list に、サーバのインターセプタ名 iASServerInterceptor をグローバル・スコープで追加します。

      たとえば、サーバのインターセプタ名を追加する前は、コンフィグレーションファイルの関連するエントリは次のようになっています。

      binding:server_binding_list=[OTS]

      iASServerInterceptor をサーバのインターセプタ名として追加すると、コンフィグレーションファイルのエントリは次のようになります。

      binding:server_binding_list=[iASServerInterceptor,OTS]

    2. インターセプタ portable_interceptor をコンフィグレーションファイルの orb_plugins エントリに追加します。

      たとえば、インターセプタ portable_interceptororb-plugins エントリに追加する前は、エントリは次のようになっています。

      orb_plugins=[iiop_profile,giop,iiop,ots]

      portable_interceptor を移植可能なインターセプタ名として orb-plugins に追加すると、エントリは次のようになります。

      orb_plugins=[iiop_profile,giop,iiop,ots,?portable_interceptor?]

  7. CXS 間のロードバランサは、デフォルトで有効になっています。ロードバランサを無効にするには、iPlanet レジストリ内の次の JavaArgs 引数を False に設定します。

    SOFTWARE¥iPlanet¥Application Server¥6.5¥Java¥JavaArgs =ORBIXLoadBalancing = false

    次のコマンドで、すべてのオブジェクトグループが表示されます。

    <orbix home>/bin/itadmin nsog list

    次のコマンドで、グループにバインドされたすべてのオブジェクトが表示されます。

    <orbix home>/bin/itadmin nsog list_members <Group Name>

    次のコマンドを使って、ロードバランス機能のオンとオフを切り替えることができます。

    <orbix home>/bin/itadmin nsog modify -type [rr|rand|active] <GroupName>

    「group name」は、ejb name + Group です。



    CXS エンジンは、登録が完了すると、クライアントサイドオブジェクトグループのオブジェクトの処理を開始します。RMI/IIOP ORB は、リクエストを CXS エンジンに送信します。CXS エンジンが停止している場合でも、リクエストを送信し続けます。この現象を回避するには、登録した CXS エンジンがすべて動作していなければなりません。通常、KAS (Administrative Server) は、障害が発生したサーバエンジンプロセスを再起動します。ただし、CXS エンジンが無効になっているか、削除されているか、起動していない (KAS が起動していない場合に発生する) 場合は、CXS エンジンのオブジェクトをすべてのオブジェクトグループから削除することをお勧めします。CXS エンジンのオブジェクトを削除するには、以下のコマンドを使います。

    CXS エンジンによって処理されている現在のオブジェクトグループを一覧表示するには

    itadmin nsog list

    現在のメンバーを一覧表示するには

    itadmin nsog list_members <Group Name>

    特定のメンバーを削除するには (メンバー名はエンジン番号と同じ)

    itadmin nsog remove <GroupName>

    または

    itadmin nsog remove_member -og_name <GroupName> <engine no>

    削除を確認するには

    itadmin nsog list_members <Group Name>

    <group name>ejb-name + Group です。

  8. orb.properties ファイル内の次のプロパティを変更します。このファイルは iASInstallDir/ias/usr/java/jre/lib にあります。

    org.omg.CORBA.ORBSingletonClass=com.iona.corba.art.artimpl.ORBSingleton

  9. 必要なアプリケーションを配置します。アプリケーションを配置するときにスタブとタイが再生成されることを確認します。

  10. コマンドプロンプトから次のコマンドを実行して、ORBIX 環境変数を設定します。

    <orbix installation directory>/bin/<domain name>_env.bat

    <orbix installation directory>/bin/<domain name>_java_env.bat

    たとえば、ドメイン名が「Marigold」の場合は、次のように指定します。

    <orbix installation directory>/bin/marigold_env.bat

    <orbix installation directory>/bin/marigold_java_env.bat

  11. コマンドプロンプトで次のコマンドを実行して、ORBIX サービスを起動します。<orbix installation directory>/bin/start_<domain name>_services.bat

  12. iPlanet Application Server を起動します。

クライアントサイドの CORBA プログラミングについては、『開発者ガイド』を参照してください。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最新更新日 2002 年 3 月 6 日