(57)【要約】【課題】情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援する。【解決手段】アプリケーション・サーバ２００Ａは、処理要求と処理要求に係る処理を特定するキー・データとを送信する。ＥＳＢサーバの処理方式変換部１３０は、この処理要求とキー・データとを受信し、処理要求をアプリケーション・サーバ２００Ｂへ送信する。そして、アプリケーション・サーバ２００Ｂから処理結果を取得すると、この処理結果をキー・データに関連付けて保存する。アプリケーション・サーバ２００Ａは、処理結果を取得するための結果要求とキー・データとを送信する。処理方式変換部１３０は、結果要求に付与されたキー・データに基づき、このキー・データに関連する処理結果を特定し、アプリケーション・サーバ２００Ａへ送信する。【選択図】図２
2014010703.tif 000002
【特許請求の範囲】
【請求項１】
データ処理の実行を外部システムに要求するための処理要求を送信し、当該データ処理の処理結果を取得するための結果要求を送信し、当該処理結果を含む結果応答を受信する第１情報処理装置と、
前記第１情報処理装置からの処理要求を受信し、当該処理要求に応じて前記データ処理を実行し、処理結果を返送する第２情報処理装置と、
前記第１情報処理装置と前記第２情報処理装置との連携を支援する連携支援装置と、を備え、
前記第１情報処理装置は、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報を、前記処理要求および前記結果要求と共に、前記連携支援装置へ送信し、
前記連携支援装置は、
前記第１情報処理装置および前記第２情報処理装置との間でデータ通信を行う通信部と、
前記処理要求および前記結果要求と、前記処理結果とを関連付ける関連付け処理部と、
前記第２情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第２情報処理装置から受信した前記処理結果を、前記第１情報処理装置から前記処理要求と共に受信した前記要求処理識別情報に関連付けて、前記記憶部に保存し、
前記第１情報処理装置から前記結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第１情報処理装置へ送信する、システム。
【請求項２】
前記連携支援装置の前記関連付け処理部は、
前記第１情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第２情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第２情報処理装置へ送信し、
前記第１情報処理装置から前記処理要求と共に受信した前記要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第２情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存する、請求項１に記載のシステム。
【請求項３】
前記連携支援装置は、前記第１情報処理装置から前記結果要求と前記要求処理識別情報とを受信した際に、当該要求処理識別情報に関連付けられた前記処理結果が前記記憶部に保存されていない場合、当該処理結果が無いことを示す通知を、当該第１情報処理装置に対して行う、請求項１または請求項２に記載のシステム。
【請求項４】
データ処理の実行を外部システムに要求する第１情報処理装置と当該データ処理を実行する第２情報処理装置との連携を支援する装置であって、
前記第１情報処理装置および前記第２情報処理装置との間でデータ通信を行う通信部と、
前記第１情報処理装置から受信した、前記データ処理の実行を前記第２情報処理装置に要求する処理要求と、前記第２情報処理装置から受信した、当該処理要求に基づくデータ処理の処理結果とを関連付ける関連付け処理部と、
前記第２情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第２情報処理装置から受信した前記処理結果を、前記第１情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、前記記憶部に保存し、
前記第１情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第１情報処理装置へ送信する、装置。
【請求項５】
前記関連付け処理部は、
前記第１情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第２情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第２情報処理装置へ送信し、
前記第１情報処理装置から前記処理要求と共に受信した前記要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第２情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存する、請求項４に記載の装置。
【請求項６】
前記通信部は、前記第１情報処理装置から前記結果要求と前記要求処理識別情報とを受信した際に、当該要求処理識別情報に関連付けられた前記処理結果が前記記憶部に保存されていない場合、当該処理結果が無いことを示す通知を、当該第１情報処理装置に対して行う、請求項４または請求項５に記載の装置。
【請求項７】
データ処理の実行を外部システムに要求する第１情報処理装置と当該データ処理を実行する第２情報処理装置との連携を支援する装置であって、
前記第１情報処理装置および前記第２情報処理装置との間でデータ通信を行う通信部と、
前記第１情報処理装置から受信した、前記データ処理の実行を前記第２情報処理装置に要求する処理要求と、前記第２情報処理装置から受信した、当該処理要求に基づくデータ処理の処理結果とを関連付ける関連付け処理部と、
前記第２情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第１情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第２情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第２情報処理装置へ送信し、
前記第１情報処理装置から前記処理要求と共に受信した当該処理要求の対象となるデータ処理を特定するための要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第２情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存し、
前記第１情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第１情報処理装置へ送信する、装置。
【請求項８】
データ処理の実行を外部システムに要求する第１情報処理装置と当該データ処理を実行する第２情報処理装置との連携を支援する方法であって、
前記第１情報処理装置と前記第２情報処理装置との間のデータ通信を中継する連携支援装置が、前記第１情報処理装置から受信した、前記データ処理の実行を前記第２情報処理装置に要求する処理要求を、前記第２情報処理装置へ送信するステップと、
前記連携支援装置が、前記第２情報処理装置から受信した前記処理要求に基づくデータ処理の処理結果を、前記第１情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存するステップと、
前記連携支援装置が、前記第１情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶装置に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定するステップと、
前記連携支援装置が、特定した前記処理結果を、前記第１情報処理装置へ送信するステップと、
を含む、方法。
【請求項９】
データ処理の実行を外部システムに要求する第１情報処理装置と当該データ処理を実行する第２情報処理装置との間のデータ通信を中継し、当該第１情報処理装置と当該第２情報処理装置との連携を支援するコンピュータを制御するプログラムであって、
前記コンピュータに、
前記第１情報処理装置から受信した、前記データ処理の実行を前記第２情報処理装置に要求する処理要求を、前記第２情報処理装置へ送信する処理と、
前記第２情報処理装置から受信した前記処理要求に基づくデータ処理の処理結果を、前記第１情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存する処理と、
前記第１情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶装置に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定する処理と、
特定した前記処理結果を、前記第１情報処理装置へ送信する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理システムによる連携を支援するシステム、装置および連携方法に関する。
【背景技術】
【０００２】
複数のサーバを接続し、連携させて処理を行ったり、サービスを提供したりすることが行われている。このようなシステムを構成する各サーバ上の情報処理システムは、必ずしも共通の仕様により処理を行っているとは限らない。そこで、情報処理システムの連携を容易にするために、ＥＳＢ（Enterprise Service Bus）やＥＡＩ（Enterprise Application Integration）等、各サーバの情報処理システムにおける仕様の差異を吸収する仕組みが提供されている。
【０００３】
このＥＳＢやＥＡＩ等のいわゆるインテグレーション・ミドルウェアは、メッセージフォーマットの変換、プロトコル変換、ルーティング処理等の機能を実装している。このようなミドルウェアを介在させることにより、各情報処理システム間で異なるメッセージフォーマットやプロトコルを使用していても、その際を意識することなく接続し、動作を連携させることができる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５２４０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の情報処理システムを連携させようとする場合、システム間において、メッセージフォーマットやプロトコルだけでなく、各システムが採用する処理方式（通信方式）が異なることがある。例えば、一つの情報処理システムがポーリング方式を採用し、他の一つの情報処理システムがコールバック方式を採用している場合等がある。この場合、そのままでは、両システム間で情報をやり取りすることができないため、処理方式の差異を解消する必要がある。
【０００６】
しかし、連携させようとする他の情報処理システムの処理方式に対応するためにシステム構成を改変することは、余計な作業コストを発生させる。さらに、情報処理システムに、システム本来の動作に関するロジックに加えて、処理方式を変換するためのロジックを実装することになるため、システムの処理自体も煩雑になる。
【０００７】
また、情報処理システムを開発する際に、種々の情報処理システムとの連携の可能性を考慮して、様々な処理方式に対応するようにシステムを構築するとすれば、システム開発における手間を増大させ、開発効率を低下させる。
【０００８】
本発明は、上記の課題に鑑み、情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援するシステム、装置およびその連携方法を実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明は、次のようなシステムとして実現される。このシステムは、データ処理の実行を外部システムに要求するための処理要求を送信し、このデータ処理の処理結果を取得するための結果要求を送信し、処理結果を含む結果応答を受信する第１情報処理装置と、この第１情報処理装置からの処理要求を受信し、この処理要求に応じてデータ処理を実行し、処理結果を返送する第２情報処理装置と、第１情報処理装置と第２情報処理装置との連携を支援する連携支援装置と、を備える。そして、第１情報処理装置は、処理要求の対象となるデータ処理を特定するための要求処理識別情報を、処理要求および結果要求と共に、連携支援装置へ送信する。連携支援装置は、第１情報処理装置および第２情報処理装置との間でデータ通信を行う通信部と、処理要求および結果要求と、処理結果とを関連付ける関連付け処理部と、第２情報処理装置から取得した処理結果を記憶する記憶部と、を備える。関連付け処理部は、第２情報処理装置から受信した処理結果を、第１情報処理装置から処理要求と共に受信した要求処理識別情報に関連付けて、記憶部に保存し、第１情報処理装置から結果要求と共に受信した要求処理識別情報に基づいて、記憶部に保存されている処理結果のうち、要求処理識別情報に関連付けられている処理結果を特定し、特定した処理結果を、通信部により、第１情報処理装置へ送信する。
【００１０】
より詳細には、連携支援装置の関連付け処理部は、第１情報処理装置から受信した処理要求に、処理要求に基づいて第２情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、処理要求と実行処理識別情報とを、通信部により、第２情報処理装置へ送信し、第１情報処理装置から処理要求と共に受信した要求処理識別情報と実行処理識別情報とを関連付けて、記憶部に保存し、第２情報処理装置から処理要求に基づくデータ処理の処理結果と共に受信した実行処理識別情報に基づき、実行処理識別情報に関連付けられている要求処理識別情報を特定し、特定された要求処理識別情報と実行処理識別情報と処理結果とを関連付けて、記憶部に保存する。
【００１１】
また、好ましくは、連携支援装置は、第１情報処理装置から結果要求と要求処理識別情報とを受信した際に、この要求処理識別情報に関連付けられた処理結果が記憶部に保存されていない場合、処理結果が無いことを示す通知を、第１情報処理装置に対して行う。
【００１２】
また、本発明は次のような方法としても実現される。すなわち、データ処理の実行を外部システムに要求する第１情報処理装置とこのデータ処理を実行する第２情報処理装置との連携を支援する方法であって、第１情報処理装置と第２情報処理装置との間のデータ通信を中継する連携支援装置が、第１情報処理装置から受信した、データ処理の実行を第２情報処理装置に要求する処理要求を、第２情報処理装置へ送信するステップと、連携支援装置が、第２情報処理装置から受信した処理要求に基づくデータ処理の処理結果を、第１情報処理装置から処理要求と共に受信した、処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存するステップと、連携支援装置が、第１情報処理装置からデータ処理の処理結果を取得するための結果要求と共に受信した要求処理識別情報に基づいて、記憶装置に保存されている処理結果のうち、この要求処理識別情報に関連付けられている処理結果を特定するステップと、連携支援装置が、特定した処理結果を、通信部により、第１情報処理装置へ送信するステップと、を含む。
【００１３】
さらに本発明は、コンピュータを制御して上述したシステムの各機能を実現するプログラム、またはコンピュータに上記の方法における各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【００１４】
本発明によれば、情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の連携支援システムの構成例を示す図である。
【図２】本実施形態による処理方式変換部の機能構成例を示す図である。
【図３】本実施形態による処理方式変換部の処理の手順を示すフローチャートである。
【図４】本実施形態において処理要求が行われる場合の本実施形態におけるデータの流れを示す図である。
【図５】本実施形態において結果応答が行われる場合の本実施形態におけるデータの流れを示す図である。
【図６】本実施形態による処理方式変換部をＭＱプロトコルに適用した場合の機能構成例を示す図である。
【図７】本実施形態のＥＳＢサーバを実現するのに好適なコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
＜システム構成＞
本実施形態では、複数の情報処理システムを連携させる連携支援システムを、ＥＳＢシステムとして構成した場合を例として説明する。
【００１７】
図１は、本実施形態による連携支援システムの構成例を示す図である。
図１に示すように、本実施形態の連携支援システムは、連携支援装置としてのＥＳＢサーバ１００を介して、複数のアプリケーション・サーバ２００が接続されている。図示の構成例では、２台のアプリケーション・サーバ２００がＥＳＢサーバ１００に接続されているが、これは説明を簡単にするための例示に過ぎず、３台以上のアプリケーション・サーバ２００をＥＳＢサーバ１００に接続することが可能である。また、以下の説明において、図１に示す２台のアプリケーション・サーバ２００を区別する場合、図示のように添え字を付して、アプリケーション・サーバ２００Ａ、２００Ｂのように記載する。
【００１８】
ＥＳＢサーバ１００は、アプリケーション・サーバ２００Ａとアプリケーション・サーバ２００Ｂとの間のデータ通信を中継する。図１に示すように、ＥＳＢサーバ１００は、プロトコル変換部１１０およびフォーマット変換部１２０を備え、一般のＥＳＢが対応している、プロトコルやデータフォーマットの変換機能を提供する。また、本実施形態によるＥＳＢサーバ１００は、アプリケーション・サーバ２００Ａとアプリケーション・サーバ２００Ｂとの間の処理方式の差異に対応するための機能として、処理方式変換部１３０を備える。
【００１９】
図１に示す構成において、アプリケーション・サーバ２００Ａは、データ処理の実行を外部システムに要求する要求側装置（第１情報処理装置）である。また、アプリケーション・サーバ２００Ｂは、アプリケーション・サーバ２００Ａによる要求に基づいてデータ処理を実行する実行側装置（第２情報処理装置）である。本実施形態では、アプリケーション・サーバ２００Ａは、例えば、ウェブ・アプリケーションを実装しており、情報をやり取りするための処理方式として、ポーリング方式を採用しているものとする。一方、アプリケーション・サーバ２００Ｂは、例えば、他の装置からの要求に基づいてデータ処理を行い、処理結果を応答として返すサーバであり、処理方式として、コールバック方式を採用しているものとする。
【００２０】
ここで、ポーリング方式によるデータ通信では、受信側装置（ここでは、アプリケーション・サーバ２００Ａ）から送信側装置に送信データの有無を問い合わせ、送信データがある場合に送信側装置から受信側装置へデータが送信される。そして、送信側装置は、受信側装置から問い合わせが行われるタイミングを知らない。そのため、送信側装置において、受信側装置からの問い合わせがあるまで永続的に送信データを保管する手段を設ける必要がある。
【００２１】
これに対し、コールバック方式によるデータ通信では、受信側装置から送信側装置（ここでは、アプリケーション・サーバ２００Ｂ）へアクセスして要求を送信した後は、受信側装置は、送信側装置からの応答が返送されるのを待つ。そして、送信側装置は、受け付けた要求に対する応答が送信可能となり次第、受信側装置へ応答を送信する。そのため、受信側装置において、送信側装置からの応答を常時受け付けるための手段を設ける必要がある。
【００２２】
＜処理方式変換部の機能構成＞
図２は、本実施形態による処理方式変換部１３０の機能構成例を示す図である。
図２に示すように、本実施形態の処理方式変換部１３０は、アプリケーション・サーバ２００との間でデータ通信を行う通信手段としての、処理要求受信部１３１と、処理要求送信部１３２と、処理結果受信部１３３と、処理結果送信部１３４とを備える。また、同一の処理に関わるデータ通信を関連付けるための、関連付け処理部１３５および記憶装置（記憶部）１３６とを備える。
【００２３】
処理要求受信部１３１は、アプリケーション・サーバ２００Ａからアプリケーション・サーバ２００Ｂへの処理の要求時に用いられる通信手段であり、アプリケーション・サーバ２００Ａから送信された要求を受信する。また、処理要求受信部１３１は、アプリケーション・サーバ２００Ｂからの要求の受け付け応答を取得して、アプリケーション・サーバ２００Ａに返す。
【００２４】
処理要求送信部１３２は、アプリケーション・サーバ２００Ａからアプリケーション・サーバ２００Ｂへの処理の要求時に用いられる通信手段であり、処理要求受信部１３１が受信した要求を、アプリケーション・サーバ２００Ｂへ送信する。また、アプリケーション・サーバ２００Ｂからの受け付け応答を取得する。
【００２５】
処理結果受信部１３３は、アプリケーション・サーバ２００Ｂからアプリケーション・サーバ２００Ａへの応答時に用いられる通信手段であり、アプリケーション・サーバ２００Ｂからの結果応答を受信する。
【００２６】
処理結果送信部１３４は、アプリケーション・サーバ２００Ｂからアプリケーション・サーバ２００Ａへの応答時に用いられる通信手段であり、アプリケーション・サーバ２００Ａからの結果要求を受け付けて、アプリケーション・サーバ２００Ｂから取得した結果応答をアプリケーション・サーバ２００Ａへ送信する。
【００２７】
本実施形態において、アプリケーション・サーバ２００Ａは、処理要求および結果要求を送信する際に、これらの要求に加えて、処理要求に係る処理を特定するための要求処理識別情報であるキー・データ（以下、キーＡと呼ぶ）を送信する。したがって、処理要求受信部１３１は、処理要求を受信する際にキーＡも受信する。また、処理結果送信部１３４は、結果要求を受信する際にキーＡも受信する。これによって、同じキーＡを付与された処理要求および結果要求は、同じ処理に係る処理要求および結果要求であることがわかる。ここで、キーＡは、処理要求を特定するための情報なので、アプリケーション・サーバ２００Ａが処理要求を行うたびに、固有のデータが割り当てられる。
【００２８】
また、本実施形態では、ＥＳＢサーバ１００からアプリケーション・サーバ２００Ｂへ処理要求を送信するのに伴って、アプリケーション・サーバ２００Ｂで実行される処理を特定するための実行処理識別情報であるキー・データ（以下、キーＢと呼ぶ）を送信する。アプリケーション・サーバ２００Ｂは、処理結果を含む結果応答をＥＳＢサーバ１００へ送信する際に、処理要求と共に受信したキーＢを送信する。したがって、処理要求送信部１３２は、処理要求を送信する際にキーＢも送信する。また、処理結果受信部１３３は、結果応答を受信する際にキーＢも受信する。ここで、キーＢは、処理要求に対応する個々の処理を特定するための情報なので、個々のキーＡに対して固有のデータが割り当てられる。
【００２９】
関連付け処理部１３５は、アプリケーション・サーバ２００Ａとの間で行われる通信とアプリケーション・サーバ２００Ｂとの間で行われる通信との関連付けを行う。具体的には、アプリケーション・サーバ２００Ａから取得したキーＡと、アプリケーション・サーバ２００Ｂへ送信する処理要求に付与するキーＢとを関連付けることにより、ＥＳＢサーバ１００およびアプリケーション・サーバ２００Ａの間で行われる通信と、ＥＳＢサーバ１００およびアプリケーション・サーバ２００Ｂの間で行われる通信とを関連付けることができる。また、アプリケーション・サーバ２００Ｂから取得した処理結果をキーＡおよびキーＢと関連付けることにより、同じキーＡと共に受信した結果要求と処理結果とを関連付けることができる。関連付け処理部１３５を含む処理方式変換部１３０による処理の詳細については後述する。
【００３０】
記憶装置１３６は、関連付け処理部１３５による関連付けの情報と共に、キーＡと、キーＢと、アプリケーション・サーバ２００Ｂから取得した処理結果とを格納する。この記憶装置１３６は、例えば不揮発性の記憶装置であり、少なくとも、ＥＳＢサーバ１００がアプリケーション・サーバ２００Ａから処理結果を取得するための結果要求を受信するまで、その処理結果に関わる各情報を保持する。
【００３１】
＜処理方式変換部の処理＞
図３は、本実施形態による処理方式変換部の処理の手順を示すフローチャートである。また、図４は、処理要求が行われる場合の本実施形態におけるデータの流れを示す図、図５は、結果応答が行われる場合の本実施形態におけるデータの流れを示す図である。
以下、これらの図を参照して、本実施形態による処理方式の変換処理について詳細に説明する。なお、図３において、アプリケーション・サーバ２００Ａは「サーバＡ」と、アプリケーション・サーバ２００Ｂは「サーバＢ」と記載している。
【００３２】
まず、アプリケーション・サーバ２００Ａは、アプリケーション・サーバ２００Ｂに所望の処理を実行させるため、要求先をアプリケーション・サーバ２００Ｂとした処理要求を、その処理を特定するキーＡと共に、ＥＳＢサーバ１００へ送信する。ＥＳＢサーバ１００は、処理要求およびキーＡを受信すると（ステップ３０１）、プロトコル変換部１１０、フォーマット変換部１２０および処理方式変換部１３０により、処理要求に対する必要な変換処理を行う（ステップ３０２）。具体的な処理内容は記載しないが、ここでは、アプリケーション・サーバ２００Ｂにおいて扱うことができるように、処理要求のプロトコルやデータフォーマット等が変換される。
【００３３】
次に、ＥＳＢサーバ１００は、処理方式変換部１３０の関連付け処理部１３５により、処理要求にキーＢを付与し、この処理要求とキーＢとをアプリケーション・サーバ２００Ｂへ送信する（ステップ３０３）。ここで、キーＢは、処理要求を受信するたびに新たに生成しても良いし、予め用意されたデータ群の中から選択しても良い。
【００３４】
アプリケーション・サーバ２００Ｂにより処理要求が受け付けられると、アプリケーション・サーバ２００Ｂは、まず、処理要求を受け付けたことを示す受け付け応答をＥＳＢサーバ１００へ返送する。
【００３５】
ＥＳＢサーバ１００は、アプリケーション・サーバ２００Ｂから受け付け応答を受信すると（ステップ３０４）、処理方式変換部１３０の関連付け処理部１３５により、ステップ３０１で取得したキーＡとステップ３０３で処理要求に付与したキーＢとを関連付けて、記憶装置１３６に保存する。そして、取得した受け付け応答を処理の要求元であるアプリケーション・サーバ２００Ａへ送信する（ステップ３０５）。
【００３６】
以上の工程で、処理要求に関する処理が完了する。図４を参照すると、まず、アプリケーション・サーバ２００ＡからＥＳＢサーバ１００へ処理要求とキーＡとが送信され、ＥＳＢサーバ１００において、処理要求にキーＢが付与される。そして、処理要求とキーＢとが、アプリケーション・サーバ２００Ｂへ送信される。処理要求がアプリケーション・サーバ２００Ｂに受け付けられると、アプリケーション・サーバ２００ＢからＥＳＢサーバ１００へ受け付け応答が返送され、この受け付け応答が、ＥＳＢサーバ１００からアプリケーション・サーバ２００Ａへ送信される。これらの受け付け応答には、キーＢを付与する必要はない。また、キーＡとキーＢとが関連付けられて保存される。これにより、キーＡで特定される処理要求と、キーＢで特定される処理とが関連付けられた。
【００３７】
次に、アプリケーション・サーバ２００Ｂにおいて要求された処理が終了し、処理結果が得られると、アプリケーション・サーバ２００Ｂは、得られた処理結果を含む結果応答にステップ３０３で取得したキーＢを付与してＥＳＢサーバ１００へ送信する。
【００３８】
ＥＳＢサーバ１００は、アプリケーション・サーバ２００Ｂから結果応答とキーＢとを受信すると（ステップ３０６でＹｅｓ）、処理方式変換部１３０の関連付け処理部１３５により、受信したキーＢに関連付けられているキーＡを検出し、これらキーＡおよびキーＢと受信した結果応答（あるいは、結果応答に含まれる処理結果）とを関連付けて、記憶装置１３６に保存する（ステップ３０７）。
【００３９】
次に、アプリケーション・サーバ２００Ａは、受け付け応答を受信した後、所定のタイミングで、処理結果を取得するための結果要求とキーＡとを、ＥＳＢサーバ１００へ送信する。
【００４０】
ＥＳＢサーバ１００は、アプリケーション・サーバ２００Ａから結果要求とキーＡとを受信すると（ステップ３０８）、処理方式変換部１３０の関連付け処理部１３５により、受信したキーＡを用いて、このキーＡに関連付けられた結果応答（処理結果）を検索する。そして、ＥＳＢサーバ１００は、特定されたキーＡに対応する処理結果を含む結果応答をアプリケーション・サーバ２００Ａへ送信する（ステップ３０９）。
【００４１】
一方、アプリケーション・サーバ２００Ｂから結果応答とキーＢとを受信する前に、ＥＳＢサーバ１００がアプリケーション・サーバ２００Ａから結果要求とキーＡとを受信した場合（ステップ３０６でＮｏ、ステップ３１０）、キーＡに対応する処理結果が記憶装置１３６に保存されていないため、ＥＳＢサーバ１００は、結果応答をアプリケーション・サーバ２００Ａへ送信できない。そこで、ＥＳＢサーバ１００は、アプリケーション・サーバ２００Ａに対し、処理結果が無いことを示す通知を行う（ステップ３１１）。
【００４２】
以上の工程で、結果応答に関する処理が終了する。図５を参照すると、処理を行ったアプリケーション・サーバ２００ＢからＥＳＢサーバ１００へ、結果応答とキーＢとが送信され、キーＡとキーＢと結果応答（処理結果）とが関連付けられて保存される。アプリケーション・サーバ２００ＡからＥＳＢサーバ１００へ、結果要求とキーＡとが送信されると、このキーＡに基づき、対応する処理結果が特定され、結果応答が、ＥＳＢサーバ１００からアプリケーション・サーバ２００Ａへ送信される。
【００４３】
以上のように、本実施形態によれば、アプリケーション・サーバ２００Ｂから送信された処理結果をＥＳＢサーバ１００において保存し、アプリケーション・サーバ２００Ａからの結果要求に応じて、処理結果を返送することができる。このため、上記のように処理の要求元であるアプリケーション・サーバ２００Ａが処理方式としてポーリング方式を採用し、処理を実行するアプリケーション・サーバ２００Ｂが処理方式としてコールバック方式を採用している場合であっても、かかる処理方式の差異を吸収し、連携した処理を行うことができる。
【００４４】
＜他の処理方式への適用例＞
上記のシステム構成は、連携するアプリケーション・サーバ２００の一方の処理方式がポーリング方式であり、他方の処理方式がコールバック方式である場合を例として説明した。しかし、本実施形態による連携支援システムを適用可能な構成は、上記の場合に限定されない。例えば、ＷｅｂＳｐｈｅｒｅ  ＭＱ（ＷｅｂＳｐｈｅｒｅは米国インターナショナル・ビジネス・マシーンズ社の商標）等で用いられるＭＱプロトコルにおいて、遅延応答が行われる場合にも、本実施形態の連携支援システムを適用することができる。
【００４５】
図６は、本実施形態による処理方式変換部１３０をＭＱプロトコルに適用した場合の機能構成例を示す図である。
図６に示す例では、処理の要求元であるアプリケーション・サーバ２００Ａにおいて、ＭＱプロトコルの遅延応答要求が行われる。この場合、まず、アプリケーション・サーバ２００Ａが、ＥＳＢサーバ１００へ処理要求としてのＭＱＰＵＴ命令とキーＡとを送信する。ＥＳＢサーバ１００は、受信したＭＱＰＵＴ命令に基づき、アプリケーション・サーバ２００Ｂへ、ＭＱＰＵＴ命令とキーＢとを送信する。そして、ＥＳＢサーバ１００は、受信したキーＡとＭＱＰＵＴ命令に付与したキーＢとを関連付けて保存する。
【００４６】
また、ＥＳＢサーバ１００は、処理結果を取得するためのＭＱＧＥＴ命令をアプリケーション・サーバ２００Ｂへ送信し、処理結果を取得する。このとき、アプリケーション・サーバ２００Ｂは、ＭＱＰＵＴ命令と共に受け取ったキーＢを処理結果に付与して返送する。ＥＳＢサーバ１００は、処理結果と共に受信したキーＢに基づき、キーＡとキーＢと処理結果とを関連付けて保存する。
【００４７】
次に、アプリケーション・サーバ２００Ａは、ＥＳＢサーバ１００へ遅延応答要求としてのＭＱＰＵＴ命令とキーＡとを送信する。ＥＳＢサーバ１００は、このＭＱＰＵＴ命令と共に受信したキーＡに基づき、このキーＡに関連付けられた処理結果を特定する。この後、アプリケーション・サーバ２００Ａは、処理結果を取得するためのＭＱＧＥＴ命令とキーＡとをＥＳＢサーバ１００へ送信し、キーＡにより特定される処理結果を取得する。
【００４８】
以上のように、本実施形態は、一般的に、処理を要求する側の情報処理装置（以下、要求側装置）と、その要求に基づいて処理を実行する側の情報処理装置（以下、実行側装置）との間で、情報のやり取りに関する処理方式が異なっており、実行側装置が処理結果を返送しようとするタイミングと要求側装置が処理結果を取得しようとするタイミングとが一致しない場合があるような構成において、要求側装置と実行側装置との連携を支援することができる。
【００４９】
なお、上記の例では、ＥＳＢサーバ１００が、アプリケーション・サーバ２００Ａから送られたキーＡとは別に用意されたキーＢを処理要求等に付与してアプリケーション・サーバ２００Ｂへ送ることとした。しかし、これらのキー・データが、アプリケーション・サーバ２００Ａにおける処理要求に係る処理を特定し、処理結果と関連付けるためのものであることを考慮すると、アプリケーション・サーバ２００Ａから取得したキーＡをそのままキーＢとして用いても良い。ただし、この場合、ＥＳＢサーバ１００において、そのキーＡが、処理（およびその処理の結果）を特定するものとして、固有のキー・データであることが保証されていることが必要である。このように、キーＡをキーＢとして用いる場合、アプリケーション・サーバ２００Ｂから結果応答と共に受信したキーＡと、アプリケーション・サーバ２００Ａから結果要求が行われた際に、結果要求と共に受信したキーＡとに基づき、結果要求に対応する処理結果が特定される。
【００５０】
＜ＥＳＢサーバ１００のハードウェア構成例＞
最後に、本実施形態のＥＳＢサーバ１００を実現するのに好適なコンピュータのハードウェア構成について説明する。
図７は、このようなコンピュータのハードウェア構成の一例を示す図である。
図７に示すコンピュータ１０１は、演算手段であるＣＰＵ（Central Processing Unit）１０１ａと、主記憶手段であるメモリ１０１ｂを備える。また、外部デバイスとして、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１０１ｃ、ネットワーク・インタフェース１０１ｄ、入力デバイス１０１ｅ等を備える。図７において、磁気ディスク装置１０１ｃにはＯＳやアプリケーション・ソフトのプログラムが格納されている。そして、これらのプログラムがメモリ１０１ｂに読み込まれてＣＰＵ１０１ａに実行されることにより、本実施形態によるＥＳＢサーバ１００における含む各種の機能が実現される。
【００５１】
具体的には、図１および図２に示したＥＳＢサーバ１００において、プロトコル変換部１１０、フォーマット変換部１２０、処理方式変換部１３０の関連付け処理部１３５の各機能は、ＣＰＵ１０１ａがプログラムを実行することにより実現される。また、処理要求受信部１３１、処理要求送信部１３２、処理結果受信部１３３、処理結果送信部１３４は、ＣＰＵ１０１ａによる制御およびネットワーク・インタフェース１０１ｄの機能により実現される。また、記憶装置１３６は、メモリ１０１ｂや磁気ディスク装置１０１ｃにより実現される。なお、図７は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施形態は、サーバとして使用される情報処理システムに広く適用できるものであり、図示の構成においてのみ本実施形態が実現されるのではない。
【００５２】
なお、上記の実施形態は、要求側装置であるアプリケーション・サーバ２００Ａと実行側装置であるアプリケーション・サーバ２００Ｂとの連携を支援する連携支援装置としてＥＳＢサーバ１００を用いた例について説明した。しかし、本実施形態は、要求側装置と実行側装置とで処理結果をやり取りするタイミングが一致しない場合がある構成において広く適用できるものであり、適用対象はＥＳＢに限らない。
【符号の説明】
【００５３】
１００…ＥＳＢサーバ、１１０…プロトコル変換部、１２０…フォーマット変換部、１３０…処理方式変換部、１３１…処理要求受信部、１３２…処理要求送信部、１３３…処理結果受信部、１３４…処理結果送信部、１３５…関連付け処理部、１３６…記憶装置
【図１】
2014010703.tif 000003
【図２】
2014010703.tif 000004
【図３】
2014010703.tif 000005
【図４】
2014010703.tif 000006
【図５】
2014010703.tif 000007
【図６】
2014010703.tif 000008
【図７】
2014010703.tif 000009