ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.6.2)
B61435-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

27 SBトランスポート

この章では、SBトランスポートの概要と、サービスでの使用および構成方法について説明します。

SBトランスポートによって、Oracle製品からRMIを使用して、Oracle Service Busプロキシ・サービスを同期的に呼び出すことができます。インバウンド・トランスポートでは、クライアントがRMIを使用してSBプロキシ・サービスにアクセスできます。アウトバウンド・トランスポートでは、RMIを使用してSBプロキシ・サービスを呼び出すことができます。デフォルトでは、T3プロトコル、IIOP、HTTP、T3、IIOPS、またはHTTPSを使用したすべてのサービスへのアクセスが、ターゲット・サーバーの構成に依存します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのオンライン・ヘルプのデフォルト・ネットワーク接続の構成に関する項を参照してください。

SBトランスポートでは、以下の機能がサポートされます。

この章の内容は以下のとおりです。

27.1 環境値

SBトランスポートでサポートされる環境値を表27-1に示します。

表27-1 環境値

環境値 使用目的

タイムアウト(カテゴリ:操作)

ビジネス・サービスに設定されたタイムアウト値をオーバーライドします。

サービス・アカウント(カテゴリ:セキュリティ)

ビジネス・サービスに関連付けられたユーザー資格証明を更新します。

SSLを使用(カテゴリ:セキュリティ)

プロキシ・サービスに対し、セキュアなプロトコルを使用してサービスを公開するオプションを有効または無効にします。


27.2 SBトランスポートを使用するプロキシ・サービスの構成

クライアントOracle Service Busサーバーは、JNDIコンテキストおよびプロキシ・サービスURIを使用してOracle Service Busサーバーに接続します。クライアントのセキュリティ・コンテキストは、プロキシ・サービスを呼び出すために使用されます。デフォルトのQoSはExactly-onceです。クライアントは必要に応じて、QoSを変更し、リクエストのタイムアウト値を設定し、適切なメッセージ・パターンを指定することができます。メッセージはインバウンドSBトランスポートで受信し、メッセージ・フローで処理されます。

Oracle Service Bus管理コンソールでプロキシ・サービスを作成するには、次の手順を実行します。

  1. 「全般的な構成」ページで、サービスの全般的な構成の詳細を入力します。詳細は、4.3.1項「プロキシ・サービスの「全般的な構成」ページ」を参照してください。

  2. 「トランスポート構成」ページで転送プロトコルとしてsbを選択します。エンドポイントURIに<proxy service name>を指定します。このプロキシ・サービス名は、クライアントによって呼び出されるプロキシ・サービスに関連付けられた一意の識別子です。詳細は、4.3.6項「プロキシ・サービスの「トランスポート構成」ページ」を参照してください。

  3. 表27-2の説明に従って、SBの「トランスポート構成」ページで値を指定します。

    表27-2 プロキシ・サービスのSBトランスポートを構成するためのフィールド

    フィールド 説明

    ディスパッチ・ポリシー

    デフォルトのディスパッチ・ポリシーを使用するか、またはインバウンド・リクエスト用にワーク・マネージャを構成できます。

    このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択しますほかのワーク・マネージャが存在しない場合は、デフォルトのワーク・マネージャが使用されます。

    ワーク・マネージャの詳細は、次の説明を参照してください。

    • 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

    • 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのワーク・マネージャの使用に関する項

    SSLを使用

    セキュアなプロトコルを使用してサービスを公開するには、「SSLを使用」オプションを選択します。これは、クライアントがSSLプロトコルを使用してSBプロキシ・サービスにアクセスする必要があることを意味しますが、クライアントが非セキュアなプロトコルを使用してサービスにアクセスすることを防止するわけではありません。また、次の場合は、サービスに関連付けられたエンドポイントURIがsbではなくsbsになります。

    • セキュア・サービスをUDDIでエクスポートし、セキュリティおよびポリシーの構成の詳細をインポート時に保持する場合。

    • 有効なWSDL内。

    注意: プロキシ・サービスは特定のプロトコルにバインドされません。必要に応じてSSL、IIOPまたはHTTPトンネリングを有効にする作業は、WLS管理者が行う必要があります。

    このフラグは、エクスポート時のサービスのURIスキーム、またはUDDIからインポートされるときのビジネス・サービスURIに対するJNDIプロバイダの選択にのみ影響します。クライアントが非セキュアなプロトコルを使用してサービスにアクセスすることを防止するわけではありません。


詳細は、2.3項「プロキシ・サービスの操作」を参照してください。

27.3 SBトランスポートを使用するビジネス・サービスの構成

SBビジネス・サービスは、他のSBプロキシ・サービスに対してのみメッセージを送信できます。ビジネス・サービスのエンドポイントURIに指定されたJNDIプロバイダは、リモートOracle Service Busサーバー上でJNDIルックアップを実行します。クライアントのユーザー資格証明またはビジネス・サービスに関連付けられたサービス・アカウントに定義済のユーザー資格証明を使用して、プロキシ・サービスを呼び出します。必要に応じて、タイムアウト値およびカスタム・ディスパッチ・ポリシーをビジネス・サービスに関連付けることもできます。また、サービスのQoSを、ルーティング・オプションを使用して設定することができます。

Oracle Service Bus管理コンソールでビジネス・サービスを作成するには、次の手順を実行します。

  1. 「全般的な構成」ページで、サービスの全般的な構成の詳細を入力します。詳細は、4.2.1項「ビジネス・サービスの「全般的な構成」ページ」を参照してください。

  2. 「トランスポート構成」ページで転送プロトコルとしてsbを選択し、エンドポイントURIを次の形式で指定します。

    sb://<jndi_provider_name>/<service_name>

    各要素の説明は次のとおりです。

    • <jndi_provider_name>はJNDIプロバイダの名前で、対応するOracle Service Bus JNDIプロバイダを示します。オプション。省略した場合は、デフォルトのコンテキストが使用されます。これは、サービスとOracle Service Busサーバーが同じマシンに存在することを意味します。呼出しが同じ場所にある場合、シリアライズはサービス呼出し中にスキップされます。詳細は、27.3.1項「JNDIプロバイダ」を参照してください。

    • <service name>はターゲット・サービスで、リモート・プロキシ・サービスURIに対応します。

    詳細は、4.2.4項「ビジネス・サービスの「トランスポート構成」ページ」を参照してください。

  3. 表27-3の説明に従って、SBの「トランスポート構成」ページで値を指定します。

    表27-3 ビジネス・サービスのSBトランスポートを構成するためのフィールド

    フィールド 説明

    ディスパッチ・ポリシー

    このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択しますほかのワーク・マネージャが存在しない場合は、デフォルトのワーク・マネージャが使用されます。

    ワーク・マネージャの詳細は、次の説明を参照してください。

    • 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

    • 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのワーク・マネージャの使用に関する項

    タイムアウト

    ビジネス・サービスがタイムアウトになるまでの期間を秒単位で指定します。タイムアウトが発生すると、ビジネス・サービスは実行時エラーを返します。

    指定したタイムアウト値は、次の場合には適用されません

    サービス・アカウント

    リモート・プロキシ・サービスの呼出しに使用する必要があるユーザー資格証明を指定します。サービス・アカウントが指定されない場合は、このビジネス・サービスのインバウンド・プロキシ・サービス(インバウンド・クライアント)のユーザー資格証明)が、セキュリティ・コンテキストの伝播に使用されます。詳細は、2.1.15項「サービス・アカウント・リソースの作成」を参照してください。


詳細は、2.2項「ビジネス・サービスの操作」を参照してください。

27.3.1 JNDIプロバイダ

JNDIプロバイダは、SBプロキシ・サービスに対応するRMIスタブを取得するためにサービスがデプロイされているOracle Service Busサーバーを示します。JNDIプロバイダには、リモート接続とEJBスタブのための高性能なキャッシング・メカニズムがあります。JNDIプロバイダでは、T3、IIOP、HTTP、T3s、IIOPS、またはHTTPS転送プロトコルを使用できます。Oracle Service BusからWLSドメインへの推奨される通信プロトコルは、T3またはT3Sです。メッセージがファイアウォールを通過する必要がある場合は、HTTPトンネリングを使用できます。使用するには、コンテキスト内でHTTPプロバイダのURLを使用し、WLSサーバー上でHTTPトンネリングを有効にします。


注意:

JNDIプロバイダでサポートされるプロトコルがリモートOracle Service Busサーバーにあるかどうかの確認は、管理者が行う必要があります。


