ヘッダーをスキップ
Oracle Web Services Managerデプロイメント・ガイド
10g(10.1.3.1.0)
B31905-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 Oracle WSM Gatewayのデプロイ

この章では、Oracle WSM Gatewayのデプロイ方法を説明しており、次の項で構成されています。

Oracle WSMの受信および送信プロトコル

Oracle WSM Gatewayは、受信プロトコルでメッセージ・リクエストを受信し、これらのリクエストを送信プロトコルで該当するWebサービスに送信します。受信および送信プロトコルは、互いに無関係で、別々に構成されます。1つの環境内で、受信プロトコルと送信プロトコルは、異なるものを組み合せることも、同じものを使用することもできます。

たとえば、クライアント・リクエストはHTTPSで作成でき、Webサービスの起動はJava Message Service(JMS)を使用して行えます。この場合、Oracle WSM Gatewayは、リクエストを受信すると、それを送信プロトコルに翻訳します。

この章では、受信プロトコルに的を絞って説明します。送信プロトコルの詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。

受信プロトコルを受信するようにゲートウェイを構成する前に、Oracle Web Services Manager Gatewayを登録し、デプロイする必要があります。次の項では、ゲートウェイの登録およびデプロイ方法について説明します。

Oracle Web Services Manager Gatewayの登録

ポリシー実行ポイント(PEP)をインストールする前に、PEPを新しいコンポーネントとしてOracle WSM Policy Managerで登録する必要があります。登録プロセスにより、Oracle WSMコンポーネントIDが割り当てられます。コンポーネントIDは、PEPの境界と役割を定義します。ゲートウェイの場合、コンポーネントIDには、ゲートウェイにユーザーのOracle WSM環境について知らせる情報が含まれています。

Oracle WSM Gatewayの登録に関する前提条件と一般情報

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管理者ガイド』を参照してください。

ゲートウェイを登録する前に、サーバー側のコンポーネントのインストール・プロセスがすべて正常に完了していることを確認します。

ゲートウェイを登録する手順

  1. Web Services Manager Controlのナビゲーション・ペインで、「ポリシー管理」を選択し、「ポリシーの管理」オプションを選択します。

    すでに登録されているゲートウェイまたはエージェントがある場合、登録済コンポーネントのリストが表示されます。

  2. 「新規コンポーネントの追加」をクリックします。

    「新規コンポーネントの追加」ページが表示されます。

  3. 次のゲートウェイ・プロパティを指定します。

    • 「コンポーネント・タイプ」リストから「ゲートウェイ」を選択します。

    • そのコンポーネントの場所または機能を説明する意味のある名前を入力します。これは非常に重要です。新しいコンポーネントを登録する前に、コンポーネントの命名規則を定めておけば、コンポーネントを容易に識別できます。

    • 「コンテナ・タイプ」の選択肢は、Oracle Web Services Managerのみです。

    • 「コンポーネントURL」フィールドで、ゲートウェイが稼働するURLを指定します。URLを指定する構文は、次のとおりです。

      http://hostname:port/gateway

      または

      https://hostname:port/gateway

      hostnameportは、ゲートウェイにアクセスできるホストおよびポートを指します。


      注意:

      ゲートウェイの負荷を分散する場合、ホストおよびポートには、外部から見えるロード・バランサのホストとポートを指定する必要があります。

    • 「コンポーネント・グループ」には、ゲートウェイに対する変更権限と表示権限を付与するコンポーネント・グループを入力します。

      • Oracle WSMコンポーネント管理者ロールにマップされたグループは、コンポーネントの詳細を表示および編集できる他、管理対象のサービスと、コンポーネントに関連付けられたルーティングの追加、編集または削除ができます。ただし、Oracle WSMコンポーネントの追加、削除または移動、あるいはコンポーネントの登録詳細の変更はできません。

      • Oracle WSMコンポーネント・サポート・ロールにマップされたグループは、コンポーネント情報と関連サービスの表示しかできません。コンポーネントや関連サービスの詳細の追加、編集または変更はできません。

      ロールとグループの詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。

  4. 「登録」をクリックします。

    コンポーネントがOracle WSMシステム・レジストリに追加され、一意のIDが割り当てられて、そのコンポーネントIDが表示されます。

  5. 「OK」をクリックします。

    新たに追加したゲートウェイとそのコンポーネントIDを含む「コンポーネントのリスト」が表示されます。コンポーネントIDを書き留めておきます。

  6. ORACLE_HOME/owsm/config/gateway /gateway-config-installer.propertiesファイル内のプロパティを編集し、受信プロトコルを構成します。

  7. wsmadminコマンドを使用して、ゲートウェイをデプロイします。

    wsmadmin deploy application_server_password gateway

    deployコマンドの詳細は、「deploy」を参照してください。ゲートウェイにその他の変更を加えた場合は、wsmadmin deployコマンドを使用して、コンポーネントを再デプロイする必要があります。

