この章では、JNDIプロバイダ、SMTPサーバー、プロキシ・サーバーなどのシステム・リソースを追加および構成する方法について説明します。システム・リソースは、Service Busサービスのすべてのプロジェクトのセッションで再利用できます。
この章の内容は次のとおりです。
UDDIレジストリは、Service Busのシステム・リソースでもあります。これらについては、「UDDIレジストリの操作」で詳しく説明します。
Oracle Service Busコンソールでは、システム・プロジェクトにシステム・リソースを作成し、このプロジェクトには、デフォルトでシステム・リソースのタイプごとにフォルダが含まれます。JDeveloperでは、「アプリケーション・リソース」パネルの「Service Busシステム・リソース」フォルダにリソースを作成します。ファイル・システムでは、これらのリソースは、JDeveloperアプリケーション・フォルダのSystem
サブフォルダにあります。
JNDIプロバイダ・リソースは、Service BusプロジェクトのJNDIルックアップを実行し、リモート・サーバーへのアクセスに必要なプロトコルとセキュリティの資格証明を提供します。HTTP、HTTPS、t3、t3s、IIOP、IIOPSといった、JNDIプロバイダの任意のプロトコルを使用できます。Service Busでは、使用するアプリケーション・サーバーに応じて、JNDIルックアップの初期コンテキスト・ファクトリ・クラスがいくつかサポートされます。IIOPまたはIIOPSを使用してJBossアプリケーション・サーバーに接続する場合は、com.sun.jndi.cosnaming.CNCtxFactory
クラスを使用してください(JBoss 7.0.0以降ではIIOP/Sはサポートされません)。
JBoss初期コンテキスト・ファクトリ・クラスを使用する場合、必ずService Busサーバー・クラスパスにクラスおよび依存クラスを含めます。サーバーのpost-classpathまたはdomain_name
/lib
ディレクトリに次のJARファイルが必要です。これらのファイルは、JBossインストールの/client
ディレクトリにあります。
jbossall-client.jar
(JBoss 4.xから6.xの場合)
jboss-client.jar
(JBoss 7.xの場合)
log4j.jar
注意:
クラスパスにクライアントJARファイルを追加しない場合、jboss-client.jar
、jboss-common-core.jar
、jboss-integration.jar
、jboss-logging-spi.jar
、jboss-remoting.jar
、jboss-security-spi.jar
、jboss-serialization.jar
、jbosssx-client.jar
およびjnp-client.jar
の各ファイルを個別に追加できます。
さらに、次のプロパティを定義して、サーバー・クラスパスまたはライブラリにjboss-ejb-client.properties
を追加します。
セキュアでない接続の場合:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=<name_of_connection>
remote.connection.conn1.host=<hostname>
remote.connection.conn1.port=<port>
セキュアな接続の場合:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=<name_of_connection>
remote.connection.conn2.host=<hostname>
remote.connection.conn2.port=<port>
remote.connection.conn2.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS=JBOSS-LOCAL-USER
remote.connection.conn2.username=<username>
remote.connection.conn2.password=<password>
IIOPプロトコルを使用する場合、Oracle WebLogic Serverのクラスパスに次のJARファイルを含めます。これらのファイルは、JBossインストールの/server/all/lib
にあります(ただし、logkit.jar
は/client
ディレクトリにあります)。
jacorb.jar
avalon-framework.jar
logkit.jar
JBossアプリケーション・サーバーにデプロイされたEJBは、EJBおよびJEJBトランスポートを使用して呼び出すことができます。Service Busでは、JBossに対して次の初期コンテキスト・ファクトリ実装をサポートします。JBoss 4.xから6.xの場合、それぞれのクラスに対して環境プロパティを指定できます。
org.jnp.interfaces.NamingContextFactory
org.jboss.naming.HttpNamingContextFactory
org.jboss.security.jndi.LoginInitialContextFactory
JBoss 7.xの場合、org.jboss.naming.remote.client.InitialContextFactory
に対して環境プロパティを指定できます。
次の表では、環境プロパティを示し、これらのプロパティに対するサポートの有無をファクトリ・クラスごとに表しています。これらのクラスと設定可能なプロパティの詳細は、http://docs.jboss.org/jbossas/jboss4guide/r1/html/ch3.chapter.html
のInitialContextファクトリの命名に関する項を参照してください。
表7-1 JBoss初期コンテキスト・ファクトリの環境パラメータ
パラメータ | NamingContextFactory (4.x-6.x) | HttpNamingContextFactory (4.x-6.x) | LoginInitialContextFactory (4.x-6.x) | InitialContextFactory (7.xのみ) |
---|---|---|---|---|
java.naming.factory.initial |
はい |
はい |
はい |
はい |
java.naming.provider.url |
はい |
はい |
はい |
はい |
java.naming.factory.url.pkgs |
はい |
はい |
はい |
はい |
jnp.socketFactory |
はい |
いいえ |
いいえ |
はい |
jnp.timeout |
はい |
いいえ |
いいえ |
はい |
jnp.sotimeout |
はい |
いいえ |
いいえ |
はい |
java.naming.security.principal |
いいえ |
いいえ |
はい |
はい |
java.naming.security.credentials |
いいえ |
いいえ |
はい |
はい |
java.naming.security.protocol |
いいえ |
いいえ |
はい |
はい |
さらに、JBossクラスタにデプロイされたEJBをルックアップする場合は、次の初期コンテキスト・プロパティが必要となる場合があります。
jnp.partitionName
jnp.discoveryGroup
jnp.discoveryPort
jnp.discoveryTimeout
jnp.disableDiscovery
JNDIプロバイダのフォルダ定義エディタには、現在のセッションで作成したJNDIプロバイダ・リソースがすべて表示されます。このページを使用して、定義したJNDIプロバイダ・リソースをすばやく見つけ、そのリソースにアクセスできます。
コンソールでJNDIプロバイダを表示するには:
「システム」プロジェクトを開き、「JNDIプロバイダ」を右クリックして、「開く」を選択します。
フォルダ定義エディタが開き、既存のJNDIプロバイダ・リソースのリストが表示されます。
特定のJNDIプロバイダを見つけるには、次のようにします。
「JNDIプロバイダ」表の上に問合せフィールドが表示されない場合は、表のツールバーで「例示問合せ」をクリックします。
「名前」列の上に、検索するJNDIプロバイダ・リソースの名前を入力して、[Enter]を押します。
ワイルドカード文字(単一の文字を表す場合は?、複数の文字を表す場合は*)を入力してさらに一般的な検索を実行できます。
すべてのJNDIプロバイダを再度表示するには、問合せフィールドを消去して、[Enter]を押します。
JNDIプロバイダの構成を表示するには、「JNDIプロバイダ」表でリソース名をクリックします。
JNDIプロバイダ・リソースを削除するには、表でリソースの名前を選択して、「削除」をクリックします。「JNDIプロバイダ・リソースの削除方法」を参照してください。
JNDIプロバイダ・リソースを作成する場合、リモート・サーバーの接続情報(URL、初期コンテキスト・ファクトリ、セキュリティ資格証明、JBossコンテキスト・ファクトリの環境プロパティ(オプション)など)を指定します。
JNDIプロバイダ・リソースを作成するには:
次のいずれかを行います:
JDeveloperを使用する場合、「アプリケーション・リソース」パネルを開き、「Service Busシステム・リソース」を右クリックして「新規」をポイントし、「JNDIプロバイダ」を選択します。
ヒント:
JNDIプロバイダ・リソースをプロジェクトに直接作成するには(これによりプロジェクト・レベルのリソースになる)、プロジェクトを右クリックして「新規」をポイントし、「JNDIプロバイダ」を選択します。
Oracle Service Busコンソールを使用する場合、「システム」プロジェクトを開き、「JNDIプロバイダ」を右クリックして「作成」をポイントし、「JNDIプロバイダの作成」を選択します。
「JNDIサービスの作成」ダイアログが表示されます。
リソースの名前と必要に応じて説明を入力し、「終了」または「作成」をクリックします。
JNDIプロバイダ定義エディタが表示されます。
protocol://
hostname:port
の形式でJNDIプロバイダのURLを入力します。
クラスタの場合、protocol://
hostname:ms1port, hostname:ms2port
の形式で管理対象サーバーのカンマ区切りリストを使用します。
「初期コンテキスト・ファクトリ」フィールドで、作成するJNDIプロバイダの初期コンテキスト・ファクトリ・クラス名を選択します。
「JNDIリクエスト・タイムアウト」フィールドに、JNDIリクエスト・タイムアウトをミリ秒単位で入力します。
JNDIオブジェクトのローカル・キャッシュを有効にするには、「JNDIキャッシュ」を選択します。
JBoss初期コンテキスト・ファクトリの環境プロパティを追加するには、「環境パラメータ」表の上にある「追加」アイコンをクリックして、表示された新しい行にパラメータ名と値を入力します。
パラメータの詳細は、「JBoss初期コンテキスト・ファクトリの環境プロパティについて」を参照してください。
目的のJNDIプロバイダにアクセスするためにユーザー名およびパスワードが必要な場合、「ユーザー名」フィールドにユーザー名を入力して、関連するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。
「保存」をクリックします。
Oracle Service Busコンソールを使用している場合、右上のツールバーで次のいずれかを実行します。
JNDI接続とローカルにキャッシュされたオブジェクトを破棄するためにJNDIコンテキストをリセットするには、「リセット」アイコンをクリックします。
JNDIプロバイダが接続を確立でき、JNDIコンテキストを取得できるかどうかをテストするには、「テスト」アイコンをクリックします。
Oracle Service Busコンソールを使用している場合は、「アクティブ化」をクリックして、セッションを終了し、実行時用に構成をデプロイします。
JNDIプロバイダ・リソースを作成すると、その説明とほとんどのJNDIプロパティを変更できます。
JNDIプロバイダ・リソースを編集するには:
編集するリソースを含むプロジェクトとフォルダを開きます。これは次の場所のいずれかになります。
JDeveloperの「アプリケーション・リソース」パネルの「Service Busシステム・リソース」フォルダ。
JDeveloperのアプリケーション・ナビゲータでJNDIプロバイダ・リソースが配置されるService Busプロジェクトまたはフォルダ。
Oracle Service Busコンソールの「システム」プロジェクトの「JNDIプロバイダ」フォルダ。
JNDIプロバイダ名を右クリックして、「開く」を選択します。
JNDIプロバイダ定義エディタが表示されます。
「JNDIプロバイダ・リソースの作成方法」で説明している任意のフィールドを変更します。これらのフィールドについては、オンライン・ヘルプでさらに詳細に説明しています。
注意:
「新規パスワード」フィールドは、JNDIプロバイダがユーザー名とパスワードで構成されなかった場合のみ編集できます。
変更が終了したら、「保存」をクリックします。
Oracle Service Busコンソールを使用している場合は、「アクティブ化」をクリックして、セッションを終了し、実行時用に構成をデプロイします。
JNDIプロバイダ・リソースを削除すると、他のService Busリソースによるリソースの参照は機能しなくなります。リソースでJNDIプロバイダを参照しているかどうかを判断するには、JNDIプロバイダ定義エディタでJNDIプロバイダ・リソースを開き、右上の「参照」アイコンをクリックします。JDeveloperでは、JNDIプロバイダを右クリックして、「依存性の参照」を選択します。
JNDIプロバイダ・リソースを削除するには:
編集するリソースを含むプロジェクトとフォルダを開きます。これは次の場所のいずれかになります。
JDeveloperの「アプリケーション・リソース」パネルの「Service Busシステム・リソース」フォルダ。
JDeveloperのアプリケーション・ナビゲータでJNDIプロバイダ・リソースが配置されるService Busプロジェクトまたはフォルダ。
Oracle Service Busコンソールの「システム」プロジェクトの「JNDIプロバイダ」フォルダ。
JNDIプロバイダ・リソースを右クリックして、「削除」を選択します。
JDeveloperを使用している場合、確認ダイアログに、リソースの参照の数が表示されます。「使用方法の表示」をクリックして参照に関する情報を表示し、リソースを削除することを確定するため「はい」をクリックします。
Oracle Service Busコンソールを使用している場合は、「アクティブ化」をクリックして、セッションを終了し、実行時用に構成をデプロイします。
SMTPサーバー・リソースは、SMTPサーバーの接続プロパティを定義し、電子メール・トランスポートに基づいてアラート宛先リソースおよびビジネス・サービスを構成するときに使用されます。SMTPサーバー・グローバル・リソースはSMTPサーバーのアドレス、ポート番号、および認証資格証明(必要な場合)を取り込みます。この認証資格証明はサービス・アカウントとして格納されるのではなく、インラインで格納されます。アラート宛先の詳細は、「アラート宛先の操作」を参照してください。
SMTPサーバーのフォルダ定義エディタには、現在のセッションで作成したSMTPサーバー・リソースがすべて表示されます。このページを使用して、定義したSMTPサーバー・リソースをすばやく見つけ、そのリソースにアクセスできます。
コンソールでSMTPサーバーを表示するには:
「システム」プロジェクトを開き、「SMTPサーバー」を右クリックして、「開く」を選択します。
フォルダ定義エディタが開き、既存のSMTPサーバー・リソースのリストが表示されます。
特定のSMTPサーバー・リソースを見つけるには、次のようにします。
「SMTPサーバー」表の上に問合せフィールドが表示されない場合は、表のツールバーで「例示問合せ」をクリックします。
「名前」列の上に、検索するSMTPサーバー・リソースの名前を入力して、[Enter]を押します。
ワイルドカード文字(単一の文字を表す場合は?、複数の文字を表す場合は*)を入力してさらに一般的な検索を実行できます。
すべてのSMTPサーバーを再度表示するには、問合せフィールドを消去して、[Enter]を押します。
SMTPサーバーの構成を表示するには、「SMTPサーバー」表でリソース名をクリックします。
SMTPサーバー・リソースを削除するには、表でリソースの名前を選択して、「削除」をクリックします。「SMTPサーバー・リソースの削除方法」を参照してください。
SMTPサーバー・リソースを作成する場合、URLやポート番号といったサーバーの接続情報を指定します。セキュリティ情報は、サーバーで認証が必要な場合のみ必須です。
SMTPサーバー・リソースを作成するには:
Oracle Service Busコンソールで、ドメインのデフォルト・サーバーとして構成されたSMTPサーバーの1つを指定できます。
デフォルトのSMTPサーバーを構成するには:
プロキシ・サーバー・リソースは、ビジネス・サービスのHTTPトランスポートを構成する場合に使用されます。詳細は、「HTTPトランスポートおよびポーラー・トランスポートの使用」を参照してください。
プロキシ・サーバーを構成する際、ホスト名またはIPアドレスに加えて、サーバーのクリア・テキストまたはSSLポート番号を指定できます。プロキシ・サーバー・リソース構成で指定されたポートは、バック・エンド・サービスのポートではなく、Webプロキシ・サーバーの実際の物理的なポートに対応するものなので注意してください。ただし、ビジネス・サービスでのエンドポイント構成はバック・エンド・サービスの実際のエンドポイントに対応します。これはHTTP CONNECTコマンドを使用したSSL/TLSトンネリングの場合にも当てはまります。
Webプロキシ・サーバーには、クリア・テキスト・ソケットとSSLソケットの両方を使用したHTTP CONNECTをサポートするサーバーもあれば、クリア・テキスト・ソケットのみを使用したHTTP CONNECTをサポートするサーバーもあります。たとえば、Oracle iPlanet Web Proxy Server 4.0は、クリア・テキスト・ソケットおよびSSLソケットを使用したHTTP CONNECTをサポートしますが、プロキシ・サーバー・モードでのApache Web Server 2.2は、クリア・テキスト・ソケットのみを使用したHTTP CONNECTをサポートします。
通常は、SSL/TLSトンネリングをサポートする場合、物理的なプロキシ・サーバーにサーバーまたは認証局(CA)の証明書をインストールする必要はありません。かわりに、Webプロキシ・サーバーはセキュアなソケットを開くために、コール元(この場合、Service Bus)から受信した証明書を使用します。同様に、ビジネス・アプリケーションをホストするサーバーがクライアントの証明書を必要とする場合は、プロキシ・サービスをホストするサーバー(Service Bus)の証明書が認証に使用されます。
プロキシ・サーバーのフォルダ定義エディタには、現在のセッションで作成したプロキシ・サーバー・リソースがすべて表示されます。このページを使用して、定義したプロキシ・サーバー・リソースをすばやく見つけ、そのリソースにアクセスできます。
コンソールでプロキシ・サーバーを表示するには:
「システム」プロジェクトを開き、「プロキシ・サーバー」を右クリックして、「開く」を選択します。
フォルダ定義エディタが開き、既存のプロキシ・サーバー・リソースのリストが表示されます。
特定のプロキシ・サーバー・リソースを見つけるには、次のようにします。
「プロキシ・サーバー」表の上に問合せフィールドが表示されない場合は、表のツールバーで「例示問合せ」をクリックします。
「名前」列の上に、検索するプロキシ・サーバー・リソースの名前を入力して、[Enter]を押します。
ワイルドカード文字(単一の文字を表す場合は?、複数の文字を表す場合は*)を入力してさらに一般的な検索を実行できます。
すべてのプロキシ・サーバーを再度表示するには、問合せフィールドを消去して、[Enter]を押します。
プロキシ・サーバーの構成を表示するには、「プロキシ・サーバー」表でリソース名をクリックします。
プロキシ・サーバー・リソースを削除するには、表でリソースの名前を選択して、「削除」をクリックします。「プロキシ・サーバー・リソースの削除方法」を参照してください。
プロキシ・サーバー・リソースを作成する場合、サーバー名やポート番号といったサーバーの接続情報を指定します。セキュリティ情報は、サーバーで認証が必要な場合のみ必須です。
各プロキシ・サーバー・リソースに複数のプロキシ・サーバーを構成できます。この場合、Service Busは、ロード・バランシングを実行でき、リソースのフォルト・トレランス機能を提供できます。
プロキシ・サーバー・リソースを作成するには:
次のいずれかを行います:
JDeveloperを使用する場合、「アプリケーション・リソース」パネルを開き、「Service Busシステム・リソース」を右クリックして「新規」をポイントし、「プロキシ・サーバー」を選択します。
注意:
プロキシ・サーバー・リソースをプロジェクトに直接作成するには(これによりプロジェクト・レベルのリソースになる)、プロジェクトを右クリックして「新規」をポイントし、「プロキシ・サーバー」を選択します。
Oracle Service Busコンソールを使用する場合、「システム」プロジェクトを開き、「プロキシ・サーバー」を右クリックして「作成」をポイントし、「プロキシ・サーバーの作成」を選択します。
「プロキシ・サーバーの作成」ダイアログが表示されます。
リソースの名前と必要に応じて説明を入力します。
「終了」または「作成」をクリックします。
プロキシ・サーバー定義エディタが表示されます。
プロキシ・サーバーを定義するには、「ホスト-ポート・パラメータ」表で次のようにします。
表の上にある「追加」アイコンをクリックします。
表に新しい行が表示されます。
「ホスト」フィールドに、プロキシ・サーバーのホスト名またはIPアドレスを入力します。
「ポート」フィールドに、プロキシ・サーバーのポート番号を入力します。
ホスト名とポート番号をリストから削除するには、削除するサーバーを含む行を表で選択して、「削除」アイコンをクリックします。
プロキシ・サーバーへのアクセスで認証が必要な場合、「ユーザー名」フィールドにユーザー名を入力して、対応するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。
「保存」をクリックします。
Oracle Service Busコンソールを使用している場合は、「アクティブ化」をクリックして、セッションを終了し、実行時用に構成をデプロイします。
プロキシ・サーバー・リソースを作成すると、その説明とセキュリティ・オプションを変更でき、プロキシ・サーバーの変更、追加およびホスト・リストからの削除を行うことができます。
プロキシ・サーバー・リソースを編集するには: