この章では、Oracle WSM Gatewayのデプロイ方法を説明しており、次の項で構成されています。
Oracle WSM Gatewayは、受信プロトコルでメッセージ・リクエストを受信し、これらのリクエストを送信プロトコルで該当するWebサービスに送信します。受信および送信プロトコルは、互いに無関係で、別々に構成されます。1つの環境内で、受信プロトコルと送信プロトコルは、異なるものを組み合せることも、同じものを使用することもできます。
たとえば、クライアント・リクエストはHTTPSで作成でき、Webサービスの起動はJava Message Service(JMS)を使用して行えます。この場合、Oracle WSM Gatewayは、リクエストを受信すると、それを送信プロトコルに翻訳します。
この章では、受信プロトコルに的を絞って説明します。送信プロトコルの詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。
受信プロトコルを受信するようにゲートウェイを構成する前に、Oracle Web Services Manager Gatewayを登録し、デプロイする必要があります。次の項では、ゲートウェイの登録およびデプロイ方法について説明します。
ポリシー実行ポイント(PEP)をインストールする前に、PEPを新しいコンポーネントとしてOracle WSM Policy Managerで登録する必要があります。登録プロセスにより、Oracle WSMコンポーネントIDが割り当てられます。コンポーネントIDは、PEPの境界と役割を定義します。ゲートウェイの場合、コンポーネントIDには、ゲートウェイにユーザーのOracle WSM環境について知らせる情報が含まれています。
Oracle WSM Gatewayを登録するには、Oracle Web Services Manager Controlを使用します。Oracle WSMドメイン管理者ロールを割り当てられたグループのメンバーであるユーザーのみが、Oracle WSM PEP(Oracle WSM Gateway、Oracle WSMクライアント・エージェントまたはサーバー・エージェント)の登録詳細を追加または編集できます。
特定のOracle WSMコンポーネントのアクセスまたは更新に必要な権限の取得については、Oracle WSMシステム管理者に問い合せてください。
Web Services Manager Controlから特定の操作を実行するために必要なOracle WSMのロールおよび権限の詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。
ゲートウェイを登録する前に、サーバー側のコンポーネントのインストール・プロセスがすべて正常に完了していることを確認します。
ゲートウェイを登録する手順
Web Services Manager Controlのナビゲーション・ペインで、「ポリシー管理」を選択し、「ポリシーの管理」オプションを選択します。
すでに登録されているゲートウェイまたはエージェントがある場合、登録済コンポーネントのリストが表示されます。
「新規コンポーネントの追加」をクリックします。
「新規コンポーネントの追加」ページが表示されます。
次のゲートウェイ・プロパティを指定します。
「コンポーネント・タイプ」リストから「ゲートウェイ」を選択します。
そのコンポーネントの場所または機能を説明する意味のある名前を入力します。これは非常に重要です。新しいコンポーネントを登録する前に、コンポーネントの命名規則を定めておけば、コンポーネントを容易に識別できます。
「コンテナ・タイプ」の選択肢は、Oracle Web Services Managerのみです。
「コンポーネントURL」フィールドで、ゲートウェイが稼働するURLを指定します。URLを指定する構文は、次のとおりです。
http://
hostname:port
/gateway
または
https://
hostname:port
/gateway
hostnameとportは、ゲートウェイにアクセスできるホストおよびポートを指します。
注意: ゲートウェイの負荷を分散する場合、ホストおよびポートには、外部から見えるロード・バランサのホストとポートを指定する必要があります。 |
「コンポーネント・グループ」には、ゲートウェイに対する変更権限と表示権限を付与するコンポーネント・グループを入力します。
Oracle WSMコンポーネント管理者ロールにマップされたグループは、コンポーネントの詳細を表示および編集できる他、管理対象のサービスと、コンポーネントに関連付けられたルーティングの追加、編集または削除ができます。ただし、Oracle WSMコンポーネントの追加、削除または移動、あるいはコンポーネントの登録詳細の変更はできません。
Oracle WSMコンポーネント・サポート・ロールにマップされたグループは、コンポーネント情報と関連サービスの表示しかできません。コンポーネントや関連サービスの詳細の追加、編集または変更はできません。
ロールとグループの詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。
「登録」をクリックします。
コンポーネントがOracle WSMシステム・レジストリに追加され、一意のIDが割り当てられて、そのコンポーネントIDが表示されます。
「OK」をクリックします。
新たに追加したゲートウェイとそのコンポーネントIDを含む「コンポーネントのリスト」が表示されます。コンポーネントIDを書き留めておきます。
ORACLE_HOME
/owsm/config/gateway
/gateway-config-installer.properties
ファイル内のプロパティを編集し、受信プロトコルを構成します。
wsmadmin
コマンドを使用して、ゲートウェイをデプロイします。
wsmadmin deploy
gateway
deploy
コマンドの詳細は、「deploy」を参照してください。ゲートウェイにその他の変更を加えた場合は、wsmadmin deploy
コマンドを使用して、コンポーネントを再デプロイする必要があります。
Oracle WSMポリシー実行ポイント(PEP)を作成し、登録すると、PEPにはコンポーネントIDが割り当てられます。コンポーネントIDは、PEPを一連のポリシーに関連付ける一意の識別子です。
コンポーネントIDは、番号C0003001から始まります。この番号は、コンポーネントが作成、登録されるたびに、1ずつ増えていきます。PEPを作成したら、そのコンポーネントIDを該当するプロパティ・ファイルで指定する必要があります。(ゲートウェイの場合、このファイルはgateway-config-installer.properties
です。エージェントの場合、このファイルはagent.properties
です。)Oracle WSMを使用しやすくするために、デフォルトでは、Oracle WSM Gatewayはgateway-config-installer.properties
ファイルにコンポーネントID C0003001で事前に構成されています。この構成は、作成する最初のコンポーネントがOracle WSM Gatewayであることを想定しています。
次の2つの場合、このデフォルト構成が競合の原因となります。
作成する最初のPEPが、ゲートウェイではなく、エージェントである場合。この場合、コンポーネントIDのC0003001は、そのエージェントに割り当てられます。この後ゲートウェイを作成すると、次のコンポーネントID(この例では、C0003002)で登録されます。しかし、gateway-config-installer.properties
ファイルのコンポーネントIDパラメータには、間違ってC0003001の番号が割り当てられます。
Oracle Web Services Manager環境に複数のOracle WSM Gatewayがある場合、各ゲートウェイには、異なるコンポーネントID(C0003001とC0003002など)が割り当てられます。gateway-config-installer.properties
ファイルでは、最初のゲートウェイについては正しくコンポーネントIDが割り当てられますが、2番目のゲートウェイには間違ったIDが割り当てられます。
どちらの場合も、正しいコンポーネントIDでプロパティ・ファイルを編集する必要があります。
Oracle WSM GatewayのコンポーネントIDを編集する手順
テキスト・エディタで、ORACLE_HOME
/owsm/config/gateway/gateway-config-installer.properties
ファイルを開きます。
パラメータgateway.component.id=
のコンポーネントIDの値を編集します。
wsmadmin deploy
gateway
操作を使用して、ゲートウェイを再デプロイします。
このコマンドの詳細は、「deploy」を参照してください。Oracle WSM AgentのコンポーネントID編集の詳細は、第6章「Oracle WSM Agentのインストール」を参照してください。
ゲートウェイでは、JMS、MQおよびHTTPSでの、SOAPメッセージと標準XMLメッセージの両方の受信をサポートしています。個々のゲートウェイのORACLE_HOME
/owsm/config/gateway/
gateway-config-installer.properties
ファイルでは、これら異なる形式のメッセージをそのゲートウェイでどのようにリスニングするかを指定しています。gateway-config-installer.properties
ファイルにはプロトコル(HTTPS、JMSおよびMQ)ごとのセクションがあり、それぞれが処理可能なメッセージ・タイプ(SOAPまたは標準XML)のペアに関連付けられています(表5-1)。
表5-1 ゲートウェイ転送プロトコル
パラメータ | 説明 |
---|---|
JMS |
JMSキューに着信するSOAPメッセージをリスニングします。 |
JMSXML |
JMSキューに送信されるXML(非SOAP)メッセージをリスニングします。 |
MQ |
MQキューでSOAPメッセージをリスニングします。 |
MQXML |
MQキューでXML(非SOAP)メッセージをリスニングします。 |
HTTP |
HTTPポートでSOAPまたはXMLメッセージをリスニングします。(デフォルトではゲートウェイは有効です。) |
後続の項では、次の各プロトコルのパラメータについて説明します。
JMSでは、セキュアなハンドシェイクが、メッセージごとではなくセッションごとに1つしか必要ありません。JMSを使用すると、HTTPS関連の待機時間がなくなり、転送しやすくなります。SOAPメッセージまたはXMLメッセージのいずれかを転送するために、JMSを設定できます。
システムのためにデプロイおよび構成する必要のあるJMSサーバーの数は、Oracle WSM環境でデプロイされたOracle WSM Monitorの数によって決まります。単一の集中型Oracle WSM Monitorには、単一の中央JMSサーバーのみが必要です。フェデレーテッドOracle WSM Monitorには、個別のメッセージング・システムが必要で、その結果、複数のJMSサーバーが必要です。
gateway-config-installer.properties
ファイルには、JMSリクエスト・ハンドラの起動に必要なプロパティを指定する2つのJMSセクションがあります。最初のセクション、JMSプロパティには、SOAPメッセージの処理にJMSを使用するためのプロパティが含まれています。2番目のセクション、JMS XMLには、標準XMLメッセージの処理にJMSを使用するためのプロパティが含まれています。
gateway configuration properties
ファイルを編集した後、変更を有効にするために、wsmadmin deploy
コマンドを使用してゲートウェイを再デプロイする必要があります。
注意: Oracle Web Services Managerでは、point-to-point機能を有効にするJMSキューをサポートしています。 |
Oracle Web Services ManagerでJMSを有効にするには、次の作業を完了する必要があります。
Tibco JMSを使用している場合は、tibjms.jar
ファイルとtibcrypt.jar
ファイルをOracle WSMインストール内の正しい場所(たとえば、ORACLE_HOME
/10.1.3.1/OracleAS_1/owsm/lib/custom
)にコピーします。この作業を実行しないと、JMS機能は働きません。
注意: Oracle JMSを使用している場合、Java Archive(JAR)ファイルをコピーする必要はありません。 |
ゲートウェイでJMSリスナーを構成します。
ゲートウェイでJMSサービスを登録および構成します(JMSMessengerStepを使用)。詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。
JMSプロトコルで接続できるかどうかをテストするには、次の作業を完了します。
Oracle Web Services Manager Controlでテスト・エンジン・ツールを使用して、構成されたJMSサービスをテストします。
Direct Internet Message Encapsulation(DIME)メッセージの送信を有効にします。
表5-2では、JMS転送メッセージ・リクエスト処理のために設定できるプロパティを示しています。
表5-2 JMSプロパティ
プロパティ | 説明 |
---|---|
|
サポートされる値は、 |
|
サポートされる値は、 |
|
サポートされる値は、 |
|
JMSリクエスト・ハンドラがリスニングを行うキューの名前。JNDIが有効な場合、これはキューのJNDI名です。 |
|
JMSサーバーの可用性をチェックする前にゲートウェイが待機する秒単位の時間。サーバーが使用可能でない場合、ゲートウェイでは、次の再試行間隔でサーバーの可用性のpingおよびチェックを行います。 |
|
接続先のサービスIDが指定されていない場合、デフォルトのサービスIDです。 |
|
キュー接続を取得するために使用される接続ファクトリ・クラス名。JNDIは、実際のキューをフェッチするために、接続ファクトリを検索します。 |
|
JMSサーバーに接続し、キューをフェッチできるユーザー名。 |
|
JMSサーバーに接続するためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
|
JMSサーバーへの接続に使用されるURL。 |
|
サポートされている値は、Tibco JMSのJ2SEとentrust6です。SSL証明書を提供するベンダーです。 |
|
JMS証明書で予想されるJMSサーバーの名前。 |
|
クライアントID証明書または証明書ファイルのパス。 |
|
提供されたIDファイルを復号化するためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
|
サーバーまたは証明書ファイルのパスの信頼できる証明書。 |
|
jndiコンテキストを取得するjndi.providerURL。 |
|
JNDIコンテキストの取得に使用されるjndi.providerContextFactoryクラス。 |
|
JNDIコンテキストの初期化に使用される値。 |
|
JNDI参照のためのユーザー名。 |
|
JNDI参照のためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
表5-3では、JMS XML転送メッセージ・リクエスト処理のために設定できるプロパティを示しています。
表5-3 JMS XMLプロパティ
プロパティ | 説明 |
---|---|
|
サポートされる値は、 |
|
サポートされる値は、 |
|
サポートされる値は、 |
|
JMS XMLリクエスト・ハンドラがリスニングを行うキューの名前。JNDIが有効な場合、これはキューのJNDI名です。 |
|
JMSサーバーの可用性をチェックする前にゲートウェイが待機する秒単位の時間。サーバーが使用可能でない場合、ゲートウェイでは、次の再試行間隔でサーバーの可用性のpingおよびチェックを行います。 |
|
接続先のサービスIDが指定されていない場合、デフォルトのサービスIDです。 |
|
キュー接続を取得するために使用される接続ファクトリ・クラス名。JNDIは、実際のキューをフェッチするために、接続ファクトリを検索します。 |
|
JMSサーバーに接続し、キューをフェッチできるユーザー名。 |
|
JMSサーバーに接続するためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
|
JMSサーバーへの接続に使用されるURL。 |
|
サポートされている値は、Tibco JMSのJ2SEとentrust6です。SSL証明書を提供するベンダーです。 |
|
JMS証明書で予想されるJMSサーバーの名前。 |
|
クライアントID証明書または証明書ファイルのパス。 |
|
提供されたIDファイルを復号化するためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
|
サーバーまたは証明書ファイルのパスの信頼できる証明書。 |
|
jndiコンテキストを取得するjndi.providerURL。 |
|
JNDIコンテキストの取得に使用されるjndi.providerContextFactoryクラス。 |
|
JNDIコンテキストの初期化に使用される値。 |
|
JNDI参照のためのユーザー名。 |
|
JNDI参照のためのパスワード。 パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。 |
MQシリーズにより、次のJava実装が使用できます。
Java用MQSeriesベース・クラス(MQベースJava): Javaプログラミング言語で作成されたプログラムが、MQSeriesクライアントとしてMQSeriesに接続できるようにします。これには、MQSeriesサーバーへの直接接続が必要で、Javaアプレット、アプリケーションおよびサーブレットからMQSeriesにコールや問合せを発行できるようにします。
Java Message Service用MQSeriesクラス(MQ JMS): Sun社のJava Message Service(JMS)インタフェースを実装する一連のJMSクラスで、JMSプログラムによるMQSeriesシステムへのアクセスを可能にします。JMSのpoint-to-pointおよびパブリッシュ/サブスクライブの両モデルがサポートされています。
Oracle Web Services Managerでは、Java用MQSeriesクラス(MQベースJava)を使用します。
Oracle Web Services ManagerでMQを有効にするには、次の作業を完了します。
MQライセンスを取得します。MQライセンスは、Oracle WSMにバンドルされていないため、正式なライセンスを取得する必要があります。次に、com.ibm.mq.jar
ファイルをOracle WSMインストール内の正しい場所(たとえば、ORACLE_HOME
/owsm/lib/custom
)にコピーする必要があります。この作業を実行しないと、MQ機能は動作しません。
ゲートウェイでMQリスナーを構成します。
ゲートウェイでMQサービスを登録および構成します(MQMessengerStepを使用)。詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。
MQプロトコルで接続できるかどうかをテストするには、次の作業を完了します。
Oracle Web Services Manager Controlでテスト・エンジン・ツールを使用して、構成されたMQサービスをテストします。
DIMEメッセージの送信を有効にします。
ゲートウェイでのMQリスナーの設定
MQ転送プロトコルは、構成されたMQキューで、処理されるクライアント・リクエストをリスニングします。
gateway-config-installer.properties
ファイルには、MQリクエスト・ハンドラの起動に必要なプロパティを指定する2つのMQセクションがあります。最初のセクション、MQプロパティには、SOAPメッセージの処理にMQを使用するためのプロパティが含まれています。2番目のセクション、MQ XMLには、標準XMLメッセージの処理にMQを使用するためのプロパティが含まれています。ゲートウェイ構成ファイルを編集した後、変更を有効にするために、wsmadmin deploy
コマンドを使用してゲートウェイを再デプロイする必要があります。
表5-4では、MQ転送メッセージ・リクエストの処理を構成するために設定できるプロパティを示しています。
表5-4 MQプロパティ
プロパティ | 説明 |
---|---|
|
デフォルト値はfalseです。 |
|
MQSeriesサーバーで構成されたキューにアクセスするために、アプリケーションが接続する必要のあるキュー・マネージャの名前。 |
|
MQSeriesサーバーが稼働しているホストの有効な名前またはIPアドレス。 |
|
MQSeriesサーバー・リスナーの有効なポート番号。 |
|
アプリケーションでMQSeriesサーバーに接続できるユーザー名。 |
|
アプリケーションでMQSeriesサーバーに接続できるユーザーのパスワード。 |
|
MQコールとレスポンスの転送のために、サーバー・マシン上のキュー・マネージャにアプリケーションを接続するチャネルの名前。 |
|
MQリスナーがリクエスト・メッセージを待つキューの名前。 |
|
MQサーバーからのメッセージを取得するための再試行の間隔。 |
|
受信メッセージで宛先サービスが指定されていない場合の、MQリスナーによるメッセージ転送先サービス。 |
表5-5では、MQ XML転送メッセージ・リクエストの処理を構成するために設定できるプロパティを示しています。
表5-5 MQ XMLプロパティ
プロパティ | 説明 |
---|---|
|
デフォルト値はfalseです。 IBM MQを有効にするには、値をtrueに設定します。 |
|
MQSeriesサーバーで構成されたキューにアクセスするために、アプリケーションが接続する必要のあるキュー・マネージャの名前。 |
|
MQSeriesサーバーが稼働しているホストの有効な名前またはIPアドレス。 |
|
MQSeriesサーバー・リスナーの有効なポート番号。 |
|
アプリケーションでMQSeriesサーバーに接続できるユーザー名。 |
|
アプリケーションでMQSeriesサーバーに接続できるユーザーのパスワード。 |
|
MQコールとレスポンスの転送のために、サーバー・マシン上のキュー・マネージャにアプリケーションを接続するチャネルの名前。 |
|
MQリスナーがリクエスト・メッセージを待つキューの名前。 |
|
MQサーバーからのメッセージを取得するための再試行の間隔。 |
|
受信メッセージで宛先サービスが指定されていない場合の、MQリスナーによるメッセージ転送先サービス。 |