ゲートウェイのコンポーネントIDの構成

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を編集する手順

  1. テキスト・エディタで、ORACLE_HOME/owsm/config/gateway/gateway-config-installer.propertiesファイルを開きます。

  2. パラメータgateway.component.id=のコンポーネントIDの値を編集します。

  3. wsmadmin deploy application_server_password 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プロトコルの構成

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使用の有効化

Oracle Web Services ManagerでJMSを有効にするには、次の作業を完了する必要があります。

  • tibjms.jarファイルとtibcrypt.jarファイルをOracle WSMインストール内の正しい場所(たとえば、ORACLE_HOME/10.1.3.1/OracleAS_1/owsm/lib/custom)にコピーします。この作業を実行しないと、JMS機能は働きません。

  • ゲートウェイで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プロパティ

プロパティ 説明

gateway.listener.jms.Enabled

サポートされる値は、trueまたはfalseです。trueに設定すると、JMSリクエスト・ハンドラを起動します(この表の残りのパラメータは、このパラメータがtrueに設定されている場合にのみ該当します)。

gateway.listener.jms.useJndi

サポートされる値は、trueまたはfalseです。キュー情報を取得するために、JNDIを有効または無効にします。

gateway.listener.jms.sslEnabled

サポートされる値は、trueまたはfalseです。trueに設定すると、SSLでJMS通信が有効になります。

gateway.listener.jms.queueName

JMSリクエスト・ハンドラがリスニングを行うキューの名前。JNDIが有効な場合、これはキューのJNDI名です。

gateway.listener.jms.retryInterval

JMSサーバーの可用性をチェックする前にゲートウェイが待機する秒単位の時間。サーバーが使用可能でない場合、ゲートウェイでは、次の再試行間隔でサーバーの可用性のpingおよびチェックを行います。

gateway.listener.jms.defaultServiceId

接続先のサービスIDが指定されていない場合、デフォルトのサービスIDです。

gateway.listener.jms.env.connectionFactory

キュー接続を取得するために使用される接続ファクトリ・クラス名。JNDIは、実際のキューをフェッチするために、接続ファクトリを検索します。

gateway.listener.jms.env.username

JMSサーバーに接続し、キューをフェッチできるユーザー名。

gateway.listener.jms.env.password

JMSサーバーに接続するためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。

gateway.listener.jms.env.url

JMSサーバーへの接続に使用されるURL。

gateway.listener.jms.ssl.sslVendor

サポートされている値は、Tibco JMSのJ2SEとentrust6です。SSL証明書を提供するベンダーです。

gateway.listener.jms.ssl.sslHostName

JMS証明書で予想されるJMSサーバーの名前。

gateway.listener.jms.ssl.clientIdentity

クライアントID証明書または証明書ファイルのパス。

gateway.listener.jms.ssl.clientIdentityPassword

提供されたIDファイルを復号化するためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。

gateway.listener.jms.ssl.trustCerts.cert

サーバーまたは証明書ファイルのパスの信頼できる証明書。

gateway.listener.jms.jndi.providerUrl

jndiコンテキストを取得するjndi.providerURL。

gateway.listener.jms.jndi.providerCtxFactory

JNDIコンテキストの取得に使用されるjndi.providerContextFactoryクラス。

gateway.listener.jms.jndi.urlPackagePrefix

JNDIコンテキストの初期化に使用される値。

gateway.listener.jms.jndi.username

JNDI参照のためのユーザー名。

gateway.listener.jms.jndi.password

JNDI参照のためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。


表5-3では、JMS XML転送メッセージ・リクエスト処理のために設定できるプロパティを示しています。

表5-3 JMS XMLプロパティ

プロパティ 説明

gateway.listener.jmsxml.enabled=false

サポートされる値は、trueまたはfalseです。trueに設定すると、JMS XMLリクエスト・ハンドラを起動します(この表の残りのパラメータは、このパラメータがtrueに設定されている場合にのみ該当します)。

gateway.listener.jmsxml.useJndi

サポートされる値は、trueまたはfalseです。キュー情報を取得するために、JNDIを有効または無効にします。

gateway.listener.jmsxml.sslEnabled

サポートされる値は、trueまたはfalseです。trueに設定すると、SSLでJMSXML通信が有効になります。

gateway.listener.jmsxml.queueName

JMS XMLリクエスト・ハンドラがリスニングを行うキューの名前。JNDIが有効な場合、これはキューのJNDI名です。

gateway.listener.jmsxml.retryInterval

JMSサーバーの可用性をチェックする前にゲートウェイが待機する秒単位の時間。サーバーが使用可能でない場合、ゲートウェイでは、次の再試行間隔でサーバーの可用性のpingおよびチェックを行います。

gateway.listener.jmsxml.defaultServiceId

接続先のサービスIDが指定されていない場合、デフォルトのサービスIDです。

gateway.listener.jmsxml.env.connectionFactory

