Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service オラクル ホワイト ペーパー 2006 年 10 月
注意 : この文書は 一般的な製品用に概説したもので 情報提供のみを目的としており いかなる契約も意図するものではなく また いかなる契約にも組み込まれるものではありません 何らかの資料 コードまたは機能を提供する意図はありません また 購入決定を行う際に その根拠として使用しないでください ここで記述される Oracle 製品に関する特徴や機能の開発 リリース 実現時期については オラクル社の判断に委ねられます Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 2
Oracle Enterprise Messaging Service 概要 基幹業務アプリケーションがクライアント / サーバーからインターネット コンピューティング アーキテクチャへと進化し複雑化するにつれ 多くの IT 部門は 断片化したミドルウェア インフラストラクチャを組み合せた基幹業務アプリケーションを配置してきました その結果 今日ではそのような複雑なミドルウェアが企業の IT コストの約 50% を占めています また 企業の 60% が 使用しているエンタープライズ アプリケーション インフラストラクチャはビジネス要件を満たすうえで障害になっていると考えています これらのインフラストラクチャ上に構築されたアプリケーションは ユーザーにとって扱いにくいため 生産性とパフォーマンスに悪影響を与えてきました このため 企業は (i) 柔軟なアプリケーション (ii) 適合性の高いビジネス プロセス (iii) 実用的なビジネスの理解 (iv) 統合された情報管理 (v) オンラインのコラボレイティブな職場 (vi) より高いセキュリティと所有エクスペリエンスが得られるアプリケーション インフラストラクチャを必要としています その解決策として 特に柔軟なアプリケーションと柔軟なビジネス プロセスを実現するために 企業は適切に定義されたインタフェースを使用して 柔軟性のないクローズ システムからモジュール型のオープン システムへと アプリケーションを進化させています サービス指向アーキテクチャ (SOA) と呼ばれる この新しいアプリケーション アーキテクチャでは 新規アプリケーションの設計や開発方法と既存のビジネス アプリケーションとを統合する方法が基本的に異なります 次に示す Oracle Fusion Architecture は SOA 上に構築されています 次世代のインフラクストラクチャを作成するための青写真を提供することで これまでに特定された様々なニーズに対応します Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 3
このアーキテクチャの主要な方針は次のようなものです 1) 最高度の生産性とカスタマイズ可能性を提供するためのモデル駆動型のアプリケーションおよびビジネス プロセス 2) 高度な柔軟性と再利用可能性を提供するためのサービスおよびイベント対応型のアプリケーション 3) 意思決定をリアルタイムに行い ビジネス業務を最適化するための実用的なインテリジェンス 4) 低コストのハードウェアでメインフレームで QoS が提供可能なグリッド 5) シームレスな導入を可能にするために 異機種間のアプリケーションおよびテクノロジ環境において標準ベースでポータブルかつプラッガブルであること Oracle Fusion Architecture は 顧客が関心事として従来 SOA が対応できなかった一部の重要な追加要件にも対応します 要件とは たとえば 実用的な洞察を得るための情報の活用方法 人材 プロセスおよびシステムをリンクするコラボレイティブな職場の構成方法 統一サービスと識別情報管理を通じた より強固なセキュリティの実現方法 サービスに対して稼働時にメインフレーム QoS を提供する方法 これらを低コストの汎用ハードウェアで実現する方法などです Oracle Fusion Middleware により 包括的なテクノロジの基礎を提供する 標準ベースのミドルウェア コンポーネントの統一化された総合スイート (APS: Application Platform Suite) を備えた Oracle Fusion Architecture が有効化されます Oracle Fusion Middleware のアーキテクチャを 次の図に示します Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 4
はじめに Oracle Enterprise Messaging Service(OEMS) は SOA 環境に分散型および異種のアプリケーションを構築 統合 デプロイするためのオープンでプラッガブルなアーキテクチャを提供します OEMS は スタンドアロンのメッセージ システムであるだけでなく Oracle Fusion Middleware の ESB(Enterprise Service Bus) や BPEL Process Manager コンポーネントの基礎になるメッセージング インフラストラクチャを形成します OEMS は メッセージングと統合の要件である信頼性 スケーラビリティ セキュリティ シームレスな統合 ローカル サイトとリモート サイトの管理などのニーズを満たし これらすべてをオープンな標準プラットフォーム上に構築します 単に新しいメッセージ ベースのソリューションのためのプラットフォームを提供するだけではなく オープンな標準の上に構築されたプラッガブルなフレームワークを通じて 既存のメッセージ インフラストラクチャとのシームレスな統合も実現します メッセージ ベースの通信は SOA 内のサービスの疎結合を活用するため SOA インフラストラクチャでは OEMS が不可欠です 次のセクションでは コストを低減し 分散アプリケーションの開発や統合の複雑さを軽減できる Oracle Enterprise Messaging Service の包括的な機能スイートについて説明します 機能内容 このホワイト ペーパーでは Oracle Enterprise Messaging Service の 3 つの主要な機能について説明します 1. メッセージングの開発と統合を行うための 単一で標準ベースの API Java Message Service および J2EE Connector Architecture 2. メッセージ永続性を保つための高品質サービス インメモリー ファイル ベース または Oracle Database 3. Oracle 以外のメッセージング システムとのシームレスな統合 WebSphereMQ Tibco Enterprise JMS および SonicMQ 開発の容易性 Java Message Service 1.1 および J2EE Connector Architecture 1.5 のオープン標準をサポートしています 独自仕様の API は 多くの専門知識が必要なうえ顧客をベンダーのインタフェースに固定することになるため 習得が困難で開発に多大なコストがかかる場合があります オラクル社は 顧客に対して アプリケーションの開発と統合にオープン標準へのアクセスを提供することに専念しています Oracle Enterprise Messaging Service は Java 2 Enterprise Edition(J2EE) 標準 Java Message Service (JMS) および J2EE Connector Architecture(J2CA) により 機能を公開します OEMS は JMS 1.1 および 1.0.2b のみならず J2CA 1.5 仕様もサポートしています 標準へのコミットメントにより 統合および分散されたアプリケーションの構築やメンテナンスに必要な開発にかかる時間 コスト 労力が削減されます Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 5
図 1: Oracle EMS アーキテクチャ 図 1 に OEMS のアーキテクチャを示し JMS を OEMS の単一のインタフェースとして強調表示します また Oracle 以外のメッセージ システムとの統合用として 永続的なオプションと各種のプラッガブル オプションも描かれています OEMS JMS インタフェースは 開発者に対し永続メッセージのための高品質サービス オプションを 3 つ提供します メッセージの可用性 信頼性 パフォーマンスの要件に応じて メッセージをメモリー内に常駐させたり ファイル システムに常駐させたり または Oracle Database に格納したりできます JMS アプリケーション コードの変更に頭を悩ませることなく 使用するサービス品質を容易に再設定できます 単一でオープンなインタフェースと永続性のオプションの組合わせにより アプリケーションの開発において他に類のない柔軟性が得られます 高品質サービス OEMS は永続メッセージの高品質サービス オプションを提供します 組織やプロジェクトには それぞれ固有の永続メッセージ データの要件があります Oracle Enterprise Messaging Service は メッセージの永続性に関して 設定が容易な次の 3 つのオプションを提供します 1. インメモリー 2. ファイル ベース 3. Oracle Database 永続性の各オプションは 図 2 に示すように メッセージの可用性とリカバリに関する特定のプロパティ セットを提供します 軽量ソリューションでは インメモリーの永続メッセージまたはファイル システムの永続メッセージが選択できますが Oracle Database はより堅固な永続性オプションを提供します Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 6
図 2: メッセージ永続性のオプション 永続性オプションで Oracle Database を選択すると メッセージは Oracle Database 内の Streams Advanced Queuing(AQ) メッセージ システムに保存されます 様々な OEMS JMS API の拡張機能があり AQ の機能を活用できます これらの拡張機能の一部には XMLType データ型のサポート メッセージの保存と履歴 RAC および TAF フェイルオーバー機能などがあります プラッガブル統合オプション OEMS は Oracle 以外の既存のメッセージング インフラストラクチャとシームレスに統合するための柔軟なオプションを複数提供しています OEMS は 分散メッセージング ソリューションの開発ツールを提供するだけでなく Oracle プラットフォームと Oracle 以外をベースとした既存のメッセージ ソリューションとを統合するための包括的な機能セットも提供します これらのシームレスな統合オプションにより SOA 要件に最適な機能を柔軟に判別できます Oracle 以外のJMSメッセージ システムとの直接的な統合が必要なOracle Container for J2EE(OC4J) にメッセージ ベースのアプリケーションをデプロイする場合 OEMS JMSコネクタは このような統合を実現するための最適な機能を提供します Destinationsが異機種メッセージ システムの一部であっても JMS Destination 間でのデータのやり取りが必要な場合があります OEMS JMSルーターを使用すると 3 つのOEMS 永続オプションのいずれかと Oracle 以外のサポートされているJMS プロバイダ間でメッセージを確実に伝播できます JMSルーターの追加機能では JMSメッセージのコンテンツに基づいて動的にメッセージをルーティングする機能をサポートしています JMS コネクタと JMS ルーターは 両方とも Oracle Fusion Middleware 10g R3 で使用可能です Oracle Messaging Gateway(MGW) は Oracle 以外のJMSとOracle Database 10gとをブリッジします Orcle 以外のメッセージ プロバイダとStreams Advanced Queuing (AQ) との間では メッセージをMGW 経由でOracle Database 内に伝播できます Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 7
Enterprise Messaging の統合 JMS Connector IT 部門が J2EE プラットフォームに分散アプリケーションをデプロイすると これらのアプリケーションは既存のメッセージング インフラストラクチャとの統合が必要になることがあります JMS コネクタは OEMS インフラストラクチャだけではなく Oracle 以外の JMS プロバイダへのアクセスに必要な機能も提供します JMS コネクタは J2EE 標準の Java 2 Connector Architecture(J2CA) に基づいて構築されています この標準の JCA 1.5 バージョンでは JMS プロバイダと任意の J2EE アプリケーション サーバーとを統合する方法が定義されています オラクルは JMS コネクタと呼ばれる JMS JCA Resource Adapter の汎用バージョンを作成しました JMS コネクタは OEMS に次の 2 つの重要な機能を提供します 1. OEMS JMS の永続性オプションのインメモリー ファイルシステム およびデータベースの統合パス 2. OC4J および Oracle 以外の JMS プロバイダにデプロイされた J2EE アプリケーションとの間のシームレスな統合 図 3 に OC4J 内にデプロイされた JMS コネクタを示します この図では Message Driven Beans(MDB) または任意の JMS 対応コンポーネントを介して OEMS JMS プロバイダまたは Oracle 以外のサポートされている任意の JMS プロバイダのいずれかとの統合が実現しています JMS コネクタとの統合により OEMS JMS 実装および Oracle 以外の JMS プロバイダは 接続プーリング MDB による変動メッセージ負荷への対応機能 動的モニタリング より高いパフォーマンスやリソース使用率を得るための管理機能などを活用できます JMS コネクタの主要な利点は OC4J MBean と Oracle 以外のサポートされている JMS プロバイダとの統合です JMS コネクタは 任意の JMS 1.1 メッセージ プロ図 3: JMS コネクタバイダで動作するよう設計された汎用の JMS J2CA 1.5 リソース アダプタです Oracle では次をテスト済みで その動作を保証します 1. WebSphereMQ 6.0 および 5.3 2. SonicMQ 6.0 3. Tibco EMS 3.1.0 および 4.3.0 Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 8
格納と転送 JMS ルーター JMS コネクタを使用すると OC4J コンテナで実行されている JMS アプリケーション コードを Oracle 以外の JMS プロバイダと直接統合できます ただし同一セットの Oracle 以外の JMS プロバイダとの統合には 異なるオプションが提供されます JMS ルーターは JMS コードと Oracle 以外の JMS プロバイダとを直接統合するのではなく OEMS JMS 宛先と Oracle 以外の JMS 宛先間でメッセージ ブリッジとして動作します 混合 JMS メッセージング システムによる異機種間環境において SOA 環境内の分散アプリケーション間の基礎的な非同期通信を提供することは珍しいことではありません この環境では JMS 宛先間でメッセージの移動が必要です このルーティングのエンド ポイントは 異なるベンダー製の JMS システムの場合がよくあります JMS ルーターを使用すると ソースとターゲットの JMS 宛先間でメッセージをルーティングする設定をするだけで これらの混合 JMS 宛先間でメッセージが伝播できます 図 4 では 直接 JMS 宛先にエンキューおよびデキューする JMS アプリケーション コードを示しています JMS ルーターは 次のサポート対象の JMS プロバイダ間でメッセージを伝播するメッセージ ブリッジとして動作しています 1. WebSphereMQ 6.0 および 5.3 2. SonicMQ 6.0 図 4: JMS ルータ 3. Tibco EMS 3.1.0 および 4.3.0 SOA のサポートサービス指向アーキテクチャ (SOA) は 本質的にフルタイム接続のサービス 不定期接続のサービス または一定期間接続されないサービスと疎結合されています このような環境では 適切な消費者にメッセージを転送するために 切断されたサービスがメッセージまたはイベント駆動型アーキテクチャ (EDA) 内のイベントを保存できることが重要です JMS ルーターは メッセージ作成サービスによって一定期間メッセージを格納できるため SOA 環境で重要な役割を果たします JMS ルーターは 消費サービスが使用可能な時期を検出して 格納されたメッセージの転送を開始します SOA 環境では 転送されたデータのコンテンツに基づいて メッセージまたはイベントをルーティングできることも重要です JMS ルーターは コンテンツ ベースのルーティングもサポートしています Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 9
コンテンツ ベースのルーティング JMS ルーターは 2 つの JMS プロバイダ間のメッセージ ブリッジを提供するように構築されていますが JMS ヘッダー JMS プロパティ または JMS メッセージの本文のコンテンツに基づいてメッセージをルーティングする設定もできます この追加された柔軟性により SOA ベースや EDA ベースの環境を構築する際にオプションの機能が増強されます JMS ルーターを設定することにより 使用するメッセージを消費サービスの選択セットに転送できます Oracle DB とのメッセージ統合 メッセージ ゲートウェイ メッセージ ゲートウェイは Streams AQ の拡張です これを使用すると Oracle 以外のメッセージ システムを Oracle Database と直接統合できます 顧客には Oracle 以外のメッセージ システムのデータを直接 Oracle Database に統合したい場合がよくあります Streams Advanced Queuing(AQ) の拡張機能である Oracle Messaging Gateway(MGW) は このシームレスな統合を実現します AQ と同様の管理インタフェースを使用して AQ を熟知した開発者は 迅速かつ簡単にこれらの Oracle 以外のメッセージ システムとの統合を実現できます MGW で必要なことは ソースおよびターゲットの宛先が常駐している場所を指定するだけでメッセージの伝播を開始できるように構成することです MGW は Oracle Database と AQ の一部であるため 永続性をサポートする Oracle 以外のメッセージ システムへの メッセージの 1 回限りの配信を保証します MGW は 双方向のメッセージ伝播をサポートしています MGW の他の機能では Oracle Database 固有のメッセージ形式 自動およびユーザー定義によるメッセージ変換 RAC フェイルオーバー サポート AQ と同様の管理インタフェースをサポートしています MGW は 次のメッセージ システムとの動作が保証されています WebSphere MQ 6.0 および 5.3 Tibco Rendezvous 7.3 * Oracle Database の将来のリリースでは MGW は Microsoft の MSMQ をサポートする予定です 図 5: Oracle Messaging Gateway Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 10
管理と監視 Oracle Enterprise Manager を使用すると OEMS の包括的な管理およびモニタリングが可能になります 分散デプロイメントによる SOA 環境では インフラストラクチャを効率的に管理し メトリックをリアルタイムでモニタリングできる機能が重要になります ビジネスや用途のパターンの変化 予定外の負荷 パフォーマンスのボトルネック その他の予期せぬイベントなどへの対応の必要性は 簡単に検知できることが必要です 問題が特定されたら これらのイベントへの対応に必要な設定やデプロイメントの変更を行う手段は直観的でなければなりません Oracle Enterprise Manager(EM) は Oracle Enterprise メッセージ サービスを包括的で効率的に管理 監視するツールを提供します 管理と監視を行うための単一ポイントにより すべての JMS 宛先 コネクション ファクトリ ならびに JMS コネクタ JMS ルーターと統合された Oracle 以外のメッセージ プロバイダのグリッド全体のビューが提供されます この単一インタフェースを使用すると 管理者は分散環境全体の OEMS を 1 箇所で設定できます 図 6: Oracle Enterprise Manager 10g Application Server Control は OEMS を管理 監視するための単一のインタフェースを提供します 分散環境で検知された問題点に対処するために 本番環境の設定と管理を変更することはよくあります Oracle Enterprise Manager の使用により OEMS のリアルタイム メトリックを容易に監視できます 図 6 では OEMS のパフォーマンスに重要な情報を提供する多数のメトリックを素早く表示して リアルタイムでトラブルシューティングを決定する方法を示しています Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 11
顧客のプルーフポイント Agile Software Corporation Agile Software は 製品ライフサイクルの規制準拠に効率性と確実性を必要とする 自動車 航空宇宙と防衛 エレクトロニクス 消費財など広範な業界の 10,000 件以上の顧客に Product Lifecycle Management(PLM) ソリューションを提供しています Agile によるメッセージングの要件は 非常に厳しいものです 何千人ものユーザーを処理する 高パフォーマンスでコスト効率の高いメッセージング プラットフォームが必要であるため Agile は OEMS JMS ファイル ベースのソリューションを選択しました OEMS JMS は クラスタ間でキャッシュを同期して電子メール通知をユーザーに送信する場合など 様々な領域で使用されています Agile Software 社のエンジニアリング主任 Venkat Tipparam 氏は 次のように述べています Oracle Enterprise Messaging Service を使用するという決定は簡単でした Oracle は 設定済の高品質 JMS 実装を提供しており 使用感も非常に良いものです 結論 分散アプリケーションの構築 統合 メンテナンスは コストや時間がかかるプロジェクトになりがちです 通常これらのプロジェクトでは 実証済みのメッセージング インフラストラクチャ上での新機能の開発と 既存の異機種間メッセージング インフラストラクチャとの統合の組合せを伴います Oracle Enterprise Messaging Service では オープン標準に基づいた包括的なメッセージング環境を提供することで SOA ベースの環境におけるアプリケーションの開発 統合 およびデプロイを実現します この実証済みのテクノロジは 多数の企業の顧客が利用するようになるパフォーマンス スケーラビリティおよび信頼性を提供します Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 12
Oracle Fusion Middleware 10g R2 Oracle Enterprise Messaging Service 2006 年 10 月著者 : John Lang 寄稿者 : Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 www.oracle.com Copyright 2006, Oracle. 無断転載を禁ず この文書はあくまで参考資料であり 掲載されている情報は予告なしに変更されることがあります オラクル社は 本ドキュメントの無謬性を保証しません また 本ドキュメントは 法律で明示的または暗黙的に記載されているかどうかに関係なく 商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません オラクル社は 本書の内容に関していかなる保証もいたしません また 本書により 契約上の直接的および間接的義務も発生しません 本書は 事前の書面による承諾を得ることなく 電子的または物理的に いかなる形式や方法によっても再生または伝送することはできません Oracle JD Edwards PeopleSoft および Retek は Oracle Corporation および関連会社の登録商標です 他の製品名は それぞれの所有者の商標です