Oracle® Fusion Middleware Oracle Service Busデプロイメント・ガイド 11g リリース1 (11.1.1.6.2) B61432-05 |
|
![]() 前 |
![]() 次 |
この章では、非クラスタOracle WebLogic ServerドメインでOracle Service Busをデプロイするための構成に必要な作業について説明します。非クラスタOracle Service Busデプロイメントとは、「管理サーバーのみ」または「管理サーバーおよび管理対象サーバー」のいずれかのOracle Service Busデプロイメント・トポロジを指します(第1章の「Oracle Service Busデプロイメント・トポロジ」を参照)。
非クラスタ構成でOracle Service Busを設定およびデプロイするには、次の手順を実行します:
Oracle Service Busでは、JMSレポート・プロバイダ用のデータベースが必要です。Oracle WebLogic ServerとともにインストールされるApache Derbyデータベースのローカル・コピーを本番で使用することはお薦めできません。
Oracle Service Bus JMSレポート・プロバイダ用のデータベースの構成については、Oracle Fusion Middleware Oracle Service Busインストレーション・ガイドを参照してください。
サポートされているデータベースの詳細なリストについては、http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
にある「Oracle Fusion Middleware Supported System Configurations」を参照してください。
注意: データベースを本番用に適切に構成することが重要です。メッセージをログに記録するための十分な領域を用意し、データベース管理のベスト・プラクティスに従う必要があります。 |
Oracle Service Bus環境を準備するには、次の項で説明する作業を行う必要があります。
Oracle Fusion Middleware構成ウィザードによるOracle Service Busドメインの作成の詳細は、Oracle Fusion Middleware Oracle Service Busインストレーション・ガイドの「Oracle Service Bus 11gのインストールと構成」を参照してください。
Oracle Fusion Middleware構成ウィザードでJMSファイル・ストアを構成するとともに、JMSを使用するプロキシ・サービスおよびビジネス・サービスに、次のリソースを構成する必要があります。
JMS接続ファクトリ。JMSを使用して実装されたすべてのビジネス・サービスとプロキシ・サービスに、XAまたは非XAのJMS接続ファクトリを構成する必要があります。
JMSキューまたはトピック。Oracle Service Busでは、JMSを使用して実装されたプロキシ・サービスに自動的にJMSキューが構成されます。JMSを使用するすべてのビジネス・サービスおよび非JMSを使用して実装されたプロキシ・サービスには、JMSキューまたはトピックを構成する必要があります。
すべてのOracle Service Bus JMSリソースを単一のJMSモジュールにまとめる場合、Oracle WebLogic Server管理コンソールを使用して、プロキシ・サービスのエンドポイントとして使用する宛先を含む新しいJMSモジュールを作成します。
JMSリソースの構成の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSの構成と管理』のJMSリソースの構成方法に関する項を参照してください。
Oracle Service Busでは、Oracle WebLogic Serverのセキュリティ機能を利用して、メッセージの機密性と整合性を確保し(メッセージ・レベルのセキュリティ)、クライアントとOracle WebLogic Serverの間の接続を保護し(トランスポート・レベルのセキュリティ)、認証と認可(アクセス制御)を行います。Oracle Service Busのセキュリティの構成方法については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する項を参照してください。
注意: 各Oracle Service Busドメインに別々にセキュリティを構成する必要があります。Oracle Service Busでは、セキュリティ構成のエクスポートおよびインポートは行いません。 |
Oracle Service Busドメインの構成と保護を終え、サービスに必要なJMSリソースを追加すると、Oracle Service Bus構成が入ったJARファイルをインポートできます。構成メタデータをインポートした後、ドメインの環境固有の情報を更新できます。
次に、構成JARファイルの内容をデプロイする基本手順を示します。
Oracle Service Busでセッションを作成します。
構成JARファイルからすべてのオブジェクトまたは選択したオブジェクトをインポートします。
サービス・エンドポイントURI、ディレクトリ名などの環境固有の情報を更新します。
セッションをアクティブ化します。
この手順は手動で行うことも、プログラムで実行することもできます。
構成を手動でインポートおよび更新するには、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の次の説明に従って、Oracle Service Bus管理コンソールを使用します。
リソースのインポートに関する項
環境値の検索と置換に関する項
プログラムで構成のインポートと更新を行うには、付録A「デプロイメントAPIの使用」で説明されているようにWebLogic Scripting Tool (WLST)とOracle Service BusのdeploymentMBean
を使用します。
サービス・エンドポイントURI、ディレクトリ名、およびセキュリティ構成に加え、Oracle Service Bus構成には、新しい環境で正しく動作するように更新する必要のある設定が含まれていることがあります。通常、次の項目は更新が必要です。
サービス参照
サービス参照の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソースへの参照の表示に関する項を参照してください。
ルーティングの宛先
ルーティングの構成については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のプロキシ・サービス: メッセージ・フローに関する項を参照してください。
ロード・バランシング設定
ロード・バランシングについては、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のトランスポート構成ページに関する項を参照してください。
必要に応じて、Oracle Service Bus管理コンソールを使用して構成の確認と変更を行います。
本番環境は、時間の経過や、アプリケーション使用の増加に伴って変化します。この項では、一般的な本番環境の変化に応じてドメインを更新する方法を説明します。
既存のエンタープライズ情報システム(EIS)インスタンスが徐々に少なくなり、新しいインスタンス(EISソフトウェアの新しいバージョン、新しいハードウェアなどで使用可能)がオンラインで提供される場合があります。このような場合、Oracle Service Bus管理者は、影響を受けるOracle Service Busサービスを変更して新しいEISインスタンスに適切に移行する必要があります。
これは、EISインスタンス障害に似ていますが、緊急な対処は必要ありません。デプロイメントに関する考慮事項については、5.2.2項「EISインスタンスのフェイルオーバー」を参照してください。Oracle Service Bus管理コンソールを使用したビジネス・サービス用のエンドポイントURIの変更については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「トランスポート構成」ページに関する説明を参照してください。
ビジネス要件の変化に伴い、プロキシ・サービスの変更が必要になることがあります。変更に下位互換性がある場合、Oracle Service Bus管理コンソールを使用してオンラインで動的に変更を行い、新しいバージョンのプロキシ・サービスを作成できます。次のいずれかの条件を満たす場合、変更には下位互換性があります。
変更対象オブジェクトのインタフェースは変更しません。
新旧混在のクライアントがインタフェースを使用します。
必要な変更に下位互換性がない場合、オンラインで変更できるようにする2つの代替方法があります。
以前のバージョンとは異なる名前とURLを持つ新しいプロキシ・サービスを作成し、デプロイします。クライアントは新しいプロキシ・サービスにアクセスすることでアップグレードされます。この場合、プロキシ・サービスの新旧のバージョンを並行して実行し、新しいプロキシ・サービスに段階的に移行できます。
プロキシ・サービスのインタフェースを変更して新しいインタフェースと古いインタフェースの両方をサポートするようにし(たとえば、XMLスキーマchoiceを使用)、受信されるドキュメントに基づいてメッセージ・フローで異なるロジックを実行することで、下位互換性を強制的に実現します。クライアントは、引続き元のURLを使用してプロキシ・サービスにアクセスできます。
さらに、Oracle Service Busクラスタ・ドメインでは、下位互換性のないプロキシ・サービスのデプロイメントについてのシステム管理要件があります。詳細は、4.6.4項「クラスタへの新しいバージョンのプロキシ・サービスのインストール」を参照してください。
Oracle Service Busでは、システムの構成情報を動的に変更できます。変更内容を有効にするためにサーバーを再起動する必要はありません。
Oracle Service Bus管理コンソールで次の手順を実行して、リソースやプロジェクト、または複数の(関連する、あるいは関連しない)リソースを変更できます。
セッションを作成します。Oracle Service Busの構成を変更する場合は、必ずセッションが必要です(セキュリティ関連の変更は例外です)。
セッションでリソースを変更するか、構成JARファイルからすべてのオブジェクトまたは選択したオブジェクトをインポートします。
サービス・エンドポイントURI、ディレクトリ名などの環境固有の情報を更新します。
セッションをアクティブ化します。
変更がまとめられ、すべてのサーバー(クラスタ環境を使用している場合は管理サーバーと管理対象サーバー)に送られます。このような変更によって、永続構成データが更新され、また、他の実行時タスク(プロキシ・サービスやJMSキューの作成、XQueryのコンパイルなど)も実行されます。
この手順は手動で行うことも、プログラムで実行することもできます。
構成を手動でインポートおよび更新するには、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の次の説明に従って、Oracle Service Bus管理コンソールを使用します。
リソースのインポートに関する項
環境値の検索と置換に関する項
プログラムで構成のインポートと更新を行うには、付録A「デプロイメントAPIの使用」で説明されているようにWebLogic Scripting Tool (WLST)とOracle Service BusのdeploymentMBean
を使用します。
図2-1は、システムでのメッセージの処理中に構成が更新された場合に、システムがメッセージを処理するためにどのように動作するかを示します。表2-1は、図2-1に示されているサンプル・システムのリソースのバージョンを示します。
この図のメッセージ処理では次の点に注意してください。
メッセージ1は、t1 (構成の更新時)にはすでにシステムに届いている
メッセージ1は、元(更新前)のリソース(X、Y、W)を使用して処理を完了する
メッセージ2は、新しい構成(リソースA、B、C)を使用して処理を開始して完了する
Oracle Service Busは、メッセージがプロキシ・サービスに届いた時点で使用可能なバージョンのプロキシ・サービスとアーティファクトを使用して、メッセージを実行しようとします。
これにより、メッセージのアーティファクトの一貫性が保たれます。メッセージ・プロセッサが、メッセージに対してこの動作を保証できない場合は、誤って処理しないようにメッセージを拒否します。拒否されたメッセージをシステムで再試行するには、再試行機能のあるJMSプロキシ・サービスを使用します。
この項では、実行中のOracle Service Busシステムで構成を更新するときに従うベスト・プラクティスと注意する必要のある制約について説明します。
Oracle Service Busによるメッセージの拒否が心配な場合は、再試行機能のあるJMS転送プロトコルを使用します。互換性のあるリソースでの処理をシステムが保証できないためにメッセージが拒否されることがありますが、この場合はそのようなメッセージがすべて再試行されます。
システムでは、セキュリティ関連の構成更新を最初に実行してから、Oracle Service Busのリソースを更新する必要があります。セキュリティ・リソースの更新の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のセキュリティ管理の概要に関する項を参照してください。
更新内容は、システムを使用する既存のクライアントと互換性を持つ必要があります。2.5.2項「新しいバージョンのプロキシ・サービスのインストール」を参照してください。
クラスタの構成を更新する場合、管理対象サーバーごとに更新のタイミングが異なる可能性があります。結果として、メッセージを取得して処理する管理対象サーバーに応じて、メッセージを処理するプロキシ・サービスのバージョンが異なることがあります。これは、管理対象サーバー間のロード・バランシングに依存します。
オンライン・デプロイメントの際に、Oracle Service Busで、正しいバージョンの参照リソースがメッセージ処理に使用されているかどうかを確認します。一時的に正しいバージョンの参照リソースが使用されていない場合は、エラーが返されます。ただし、呼び出されたサービスのインタフェース・アーティファクト(MFL、WSDLなど)が変更されている場合、プロキシ・サービスのバージョンと相関しないアーティファクトのバージョンが一時的に確認されても、呼出しを行うプロキシ・サービスではエラーを返さない場合があります。