キュー接続を取得するために使用される接続ファクトリ・クラス名。JNDIは、実際のキューをフェッチするために、接続ファクトリを検索します。

gateway.listener.jmsxml.env.username

JMSサーバーに接続し、キューをフェッチできるユーザー名。

gateway.listener.jmsxml.env.password

JMSサーバーに接続するためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。

gateway.listener.jmsxml.env.url

JMSサーバーへの接続に使用されるURL。

gateway.listener.jmsxml.ssl.sslVendor

サポートされている値は、Tibco JMSのJ2SEとentrust6です。SSL証明書を提供するベンダーです。

gateway.listener.jmsxml.ssl.sslHostName

JMS証明書で予想されるJMSサーバーの名前。

gateway.listener.jmsxml.ssl.clientIdentity

クライアントID証明書または証明書ファイルのパス。

gateway.listener.jmsxml.ssl.clientPassword

提供されたIDファイルを復号化するためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。

gateway.listener.jmsxml.ssl.trustCerts.cert

サーバーまたは証明書ファイルのパスの信頼できる証明書。

gateway.listener.jmsxml.jndi.providerUrl

jndiコンテキストを取得するjndi.providerURL。

gateway.listener.jmsxml.jndi.providerContextFactory

JNDIコンテキストの取得に使用されるjndi.providerContextFactoryクラス。

gateway.listener.jmsxml.jndi.urlPackagePrefix

JNDIコンテキストの初期化に使用される値。

gateway.listener.jmsxml.jndi.username

JNDI参照のためのユーザー名。

gateway.listener.jmsxml.jndi.password

JNDI参照のためのパスワード。

パスワードが確実に暗号化形式で送信されるようにするには、暗号化ツールを使用します。


受信MQプロトコルの構成

MQシリーズにより、次のJava実装が使用できます。

Oracle Web Services ManagerでのMQ使用の有効化

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プロパティ

プロパティ 説明

gateway.listener.mq.enabled

デフォルト値はfalseです。trueに設定すると、MQリクエスト・ハンドラを起動します(この表の残りのパラメータは、左側のパラメータがtrueに設定されている場合にのみ該当します)。

gateway.listener.mq.managerName

MQSeriesサーバーで構成されたキューにアクセスするために、アプリケーションが接続する必要のあるキュー・マネージャの名前。

gateway.listener.mq.hostName

MQSeriesサーバーが稼働しているホストの有効な名前またはIPアドレス。

gateway.listener.mq.port

MQSeriesサーバー・リスナーの有効なポート番号。

gateway.listener.mq.username

アプリケーションでMQSeriesサーバーに接続できるユーザー名。

gateway.listener.mq.password

アプリケーションでMQSeriesサーバーに接続できるユーザーのパスワード。

gateway.listener.mq.channelName

MQコールとレスポンスの転送のために、サーバー・マシン上のキュー・マネージャにアプリケーションを接続するチャネルの名前。

gateway.listener.mq.queueName

MQリスナーがリクエスト・メッセージを待つキューの名前。

gateway.listener.mq.retryInterval

MQサーバーからのメッセージを取得するための再試行の間隔。

gateway.listener.mq.defaultServiceId

受信メッセージで宛先サービスが指定されていない場合の、MQリスナーによるメッセージ転送先サービス。


表5-5では、MQ XML転送メッセージ・リクエストの処理を構成するために設定できるプロパティを示しています。

表5-5 MQ XMLプロパティ

プロパティ 説明

gateway.listener.mqxml.enabled

デフォルト値はfalseです。trueに設定すると、MQ XMLリクエスト・ハンドラを起動します(この表の残りのパラメータは、このパラメータがtrueに設定されている場合にのみ該当します)。

IBM MQを有効にするには、値をtrueに設定します。

gateway.listener.mqxml.managerName

MQSeriesサーバーで構成されたキューにアクセスするために、アプリケーションが接続する必要のあるキュー・マネージャの名前。

gateway.listener.mqxml.hostName

MQSeriesサーバーが稼働しているホストの有効な名前またはIPアドレス。

gateway.listener.mqxml.port

MQSeriesサーバー・リスナーの有効なポート番号。

gateway.listener.mqxml.username

アプリケーションでMQSeriesサーバーに接続できるユーザー名。

gateway.listener.mqxml.password

アプリケーションでMQSeriesサーバーに接続できるユーザーのパスワード。

gateway.listener.mqxml.channelName

MQコールとレスポンスの転送のために、サーバー・マシン上のキュー・マネージャにアプリケーションを接続するチャネルの名前。

gateway.listener.mqxml.queueName

MQリスナーがリクエスト・メッセージを待つキューの名前。

gateway.listener.mqxml.retryInterval

MQサーバーからのメッセージを取得するための再試行の間隔。

gateway.listener.mqxml.defaultServiceId

受信メッセージで宛先サービスが指定されていない場合の、MQリスナーによるメッセージ転送先サービス。