(57)【要約】異なるソフトウェア・アプリケーションを相互接続するためのエンタープライズ・サービス・バス（ＥＳＢ）を実装しているミドルウェア内で、ＥＳＢによって提供されるサービスを拡張する方法およびシステムが開示される。エンド・クライアントからＥＳＢに届くすべての受信サービス要求は、１次サーバに転送されるだけでなく、全受信サービス要求のうちのすべて、または調整可能な一部分が、１つまたは複数の２次シャドウ・サーバに複製される。ＥＳＢによって受信される、１次サーバおよび２次シャドウ・サーバからのすべての応答が検証される。検証は、受信サービス要求ごとに、検証された単一の応答をエンド・クライアントへ転送することを含み、一方、すべての重複応答が破棄される。受信サービス要求の複製、およびすべての応答の検証が、ＥＳＢによって提供されるサービスを拡張し、たとえば、新たにインストールされたサーバをウォーム・アップし、新しいソフトウェア・アプリケーションを提起し、サーバのクラスタの動作の完全性を保証し、応答時間を最適化できるようにする。
2010524072.tif 000002
【特許請求の範囲】
【請求項１】
異なるソフトウェア・アプリケーションを相互接続するためのエンタープライズ・サービス・バス（ＥＳＢ）を実装しているミドルウェア内で、前記ＥＳＢによって提供されるサービスを拡張する方法であって、ＥＳＢ内の前記方法が、
エンド・クライアントからのすべての受信サービス要求を１次サーバ（１６０）に転送するステップと、
全受信サービス要求（２０５）のうちのすべて、または調整可能な一部分を、１つまたは複数の２次シャドウ・サーバ（１７０）に複製するステップと、
前記１次サーバからの応答（２６０）、および前記１つまたは複数の２次シャドウ・サーバからの応答（２７０）をすべて受信するステップと、
前記応答を検証するステップ（２５０）とを含み、前記検証するステップが、
受信サービス要求（２０５）ごとに、検証された単一の応答を前記エンド・クライアントに転送するステップ（２８０）と、
すべての重複応答を破棄するステップ（２５２）とをさらに含むことを特徴とする方法。
【請求項２】
前記応答を検証する前記ステップ（２５０）が、前記１次サーバから来る前記応答（２６０）を無条件に検証することで構成される方法であって、
前記１次サーバからの前記応答と比較して、前記２次応答において見られるすべての不一致をエラー・レポート（２５５）内にロギングするさらなる任意選択のステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記応答を検証する前記ステップ（２５０）が、すべての応答を相互に比較することにあり、すべての応答が同一の場合のみ検証が成功であることを特徴とする請求項１に記載の方法。
【請求項４】
検証する前記ステップが成功ではない場合、検証された単一の応答を転送する前記ステップが、エラー・メッセージ（２８５）を転送するステップに置換されることを特徴とする請求項１および３に記載の方法。
【請求項５】
前記応答を検証する前記ステップ（２５０）が、前記１次サーバから、あるいは前記１つまたは複数の２次シャドウ・サーバのうちのいずれかから、そのどちらから来るものであっても、最初に受信された応答を無条件に検証することで構成されることを特徴とする請求項１に記載の方法。
【請求項６】
請求項１から５のいずれか一項に記載されている方法のそれぞれのステップを実行するように適合された複製機手段（２１０）および検証機手段（２５０）を含むことを特徴とするシステム、特にエンタープライズ・サービス・バス（１５０）。
【請求項７】
請求項１から５のいずれか一項に記載されている、エンタープライズ・サービス・バス（１５０）によって提供される前記サービスを拡張する方法を少なくとも１つのコンピュータ（１５５）に運用させるためのコンピュータ可読コード手段を含むことを特徴とする、コンピュータ可読記憶媒体に格納されたコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるソフトウェア・アプリケーションの相互接続を目的とするミドルウェアのフレームワーク内で、エンタープライズ・サービス・バス（ＥＳＢ）によって提供されるサービスを拡張するための方法およびシステムに関する。
【背景技術】
【０００２】
ミドルウェアは、通常ネットワークを介して、異種のコンピューティング・プラットフォームにわたって実行していることがある異なるソフトウェア・コンポーネントまたはアプリケーションの相互接続を可能にする、コンピュータ・ソフトウェアのファミリである。ミドルウェアは、ウェブ・サーバ、アプリケーション・サーバ、コンテンツ管理システムなどの、複合分散アプリケーションをサポートするために、またより一般的には、どのような現代の大企業、会社、および組織の情報テクノロジ（ＩＴ）システムの一部であるすべてのソフトウェア製品およびツールもサポートするために、しばしば使用されている。ミドルウェアの使用はまた、新しいアプリケーションをより古いレガシー・システムに接続する問題へのソリューションとして認識されている。
【０００３】
そして、エンタープライズ・サービス・バス（ＥＳＢ）は、統合機能を提供するミドルウェア・サービスの収集から実装された、分散ソフトウェア・アーキテクチャである。通常ＥＳＢは、オープン・スタンダードに基づいて、より複雑なアーキテクチャの基盤となるサービスをイベント駆動型およびメッセージング・ミドルウェアを介して提供する。したがって、ＥＳＢが製品というよりも論理的な概念の場合でも、ＥＳＢは、システム機能をカプセル化してバスとアプリケーションとの間の抽象化層を提供するコネクタを介して、アプリケーションがこの論理的なバスに接続できるようにする。オープン通信規格の使用を通じて、多くの輸送媒体を通じてバスとアプリケーションとの間の接続性を与えることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の一般的な目的は、現在のＥＳＢアーキテクチャによって提供されるサービスを拡張することである。
【０００５】
本発明のより詳細な目的は、ＥＳＢサービスの実際の環境内で、ＥＳＢサービスを、アップデートされたまたは新しいソフトウェア・アプリケーションの提起、リソース・サイジング、および回帰のドメインに拡張する、複製動作モードを開示することである。
【０００６】
新しいサーバおよびアプリケーションのウォーム・アップなどの動作モード、トラフィック完全性検査モードを可能にすること、または重要なアプリケーションの応答時間を改善することも、本発明の一目的である。
【０００７】
本発明のさらなる目的、特徴、および諸利点は、添付の図面を参照して以下の説明を考察することによって、当業者に明らかになるだろう。どのような追加の諸利点も、本明細書に組み込むことが意図される。
【課題を解決するための手段】
【０００８】
本発明は、異なるソフトウェア・アプリケーションを相互接続するためのエンタープライズ・サービス・バス（ＥＳＢ）を実装しているミドルウェア内で、ＥＳＢによって提供されるサービスを拡張する方法およびシステムを説明する。エンド・クライアントからＥＳＢに届くすべての受信サービス要求は、１次サーバに転送されるだけでなく、全受信サービス要求のうちのすべて、または調整可能な一部分が、１つまたは複数の２次シャドウ・サーバに複製される。ＥＳＢによって受信される、１次サーバおよび２次シャドウ・サーバからのすべての応答が検証される。検証は、受信サービス要求ごとに、検証された単一の応答をエンド・クライアントへ転送することを含み、一方、すべての重複応答が破棄される。ある動作モードでは、応答の検証は、１次サーバから来る応答を無条件に検証することで構成され、その後、任意選択で、１次サーバからの応答と比較して、２次応答において見られるすべての不一致をエラー・レポート内にロギングする。他の動作モードでは、応答を検証することは、すべての応答を相互に比較して、すべての応答が同一の場合のみ検証は成功であるとみなすことにある。しかし成功ではない場合、検証された単一の応答を転送することが、エラー・メッセージを転送することに置換される。他の動作モードでは、応答を検証することは、１次サーバから、または２次シャドウ・サーバのうちのいずれかから、そのどちらから来るものであっても、最初に受信された応答を無条件に検証することで構成される。
【図面の簡単な説明】
【０００９】
【図１】エンタープライズ・サービス・バス（ＥＳＢ）を実装しているミドルウェアのフレームワーク内で行われる方がよい、本発明の環境を示す図である。
【図２】本発明のシャドウ動作モードを実装するために必要なコンポーネントを示す図である。
【図３】シャドウ・サーバがウォーム・アップされなければならない、本発明の第１アプリケーションを示す図である。
【図４】２次シャドウ・サーバ内で実行しているソフトウェア・アプリケーションを検証することを目的とする、本発明の他のアプリケーションを示す図である。
【図５】サーバのクラスタの動作の完全性を保証し、さらなる動作モードでは、応答時間を最適化することも可能にする、本発明の他のアプリケーションを示す図である。
【発明を実施するための形態】
【００１０】
本発明の以下の詳細な説明は添付の図面を参照する。この説明には例示的実施形態が含まれるが、他の実施形態も可能であり、本発明の精神および範囲から逸脱することなしに、説明された実施形態に変更が行われてもよい。
【００１１】
図１は、背景技術の項で説明したとおり、ミドルウェアのフレームワーク内で行われる方がよい本発明の環境、すなわち、一般的に異種のコンピューティング・プラットフォームにわたる、異なるソフトウェア・コンポーネントまたはアプリケーションを接続できるようにする製品（１４５）を示している。この図には、どのような現代企業の情報テクノロジ（ＩＴ）の中核も形成する、ウェブ・プラットフォーム（１１０）上のサーバから実行しているウェブ・アプリケーション、メインフレーム・コンピュータ上で実行しているレガシー・アプリケーション（１２０）、および他のすべてのアプリケーション（１３０）などの、分散アプリケーションが含まれている。したがってミドルウェア製品は、より大きなアプリケーションを作成するために、適合層（コネクタ（１４２））を介して複数のアプリケーションの接続を可能にすることを目的としている。これは、エンタープライズ・サービス・バス、すなわちＥＳＢ（１５０）と呼ばれるソフトウェア・ゲートウェイを作成するために、イベント駆動型および標準ベースのメッセージング・システム（１４０）を介して、相互接続輸送メディアまたはネットワークを介して行われる。さまざまな高度化レベルに実装されるが、どのようなＥＳＢの究極の目的も常に、調和して作業するためにすべてのエンタープライズ・アプリケーションを連合させることである。
【００１２】
本発明は、このフレームワーク内で、どのような標準コンピューティング・プラットフォーム（１５５）からも実行しているＥＳＢ（１５０）が、エンタープライズ・アプリケーションのエンド・ユーザと確立されたセッションを完全にまたは部分的に複製できる、トラフィック複製エンジンを含むことを想定する。実際にＥＳＢは、一意的に特定可能なエンド・ユーザからの、１日あたり非常に多数のサービス要求（１５２）を分散できるようにするので、セッションおよびエンド・ユーザ・ベースでトラフィック複製を使用可能にする、または使用不可にすることが可能である。トラフィック複製が使用可能にされた場合、完全ではないとしても、定義された割合で指定できる。
【００１３】
通常のトラフィックによってターゲットにされるアプリケーションは１次アプリケーションと呼ばれ、１次サーバ（１６０）から実行しているのに対して、複製トラフィックによってターゲットにされるアプリケーションは２次アプリケーションと呼ばれ、１つまたは複数の２次サーバ（１７０）から実行している。
【００１４】
トラフィック複製、２次アプリケーション、および２次サーバは、本発明の以下の説明において、さらにシャドウ動作モード、すなわち１組の２次すなわちシャドウ・サーバ（１７０）に送信するために、ＥＳＢが部分的または全体的に通常トラフィックを複製する能力を有するモードとも呼ばれる。したがって、シャドウ・モードが使用可能な場合、エンタープライズ・サービス・バス（１５０）によって受信される要求は数回送信されなければならず（１次サーバ（１６０）に１回）、また存在する２次すなわちシャドウ・サーバ（１７０）と同数だけ複製されなければならない。しかし、トラフィックのフローに関して、主な処理の違いは、破棄された、または検証メカニズムなどの他の処理によって使用された、２次サーバによって返された応答の取り扱いであり、これについては以下でさらに説明する。トラフィック複製は動的にアクティブ化できる。
【００１５】
図２は、シャドウ動作モードを実装するために必要なコンポーネントを示している。
【００１６】
シャドウ・モードのメカニズムは、トラフィック複製を担当する複製機（２１０）と、応答を収集して、（さらに説明する）実行動作モードのうちの１つに対応する処理をその応答に適用することを目的とする検証機（２５０）の、２つの主要コンポーネントに基づく。
【００１７】
したがって、複製機の役割は、ＥＳＢと１次アプリケーション（２２５）との間で確立されたセッション（２２０）ごとに、存在する２次サーバ（２３５）と同数の確立されたセッション（２３０）を作成して維持することである。したがって、要求（２０５）が複製機に届くたびに、要求のペイロードが複製されて、ターゲットにされたそれぞれの２次サーバ（２３５）に関する適切なセッション情報が複製機によって設定される。したがって複製機は、トラフィックを複製して２次アプリケーションとのセッションを管理する。トラフィックの複製は、全トラフィック値のわずかな割合に基づいて影響されうる。この割合は、２次アプリケーションに向けて複製されたセッションの数を参照する。
【００１８】
検証機コンポーネント（２５０）は、１次アプリケーションからの最初の応答（２６０）を含むすべての応答（２６０、２７０）の受信および取り扱いを担当する。検証機は、どの実行モードが設定されているかによって、受信された応答について異なる行動を取る。検証機は、重複応答は破棄される（２５２）という事実を共有する、４つの特定の動作モードを有する。その動作モードは、以下のとおりである。
―トラフィック複製だけのモードでは、検証機が２次アプリケーションから来るすべての応答（２７０）を破棄し、したがって、１次アプリケーションの応答だけをクライアント・アプリケーションに転送する（２８０）。
―トラフィック回帰モードでは、検証機がすべての２次応答（２７０）を１次サーバから来る応答（２６０）と比較する。これは、常にクライアント・アプリケーションに返される（２８０）、１次サーバ応答である。２次応答のうちのいずれも１次応答と一致しない場合、対応するエントリが回帰レポート（２５５）内に追加される。２次サーバからのすべての応答が破棄される。
―トラフィック完全性検査モードでは、検証機が、すべての受信応答を、それが１次（２２５）から、または２次サーバ（２３５）からのどちらから来るものでも互いに比較する（２６０、２７０）。それらの応答がすべて同じ場合、それらの応答のうちの１つが選ばれてクライアント・アプリケーションに返され、その他の応答は破棄される。それらの応答がすべて同じではない場合は、クライアント・アプリケーションにエラー・メッセージが発行される（２８５）。
―応答時間最適化モードでは、検証機が、１次または２次サーバのうちのいずれかから受信した最初の応答を返す。最初の問い合わせへの、すべての後続の応答は破棄される。
【００１９】
図３は、使用不可にされなければならないアクティブ・サーバを最終的に置換するために、またはクラスタの全体的なコンピューティング容量を増加させるために、たとえば、サーバのクラスタ内でセットアップされた後に、シャドウ・サーバ（３７０）がウォーム・アップされなければならない、本発明の第１アプリケーションを示している。実際に電源を入れると、新たに導入されたサーバの性能がすぐにアクティブなサーバ（３６０）と同等になるようにするためには、サーバ・キャッシュ（３７４）を（好ましくは実際のトラフィック上に）実装してからでないと、新しいサーバを実際にアクティブ化できない。本発明のこのアプリケーションでは、トラフィックが複製されて、１つまたは複数のスタンバイ・アプリケーションに送信される。したがって、スタンバイ・アプリケーションは、自身のローカル・キャッシュを実装するために、複製されたトラフィックを使用することが予測される。実際のトラフィックに基づいて、スタンバイ・アプリケーションのキャッシュを実装できるようにすることによって、シャドウ・サーバ内で実行している１つまたは複数の２次アプリケーションをウォーム・アップするために使用されるこのモード（すなわち、トラフィック複製だけのモード）では、２次アプリケーションによって返されたすべての応答はＥＳＢによって破棄されるにすぎない（３７６）。アプリケーション・キャッシュが十分に満たされている場合、複製は停止され、代わりに実際のトラフィックが送信される。それぞれの関連するシャドウ・サーバは、シャドウ・サーバが通常のトラフィックのシェアを取り扱う積極的役割を開始できるように、ＥＳＢにウォーム・アップ段階の完了を知らせる必要がある。
【００２０】
図４は、たとえば、対応するサービスをエンド・クライアントに実際に送達する前に、またはアップグレードされたソフトウェアが製品に導入される前に、配置されたリソースおよび容量が十分かどうかを評価するために、シャドウ・サーバ内で実行している新しいまたはアップグレードされたソフトウェア・アプリケーションを検証することを目的とする、本発明の他のアプリケーションを示している。このモード（すなわち、トラフィック回帰モード）では、ＥＳＢがトラフィックも複製する。さらに、２次アプリケーションから受信する応答を検証するために、１次アプリケーションから返ってくるそれぞれの応答と比較する必要がある（４５２）。前のモード同様、検証段階の間に、２次アプリケーションからのすべての応答も破棄される（４７６）。すべての観測される不一致または予期せぬ行動は、検証レポートに記録される（４５４）。
【００２１】
図５は、トラフィック完全性検査モードのアプリケーションを示している。前のアプリケーション同様、それぞれのサービス要求が、シャドウ・サーバ（５７０）内で実行している１つまたは複数の２次アプリケーションに複製される。ＥＳＢが１次および２次アプリケーションからのすべての応答を収集後、それらの応答を比較する（５５４）。すべての応答が同一の場合、応答のうちの１つ（５５６）がエンド・ユーザに返され、同一でない場合はエラー・メッセージが転送される（４５８）。すべての重複応答は破棄される（５７６）。
【００２２】
応答時間最適化モードでは、他のモードと同様、トラフィックが複製されて、シャドウ・サーバ内の１つまたは複数のアプリケーションにアドレス指定される。しかしこのモードでは、ＥＳＢに到達する最初の応答が、１次アプリケーションから、または２次アプリケーションのいずれかから、そのどちらから発行されたものでも、すぐにエンド・ユーザに返される。後続の応答は破棄される。
【図１】
2010524072.tif 000003
【図２】
2010524072.tif 000004
【図３】
2010524072.tif 000005
【図４】
2010524072.tif 000006
【図５】
2010524072.tif 000007
【国際調査報告】
2010524072.tif 000008
2010524072.tif 000009
2010524072.tif 000010