Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド 11gリリース1 (11.1.1.9) B61432-08 |
|
![]() 前 |
![]() 次 |
この章では、本番環境にOracle Service Bus構成をデプロイする方法について説明します。
次の項では、組織でOracle Service Busをデプロイする場合の主要な概念と操作について説明します。
このドキュメントでは、主にOracle Service Busソフトウェアのライフサイクルのデプロイメント段階について説明します。Oracle Service Busの概要については、『Oracle Fusion Middleware Oracle Service Busコンセプトおよびアーキテクチャ』を参照してください。
Oracle Service Busでは、インテリジェントなメッセージ・ブローカリングとサービスのモニターおよび管理を統合しているため、1つのソフトウェア製品でサービス指向アーキテクチャ(SOA)の実装とデプロイを行うことができます。Oracle Service Busの構成をデプロイするときは、次の目標を考慮します。
高可用性: ハードウェアやネットワークの障害時のフェイルオーバーに備えて、デプロイメントには、十分な可用性とアクセシビリティが要求されます。
パフォーマンス: デプロイメントでは、負荷のピーク時や閑散時に関係なく十分なパフォーマンスが必要になります。
スケーラビリティ: デプロイメントでは、コード変更ではなく、ハードウェア・リソースの追加により、予期される負荷の増加に対処できなければなりません。
セキュリティ: デプロイメントでは、権限のないアクセスやデータの改ざんからデータを確実に保護できなければなりません。
Oracle Service Bus構成では、常にこれらの目標を達成できます。
トポロジという用語は、ドメイン内のサーバー、クラスタ、アプリケーション、製品の特定の構成、およびアプリケーションや製品がデプロイされる場所を指します。Oracle Service Busデプロイメント・トポロジという用語は、Oracle Service Bus製品がデプロイされるサーバー/クラスタを指します。
Oracle Service Busは、ドメイン内にOracle Service Bus以外のサーバー/クラスタが共存するトポロジなど、様々なデプロイメント・トポロジをサポートしています。次に、Oracle Service Busでサポートされているデプロイメント・トポロジを示します。
管理サーバーのみトポロジ - このトポロジでは、Oracle Service Busは管理サーバーにのみデプロイされます。
管理サーバーおよび管理対象サーバー・トポロジ - このトポロジでは、Oracle Service Busは管理サーバーと1つの非クラスタ(スタンドアロン)管理対象サーバーにデプロイされます。管理機能は管理サーバーにデプロイされ、実行時機能は管理対象サーバーにデプロイされます。
クラスタ・トポロジ - このトポロジでは、Oracle Service Busは管理サーバーと1つのクラスタにデプロイされます。管理機能は管理サーバーにデプロイされ、実行時機能はクラスタにデプロイされます。ドメインでは1つのOracle Service Busクラスタのみ使用できます。
注意: 管理対象サーバーとクラスタ・トポロジを混在することはできません。どちらか一方を使用する必要があります。Oracle Virtual Assembly Builderを使用してOracle Service Busを仮想環境にデプロイする場合、管理サーバーおよび管理対象サーバー・トポロジはサポートされません。 |
最初の2つのトポロジ、「管理サーバーのみ」と「管理サーバーおよび管理対象サーバー」は、非クラスタOracle Service Busトポロジと呼ばれることもあります。
Oracle Service Busデプロイメント・トポロジでは、Oracle Service Bus以外のサーバー/クラスタも共存できます。いずれかのOracle Service Busデプロイメント・トポロジを使用してドメインを作成し、必要な数のOracle Service Bus以外のスタンドアロン管理対象サーバーまたはクラスタを作成できます。これらのOracle Service Bus以外のサーバー/クラスタには、他のOracle製品やユーザー・アプリケーションを含めることができます。
Oracle Service Busを他のOracle製品とコロケートすることもできます(ただし、制限があります)。コロケートとは、2つの製品を同じサーバー/クラスタにデプロイすることです。現在、「管理サーバーおよび管理対象サーバー」トポロジを使用する場合のみ、Oracle Service BusをOracle SOA Suiteとコロケートできます。
Oracle Fusion Middleware構成ウィザードのユーザー・インタフェースまたはスクリプトを使用して、Oracle Service Busドメイン拡張テンプレートを適用することで、特定のOracle Service Busトポロジを作成できます。ドメイン拡張テンプレートを使用することにより、ほとんどのデプロイメント作業が自動化され、ドメイン作成が大幅に簡易化されます。
Oracle Service Busには2つのドメイン拡張テンプレートが用意されています。
Oracle Service Bus - このテンプレートでは、すべてのOracle Service Busデプロイメント・トポロジを作成できます。
Oracle Service Bus for developers - このテンプレートは、開発環境などで管理専用Oracle Service Busトポロジを作成するための便利な方法として提供されています。
Oracle Fusion Middleware構成ウィザードによるOracle Service Busドメインの作成については(Oracle SOA Suiteとのコロケートを含め)、Oracle Fusion Middleware Oracle Service Busインストレーション・ガイドの「Oracle Service Bus 11gのインストールと構成」を参照してください。
Oracle Service Busをデプロイするときは、次の作業の一部または全部を完了する必要があります。
1.1項「デプロイメントの目標」の説明に従って、Oracle Service Busデプロイメントの目標を定義します。
第1章「Oracle Service Busデプロイメント・トポロジ」の説明に従って、デプロイメント・トポロジを作成します。
このガイドの説明に従って、Oracle Service Bus構成をデプロイします。
『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する項の説明に従って、Oracle Service Busデプロイメントのセキュリティを設定します。
統合型ソリューションを正しくデプロイするためには、デプロイメント・チームに、次の役割を果たすメンバーを加える必要があります。
一人で複数の役割を兼任することもできます。デプロイメントのすべてのシナリオに全員が等しく関わることはありません。ただし、正しくデプロイするためには、各担当者の参加が必要です。
デプロイメント・スペシャリストは、デプロイメント作業を調整します。デプロイメント・スペシャリストには、Oracle Service Bus製品の機能に精通していることが要求されます。デプロイメント・スペシャリストは、1つまたは複数のサーバーに様々なOracle Service Bus機能を構成してきた経験を基に、専門知識を活かして、ESBソリューションのデプロイメント・トポロジを設計します。デプロイメント・スペシャリストには、次の分野の経験が要求されます。
リソース要件の解析
デプロイメント・トポロジの設計
プロジェクトの管理
Oracle WebLogic Server管理者は、組織内のOracle WebLogic Serverデプロイメントに関する技術と操作について深い知識を持っている必要があります。次の領域の経験と専門知識が要求されます。
ハードウェアとプラットフォームの知識(Hardware and platform knowledge)
インストール、構成、モニター、セキュリティ、パフォーマンス・チューニング、トラブルシューティングなど、Oracle WebLogic Serverデプロイメントのすべての側面の管理
データベース管理者は、組織内にデプロイされたデータベース・システムに関する技術と操作について深い知識を持っている必要があります。次の領域の経験と専門知識が要求されます。
ハードウェアとプラットフォームの知識(Hardware and platform knowledge)
インストール、構成、モニター、セキュリティ、パフォーマンス・チューニング、トラブルシューティングなど、リレーショナル・データベース(RDBMS)のすべての側面の管理
この項では、デプロイメントの段階で変更可能なリソースの概要について説明します。リソースという用語は、このドキュメントでは主に技術的な資産を指します。セキュリティについては例外的に、セキュリティ・ロールとセキュリティ・ポリシーを使用して無許可のアクセスから保護するOracle WebLogic Serverエンティティのことのみを指します。
デプロイメントの段階で変更可能な主なリソースには、次のものがあります。
この項では、Oracle Service Busソリューションのデプロイメントに最も関係するOracle WebLogic Serverリソースの一般情報について説明します。これらのリソースはOracle WebLogic Server管理コンソールで直接構成することも、J2EEとWebLogicのリソース記述子を通じて構成することもできます。
Oracle WebLogic Serverには、多くの構成オプションと調整可能な設定があり、サポートされている任意の環境でOracle Service Busソリューションをデプロイするために使うことができます。Oracle Service Busのデプロイメントに最も関係する、構成可能なOracle WebLogic Server機能には、次のものがあります。
クラスタは、単体ユニットとして管理可能なサーバーのグループです。クラスタリングにより、単一サーバーよりもスケーラビリティの高いデプロイメント・プラットフォームを構築できます。作業負荷に対する許容量を増やすために、Oracle WebLogic Serverをクラスタで実行できます。クラスタリングの詳細は、第3章「Oracle Service Busクラスタの理解」を参照してください。
WebLogic Java Message Service (JMS)により、Javaアプリケーションでメッセージ・システムを共有し、メッセージを交換(作成、送信、受信)できます。WebLogic JMSは、Java Message Service (1.0.2)仕様(http://docs.oracle.com/cd/E17802_01/products/products/jms/javadoc-102a/index.html
)に準拠しています。
JMSサーバーはクラスタリングが可能です。また、接続ファクトリはOracle WebLogic Serverの複数のインスタンスにデプロイできます。WebLogic JMSの詳細は、次のトピックを参照してください。
『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』のWebLogic JMSに関する項。
『Oracle Fusion Middleware Oracle WebLogic Server JMSの構成と管理』のWebLogic JMSクラスタリングの構成およびJMS統計のモニターとメッセージの管理に関する項。
Oracle Service Busデプロイメントでは、EJBの数がシステムのスループットに影響します。システムのEJBの数は、EJBのタイプに応じて、EJBプールまたはEJBキャッシュを使用して調整できます。次の表に、EJBのタイプと関連する可変パラメータを示します。
表1-1 EJBの調整用パラメータ
EJBタイプ | 調整可能なパラメータ名 | 調整可能なパラメータの説明 |
---|---|---|
メッセージドリブンBean |
max-beans-in-free-pool |
キューから作業を取り出すリスナーの最大数 |
ステートレス・セッションBean |
max-beans-in-free-pool |
作業リクエストに対応できるbeanの最大数 |
ステートフル・セッションBeanとエンティティBean |
max-beans-in-cache |
|
スループットの制御の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のWebLogic永続ストアの使い方に関する項を参照してください。
JDBC (Java Database Connectivity)は、JavaアプリケーションからDBMSに格納されているデータにアクセスするために使用します。データベース接続を確立する際のオーバーヘッドを減らすために、WebLogic JDBCにはすぐに使用できる接続プールが用意されています。
JDBC接続プールは、DBMS接続の最適化に使用します。Oracle Service Bus JMSレポート・プロバイダを使用している場合、JDBC接続プールのサイズを構成することで、Oracle Service Busのパフォーマンスを調整できます。設定が小さすぎると、接続可能になるまでのOracle Service Busの待機時間が長くなる可能性があります。設定が大きすぎると、DBMSのパフォーマンスが低下する可能性があります。
WebLogic JDBC接続プールの詳細は、次を参照してください。
『Oracle Fusion Middleware Oracle WebLogic Server JDBCのプログラミング』の「JDBCアプリケーションのパフォーマンス・チューニング」にある接続プールによるパフォーマンスの向上に関する項。
『Oracle Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理』の「JDBCデータ・ソースの構成」にある接続プールの機能に関する説明。
実行スレッド・プールによって、Oracle WebLogic Serverで同時に実行可能なスレッド数を制御できます。設定が小さすぎると、処理が同時に行われなくなり、さらにデッドロックが発生する可能性があります。設定が大きすぎると、メモリーを過度に消費し、スラッシングが発生する可能性があります。
また、実行スレッドの数によって、受信ソケット・メッセージを読み込むスレッド数(ソケット・リーダー・スレッド)が決まります。デフォルトでは、この数は、実行スレッド数の1/3です。この数が小さすぎると、ソケットを読み込むスレッドが競合して、デッドロックが発生する可能性が高くなります。
実行スレッド・プールは、予想されるスレッドの合計数を実行できる程度に設定してください。ただし、システム内のコンテキストの過度の切替えによってパフォーマンスが低下してしまうほど高く設定しないでください。実行しているシステムをモニターし、様々な値を試して実行スレッド・プールに最適な値を決めてください。
注意: ほとんどの本番アプリケーションでは、実行スレッド・カウントをデフォルト値より大きくする必要があります。一般的に使用されるスレッド・カウント値は50です。実際のスレッド・カウント値に合わせてJDBC接続プールを調整してください。 |
WebLogic J2EEコネクタ・アーキテクチャ(JCA)により、Java 2プラットフォームおよびEnterprise Editionを1つ以上の異機種のエンタープライズ情報システム(EIS)と統合できます。WebLogic JCAは、J2EEコネクタ(1.0)仕様に準拠しています。
WebLogic J2EE-CAに関する情報は、『Oracle Fusion Middleware Oracle WebLogic Serverリソース・アダプタのプログラミング』のJava EEコネクタ・アーキテクチャに関する項を参照してください。
Oracle Service Busの構成リソースには、構成を新しいドメインにデプロイするときに変更または調整可能な環境固有の設定があります。次の項では、構成のデプロイ後に再構成が必要なリソースについて説明します。
ビジネス・サービスは、メッセージの交換先となるエンタープライズ情報サービスのOracle Service Busでの定義です。本番環境のビジネス・サービスでは、ロード・バランシングと高可用性のため、複数のエンドポイント(URL)を指定できます。ビジネス・サービスにエンドポイントを追加する方法については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のビジネス・サービスの構成の編集に関する項を参照してください。既存のエンドポイントの値を更新する方法については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の環境値の検索と置換に関する項を参照してください。
プロキシ・サービスとは、Oracle Service BusによってOracle WebLogic Serverのローカルに実装される仲介WebサービスのOracle Service Busでの定義です。プロキシ・サービスを定義する大部分のメタデータは、新しい環境にデプロイする際に変更する必要はありませんが、次の情報の更新が必要になることがあります。
プロキシ・サービスのメッセージ・フローでは、指定された宛先(ビジネス・サービス、他のプロキシ・サービスなど)にメッセージをルーティングします。新しい環境で、メッセージ・ルーティング定義の更新が必要になることがあります。
ファイル、FTPおよび電子メール・メッセージのタイプを持つプロキシ・サービスの定義では、クラスタでのポーリング実行時コンポーネントのデプロイメント用に単一の管理対象サーバーを指定する必要があります。管理対象サーバーのリストは、Oracle Service Busクラスタ・ドメインに対してのみOracle Service Bus管理コンソールに表示されます。
プロキシ・サービス定義に含まれるディレクトリ名は、新しい環境で更新が必要になることがあります。このリソースを使用環境にあわせて構成する方法については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の環境値の検索と置換に関する項を参照してください。
プロキシ・サービスの定義には、他のOracle Service Busリソースへの参照が含まれます。新しい環境で、参照の有効性を確認することが重要です。
プロキシ・サービスURLのJMSキューおよびJMS接続ファクトリは、更新が必要になることがあります。
各プロキシ・サービスは、ディスパッチ・ポリシーでOracle WebLogic Serverワーク・マネージャのインスタンスに依存します。ワーク・マネージャのインスタンスを本番環境の要件にあわせて調整できます。
ワーク・マネージャの詳細は、次の説明を参照してください。
『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明
『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのワーク・マネージャの使用に関する説明
プロキシ・サービスの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のプロキシ・サービス: 作成および管理に関する項を参照してください。
Oracle Service BusではWSDL (Web Service Definition Language)を使用して、プロキシ・サービスとビジネス・サービスを記述します。WSDLはWebサービスの内容、場所、呼出し方法の記述に使用されます。
プロキシ・サービスとビジネス・サービスは既存のWSDLファイルに基づいて定義することができ、Oracle Service Bus管理コンソールでサービスの構成を完了できます。サービスの定義の基になるWSDLファイルは、Oracle Service Busのリソースとして格納されます。これらのリソースを新しい環境にデプロイする場合、リソースを更新する必要はほとんどありません。Oracle Service Busでは、WSDLファイル内のURLを実行時に使用しないためです。
注意: Oracle Service Busでは、HTTPプロキシ・サービスごとに新しいWSDLファイルが作成されます。サービスのエンドポイントに?wsdl を追加すると、このWSDLファイルの内容を表示できます。たとえば、Oracle Service Busサンプル・サーバーを起動すると(「スタート」>「すべてのプログラム」>「Oracle Service Bus」>「サンプル」>「サンプル・サーバーの起動」)、loangateway2プロキシ・サービスのWSDLをhttp://localhost:7021/crejws_basic_ejb/loangateway2?wsdlで表示できます。 |
スキーマとは、XMLドキュメントの有効なコンテンツを定義するドキュメントです。スキーマはOracle Service Busで交換されるメッセージにXML情報を追加するときに使用されます。これらのリソースを新しい環境にデプロイする場合、更新の必要はほとんどありません。
Oracle Service Busでは、サービスやサーバーに接続するときに、サービス・アカウントを使用して認証が行われます。このリソースを本番環境で適切に使用する方法については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する項を参照してください。
Oracle Service Busでは、サービス・キー・プロバイダを使用して、プロキシ・サービスに資格証明レベルの検証を提供します。次のセキュリティ・タイプを使用できます。
SSLクライアント認証
デジタル署名
暗号化
Webサービス・セキュリティX509トークン
このリソースを使用環境にあわせて構成する方法については、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のサービス・キー・プロバイダに関する項を参照してください。
Oracle Service Busでは、Webサービス・ポリシー(WS-Policy)を使用して、Webサービス・セキュリティ・ポリシーをプロキシ・サービスとビジネス・サービスに関連付けます。このリソースを本番環境にあわせて構成する方法については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する項を参照してください。
これらのリソースを新しい環境にデプロイする場合、更新の必要はほとんどありません。
トランスフォーメーション・マップは、2つのデータ型の間のマッピングを記述したものです。Oracle Service Busは、XQueryまたはeXtensible Stylesheet Language Transformation (XSLT)標準のどちらかを使用したデータ・マッピングに対応しています。これらのリソースを新しい環境にデプロイする場合、更新の必要はほとんどありません。
メッセージ・フォーマット言語(MFL)は、フォーマットされたバイナリ・データをXMLデータに変換するルールを定義するOracle独自の言語です。MFLドキュメントを新しい環境にデプロイする場合、更新の必要はほとんどありません。
JAR (Java ARchive)は、一連のJavaクラスを含むzipファイルです。プログラムを構成する、コンパイル済のJavaクラスと関連メタデータの格納に使用します。JARはJavaコード要素用の呼出し可能なプログラム・ライブラリとして機能します(それぞれの要素に対して個別にバインディングを要求するのではなく、単一のコンピレーション・リンクが複数要素へのアクセスを提供します)。JARを新しい環境にデプロイする場合、更新の必要はほとんどありません。
アラート宛先リソースは、Oracle Service Busからのアラート通知を受信できる受信者のリストを取り込みます。一般的なシステム・モニター・コンテキストでは、Oracle Service Busにより生成されたアラートは、限られたユーザーのセットに対して非常に有用です。Oracle Service Busでは、指定されたコンテキストに応じて、それぞれのアラート宛先リソースに受信者のセットが含まれるよう設定できます。アラート宛先は、メッセージ・フローで構成されたアラート・アクション、およびSLAアラート・ルールで使用されます。アラート宛先には、次の宛先タイプの1つ以上を含めることができます。コンソール、レポート・データ・ストリーム、SNMPトラップ、アラート・ログ、電子メール、JMSキュー、JMSトピックです。電子メールやJMS宛先の場合は、宛先リソースにそれぞれ電子メール・アドレスまたはJMS URIのリストが含まれることがあります。アラート宛先を新しい環境にデプロイする場合、更新の必要はほとんどありません。
UDDIレジストリ・リソースは、Oracle Service Busで使用するUDDIレジストリの情報を格納するグローバル・リソースです。UDDIレジストリ・リソースを構成すると、対応するレジストリにOracleプロキシ・サービスをパブリッシュしたり、Oracleプロキシ・サービスで使用するビジネス・サービスをそこからインポートしたりできます。UDDIレジストリ・リソースを構成するには、アクティブ・セッションで作業する必要があります。UDDIレジストリ・リソースを新しい環境にデプロイする場合、更新または再構成を行う必要があります。デプロイメントの際のUDDIレジストリ・リソースの更新方法については、6.7項「グローバル・リソースの移行」を参照してください。
JNDIプロバイダ・リソースは、Oracle Service Busで使用するJNDIプロバイダのURL(クラスタ・デプロイメントの場合はURLのリスト)を記述する、JNDIプロバイダの定義です。グローバル・リソースであり、Oracle Service Busドメインを持つプロジェクト間で再利用できます。JNDIプロバイダが保護されている場合、JNDIプロバイダ・リソースの記述には、アクセスに必要なユーザー名とパスワードも保持されます。JNDIプロバイダ・リソースを新しい環境にデプロイする場合、更新または再構成を行う必要があります。デプロイメントの際のJNDIプロバイダ・リソースの更新方法については、6.7項「グローバル・リソースの移行」を参照してください。
SMTPサーバー・リソースは、Oracle Service Busで使用するSMTPサーバーのURLとポートを記述する、SMTPサーバーの定義です。グローバル・リソースであり、Oracle Service Busドメインを持つプロジェクト間で再利用できます。SMTPサーバーが保護されている場合、SMTPサーバー・リソースの記述には、アクセスに必要なユーザー名とパスワードも保持されます。SMTPサーバー・リソースは、アラート宛先リソースおよび電子メール・トランスポート・ベースのビジネス・サービスを構成するときに使用されます。SMTPサーバー・リソースを新しい環境にデプロイする場合、更新または再構成の必要があります。デプロイメントの際のSMTPサーバー・リソースの更新方法については、6.7項「グローバル・リソースの移行」を参照してください。
Oracle Service Busでは、JMSレポート・プロバイダによるメッセージ・レポート・データの格納はデータベース・リソースに依存します。データベースのパフォーマンスは、Oracle Service Bus全体のパフォーマンスを決定する要因の1つです。
データベースの調整の詳細は、データベース・ベンダーのドキュメントを参照してください。
ハードウェア、オペレーティング・システムおよびネットワーク・リソースは、Oracle Service Busパフォーマンスにとって重要な役割を果たします。デプロイメントでは、http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
にある「Oracle Fusion Middleware Supported System Configurations」に記述されたハードウェア要件とソフトウェア要件に従う必要があります。