ビジネス・サービスを作成するとき、ビジネス・サービスにJNDIプロバイダを関連付けることができます。詳細は、27.3項「SBトンランスポートを使用するビジネス・サービスの構成」および2.1.8項「JNDIプロバイダ・リソースの作成および編集」を参照してください。

27.4 エラー処理

通信エラーを処理するようにSBトランスポート・ビジネス・サービスを構成できます。ビジネス・サービスURIは、通信エラーが発生したときにオフラインにすることができます。ビジネス・サービスの操作設定を構成するときに、指定した再試行間隔の後、ビジネス・サービスのエンドポイントURIがオフラインになるように設定できます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「モニタリング」にあるビジネス・サービスの操作設定の構成に関する項およびビジネス・サービスのエンドポイントURIメトリックの表示に関する項を参照してください。

SBプロキシ・サービスの呼出し中に接続エラーが発生すると、SBトランスポート・プロバイダによってBEA-380002エラー・コードが生成されます。

接続エラーは、以下のいずれかの理由で発生する可能性があります。

SBプロキシによって返されるSOAPフォルトは、アプリケーション・エラーとして処理されます。

27.5 UDDI

UDDIレジストリに対してサービスのインポートとパブリッシュを行うことができます。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「UDDI」を参照してください。

27.5.1 サービスのパブリッシュ

プロキシ・サービスをUDDIレジストリにパブリッシュする場合、パブリッシュしたサービスに関連付けられたURIの形式は、次のとおりです。

sb://host:port/service_name

ここで、host:portはパブリッシュするプロキシ・サービスをホスティングしているOracle Service Busサーバーのホスト名とリスニング・ポートを示します。

パブリッシュするプロキシ・サービスで「SSLを使用」オプションが有効になっている場合、パブリッシュされたサービスに関連付けられたURIの形式は、次のとおりです。

sbs://host:port/service_name

ここで、host:portはプロキシ・サービスをホスティングしているOracle Service Busサーバーのホスト名とSSLリスニング・ポートを示します。

パブリッシュするプロキシ・サービスがクラスタ上で実行されている場合、host:portconfig.xmlファイルのClusterセクションにあるCluster Address設定になります。この値は、クラスタ内の任意のWLSへの接続に使用される1つのホスト名およびポート番号にすることができます。または、Oracle Service Busクラスタ内の管理対象サーバーのホスト名およびリスナー・ポートのカンマ区切りのリストにすることもできます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JNDIのプログラミング』のWebLogic JNDIに関する項を参照してください。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のUDDIレジストリへのプロキシ・サービスのパブリッシュに関する項を参照してください。

27.5.2 サービスのインポート

UDDIレジストリからサービスをインポートする場合、SBトランスポート・プロバイダは、サービスURIプロパティのsbschemeおよびhost:port情報を、sbschemeに基づく適切なプロトコルを使用してOracle Service Busサーバー上で登録されたJNDIプロバイダと照合します。sbschemeはSBトランスポート・ベースのサービスのURIスキームで、sbまたはsbsのいずれかになります。

sbschemeがsbである場合、トランスポート・プロバイダはT3、T3S、IIOP、IIOPS、HTTP、またはHTTPSプロトコルを(この順序で)使用してJNDIプロバイダを検索します。sbschemeがsbsである場合、トランスポート・プロバイダはT3Sプロトコル、IIOPS、次にHTTPSを(この順序で)使用してJNDIプロバイダを検索します。サービスURIプロパティに一致するJNDIプロバイダは、Oracle Service Busにインポートするビジネス・サービスのエンドポイントURIを生成するために使用されます。

一致するJNDIプロバイダがない場合、インポートは失敗し、デフォルトのコンテキストが使用されます。ただし、インポートされたURIがローカルURIでスキームがsb以外の場合を除きます。サービスにJNDIプロバイダが指定されていないので、サーバーと同じ場所にあるものと見なされることを意味します。

たとえば、サービスURIプロパティ値が次のようになっている場合を考えます。

sbs://remote_oracle_service_bus_host:7002/myservice

Oracle Service Busにインポートされたビジネス・サービスに生成されるURIは、次のようになります。

sb://my_jndi_provider/myservice

ここで、my_jndi_providert3s://remote_oracle_service_bus_host:7002 URLのOracle Service Busサーバー上で登録されたJNDIプロバイダ・リソースです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のUDDIレジストリからのビジネス・サービスのインポートに関する項を参照してください。