JP2014010703A - 情報処理システムの連携を支援するシステム、装置および連携方法 - Google Patents
情報処理システムの連携を支援するシステム、装置および連携方法 Download PDFInfo
- Publication number
- JP2014010703A JP2014010703A JP2012147784A JP2012147784A JP2014010703A JP 2014010703 A JP2014010703 A JP 2014010703A JP 2012147784 A JP2012147784 A JP 2012147784A JP 2012147784 A JP2012147784 A JP 2012147784A JP 2014010703 A JP2014010703 A JP 2014010703A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- request
- information
- result
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Abstract
【課題】情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援する。
【解決手段】アプリケーション・サーバ200Aは、処理要求と処理要求に係る処理を特定するキー・データとを送信する。ESBサーバの処理方式変換部130は、この処理要求とキー・データとを受信し、処理要求をアプリケーション・サーバ200Bへ送信する。そして、アプリケーション・サーバ200Bから処理結果を取得すると、この処理結果をキー・データに関連付けて保存する。アプリケーション・サーバ200Aは、処理結果を取得するための結果要求とキー・データとを送信する。処理方式変換部130は、結果要求に付与されたキー・データに基づき、このキー・データに関連する処理結果を特定し、アプリケーション・サーバ200Aへ送信する。
【選択図】図2
【解決手段】アプリケーション・サーバ200Aは、処理要求と処理要求に係る処理を特定するキー・データとを送信する。ESBサーバの処理方式変換部130は、この処理要求とキー・データとを受信し、処理要求をアプリケーション・サーバ200Bへ送信する。そして、アプリケーション・サーバ200Bから処理結果を取得すると、この処理結果をキー・データに関連付けて保存する。アプリケーション・サーバ200Aは、処理結果を取得するための結果要求とキー・データとを送信する。処理方式変換部130は、結果要求に付与されたキー・データに基づき、このキー・データに関連する処理結果を特定し、アプリケーション・サーバ200Aへ送信する。
【選択図】図2
Description
本発明は、複数の情報処理システムによる連携を支援するシステム、装置および連携方法に関する。
複数のサーバを接続し、連携させて処理を行ったり、サービスを提供したりすることが行われている。このようなシステムを構成する各サーバ上の情報処理システムは、必ずしも共通の仕様により処理を行っているとは限らない。そこで、情報処理システムの連携を容易にするために、ESB(Enterprise Service Bus)やEAI(Enterprise Application Integration)等、各サーバの情報処理システムにおける仕様の差異を吸収する仕組みが提供されている。
このESBやEAI等のいわゆるインテグレーション・ミドルウェアは、メッセージフォーマットの変換、プロトコル変換、ルーティング処理等の機能を実装している。このようなミドルウェアを介在させることにより、各情報処理システム間で異なるメッセージフォーマットやプロトコルを使用していても、その際を意識することなく接続し、動作を連携させることができる(特許文献1参照)。
複数の情報処理システムを連携させようとする場合、システム間において、メッセージフォーマットやプロトコルだけでなく、各システムが採用する処理方式(通信方式)が異なることがある。例えば、一つの情報処理システムがポーリング方式を採用し、他の一つの情報処理システムがコールバック方式を採用している場合等がある。この場合、そのままでは、両システム間で情報をやり取りすることができないため、処理方式の差異を解消する必要がある。
しかし、連携させようとする他の情報処理システムの処理方式に対応するためにシステム構成を改変することは、余計な作業コストを発生させる。さらに、情報処理システムに、システム本来の動作に関するロジックに加えて、処理方式を変換するためのロジックを実装することになるため、システムの処理自体も煩雑になる。
また、情報処理システムを開発する際に、種々の情報処理システムとの連携の可能性を考慮して、様々な処理方式に対応するようにシステムを構築するとすれば、システム開発における手間を増大させ、開発効率を低下させる。
本発明は、上記の課題に鑑み、情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援するシステム、装置およびその連携方法を実現することを目的とする。
上記の目的を達成するため、本発明は、次のようなシステムとして実現される。このシステムは、データ処理の実行を外部システムに要求するための処理要求を送信し、このデータ処理の処理結果を取得するための結果要求を送信し、処理結果を含む結果応答を受信する第1情報処理装置と、この第1情報処理装置からの処理要求を受信し、この処理要求に応じてデータ処理を実行し、処理結果を返送する第2情報処理装置と、第1情報処理装置と第2情報処理装置との連携を支援する連携支援装置と、を備える。そして、第1情報処理装置は、処理要求の対象となるデータ処理を特定するための要求処理識別情報を、処理要求および結果要求と共に、連携支援装置へ送信する。連携支援装置は、第1情報処理装置および第2情報処理装置との間でデータ通信を行う通信部と、処理要求および結果要求と、処理結果とを関連付ける関連付け処理部と、第2情報処理装置から取得した処理結果を記憶する記憶部と、を備える。関連付け処理部は、第2情報処理装置から受信した処理結果を、第1情報処理装置から処理要求と共に受信した要求処理識別情報に関連付けて、記憶部に保存し、第1情報処理装置から結果要求と共に受信した要求処理識別情報に基づいて、記憶部に保存されている処理結果のうち、要求処理識別情報に関連付けられている処理結果を特定し、特定した処理結果を、通信部により、第1情報処理装置へ送信する。
より詳細には、連携支援装置の関連付け処理部は、第1情報処理装置から受信した処理要求に、処理要求に基づいて第2情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、処理要求と実行処理識別情報とを、通信部により、第2情報処理装置へ送信し、第1情報処理装置から処理要求と共に受信した要求処理識別情報と実行処理識別情報とを関連付けて、記憶部に保存し、第2情報処理装置から処理要求に基づくデータ処理の処理結果と共に受信した実行処理識別情報に基づき、実行処理識別情報に関連付けられている要求処理識別情報を特定し、特定された要求処理識別情報と実行処理識別情報と処理結果とを関連付けて、記憶部に保存する。
また、好ましくは、連携支援装置は、第1情報処理装置から結果要求と要求処理識別情報とを受信した際に、この要求処理識別情報に関連付けられた処理結果が記憶部に保存されていない場合、処理結果が無いことを示す通知を、第1情報処理装置に対して行う。
また、本発明は次のような方法としても実現される。すなわち、データ処理の実行を外部システムに要求する第1情報処理装置とこのデータ処理を実行する第2情報処理装置との連携を支援する方法であって、第1情報処理装置と第2情報処理装置との間のデータ通信を中継する連携支援装置が、第1情報処理装置から受信した、データ処理の実行を第2情報処理装置に要求する処理要求を、第2情報処理装置へ送信するステップと、連携支援装置が、第2情報処理装置から受信した処理要求に基づくデータ処理の処理結果を、第1情報処理装置から処理要求と共に受信した、処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存するステップと、連携支援装置が、第1情報処理装置からデータ処理の処理結果を取得するための結果要求と共に受信した要求処理識別情報に基づいて、記憶装置に保存されている処理結果のうち、この要求処理識別情報に関連付けられている処理結果を特定するステップと、連携支援装置が、特定した処理結果を、通信部により、第1情報処理装置へ送信するステップと、を含む。
さらに本発明は、コンピュータを制御して上述したシステムの各機能を実現するプログラム、またはコンピュータに上記の方法における各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
本発明によれば、情報処理システム間の情報のやり取りにおける処理方式の差異を吸収し、情報処理システムの連携を支援することができる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
本実施形態では、複数の情報処理システムを連携させる連携支援システムを、ESBシステムとして構成した場合を例として説明する。
<システム構成>
本実施形態では、複数の情報処理システムを連携させる連携支援システムを、ESBシステムとして構成した場合を例として説明する。
図1は、本実施形態による連携支援システムの構成例を示す図である。
図1に示すように、本実施形態の連携支援システムは、連携支援装置としてのESBサーバ100を介して、複数のアプリケーション・サーバ200が接続されている。図示の構成例では、2台のアプリケーション・サーバ200がESBサーバ100に接続されているが、これは説明を簡単にするための例示に過ぎず、3台以上のアプリケーション・サーバ200をESBサーバ100に接続することが可能である。また、以下の説明において、図1に示す2台のアプリケーション・サーバ200を区別する場合、図示のように添え字を付して、アプリケーション・サーバ200A、200Bのように記載する。
図1に示すように、本実施形態の連携支援システムは、連携支援装置としてのESBサーバ100を介して、複数のアプリケーション・サーバ200が接続されている。図示の構成例では、2台のアプリケーション・サーバ200がESBサーバ100に接続されているが、これは説明を簡単にするための例示に過ぎず、3台以上のアプリケーション・サーバ200をESBサーバ100に接続することが可能である。また、以下の説明において、図1に示す2台のアプリケーション・サーバ200を区別する場合、図示のように添え字を付して、アプリケーション・サーバ200A、200Bのように記載する。
ESBサーバ100は、アプリケーション・サーバ200Aとアプリケーション・サーバ200Bとの間のデータ通信を中継する。図1に示すように、ESBサーバ100は、プロトコル変換部110およびフォーマット変換部120を備え、一般のESBが対応している、プロトコルやデータフォーマットの変換機能を提供する。また、本実施形態によるESBサーバ100は、アプリケーション・サーバ200Aとアプリケーション・サーバ200Bとの間の処理方式の差異に対応するための機能として、処理方式変換部130を備える。
図1に示す構成において、アプリケーション・サーバ200Aは、データ処理の実行を外部システムに要求する要求側装置(第1情報処理装置)である。また、アプリケーション・サーバ200Bは、アプリケーション・サーバ200Aによる要求に基づいてデータ処理を実行する実行側装置(第2情報処理装置)である。本実施形態では、アプリケーション・サーバ200Aは、例えば、ウェブ・アプリケーションを実装しており、情報をやり取りするための処理方式として、ポーリング方式を採用しているものとする。一方、アプリケーション・サーバ200Bは、例えば、他の装置からの要求に基づいてデータ処理を行い、処理結果を応答として返すサーバであり、処理方式として、コールバック方式を採用しているものとする。
ここで、ポーリング方式によるデータ通信では、受信側装置(ここでは、アプリケーション・サーバ200A)から送信側装置に送信データの有無を問い合わせ、送信データがある場合に送信側装置から受信側装置へデータが送信される。そして、送信側装置は、受信側装置から問い合わせが行われるタイミングを知らない。そのため、送信側装置において、受信側装置からの問い合わせがあるまで永続的に送信データを保管する手段を設ける必要がある。
これに対し、コールバック方式によるデータ通信では、受信側装置から送信側装置(ここでは、アプリケーション・サーバ200B)へアクセスして要求を送信した後は、受信側装置は、送信側装置からの応答が返送されるのを待つ。そして、送信側装置は、受け付けた要求に対する応答が送信可能となり次第、受信側装置へ応答を送信する。そのため、受信側装置において、送信側装置からの応答を常時受け付けるための手段を設ける必要がある。
<処理方式変換部の機能構成>
図2は、本実施形態による処理方式変換部130の機能構成例を示す図である。
図2に示すように、本実施形態の処理方式変換部130は、アプリケーション・サーバ200との間でデータ通信を行う通信手段としての、処理要求受信部131と、処理要求送信部132と、処理結果受信部133と、処理結果送信部134とを備える。また、同一の処理に関わるデータ通信を関連付けるための、関連付け処理部135および記憶装置(記憶部)136とを備える。
図2は、本実施形態による処理方式変換部130の機能構成例を示す図である。
図2に示すように、本実施形態の処理方式変換部130は、アプリケーション・サーバ200との間でデータ通信を行う通信手段としての、処理要求受信部131と、処理要求送信部132と、処理結果受信部133と、処理結果送信部134とを備える。また、同一の処理に関わるデータ通信を関連付けるための、関連付け処理部135および記憶装置(記憶部)136とを備える。
処理要求受信部131は、アプリケーション・サーバ200Aからアプリケーション・サーバ200Bへの処理の要求時に用いられる通信手段であり、アプリケーション・サーバ200Aから送信された要求を受信する。また、処理要求受信部131は、アプリケーション・サーバ200Bからの要求の受け付け応答を取得して、アプリケーション・サーバ200Aに返す。
処理要求送信部132は、アプリケーション・サーバ200Aからアプリケーション・サーバ200Bへの処理の要求時に用いられる通信手段であり、処理要求受信部131が受信した要求を、アプリケーション・サーバ200Bへ送信する。また、アプリケーション・サーバ200Bからの受け付け応答を取得する。
処理結果受信部133は、アプリケーション・サーバ200Bからアプリケーション・サーバ200Aへの応答時に用いられる通信手段であり、アプリケーション・サーバ200Bからの結果応答を受信する。
処理結果送信部134は、アプリケーション・サーバ200Bからアプリケーション・サーバ200Aへの応答時に用いられる通信手段であり、アプリケーション・サーバ200Aからの結果要求を受け付けて、アプリケーション・サーバ200Bから取得した結果応答をアプリケーション・サーバ200Aへ送信する。
本実施形態において、アプリケーション・サーバ200Aは、処理要求および結果要求を送信する際に、これらの要求に加えて、処理要求に係る処理を特定するための要求処理識別情報であるキー・データ(以下、キーAと呼ぶ)を送信する。したがって、処理要求受信部131は、処理要求を受信する際にキーAも受信する。また、処理結果送信部134は、結果要求を受信する際にキーAも受信する。これによって、同じキーAを付与された処理要求および結果要求は、同じ処理に係る処理要求および結果要求であることがわかる。ここで、キーAは、処理要求を特定するための情報なので、アプリケーション・サーバ200Aが処理要求を行うたびに、固有のデータが割り当てられる。
また、本実施形態では、ESBサーバ100からアプリケーション・サーバ200Bへ処理要求を送信するのに伴って、アプリケーション・サーバ200Bで実行される処理を特定するための実行処理識別情報であるキー・データ(以下、キーBと呼ぶ)を送信する。アプリケーション・サーバ200Bは、処理結果を含む結果応答をESBサーバ100へ送信する際に、処理要求と共に受信したキーBを送信する。したがって、処理要求送信部132は、処理要求を送信する際にキーBも送信する。また、処理結果受信部133は、結果応答を受信する際にキーBも受信する。ここで、キーBは、処理要求に対応する個々の処理を特定するための情報なので、個々のキーAに対して固有のデータが割り当てられる。
関連付け処理部135は、アプリケーション・サーバ200Aとの間で行われる通信とアプリケーション・サーバ200Bとの間で行われる通信との関連付けを行う。具体的には、アプリケーション・サーバ200Aから取得したキーAと、アプリケーション・サーバ200Bへ送信する処理要求に付与するキーBとを関連付けることにより、ESBサーバ100およびアプリケーション・サーバ200Aの間で行われる通信と、ESBサーバ100およびアプリケーション・サーバ200Bの間で行われる通信とを関連付けることができる。また、アプリケーション・サーバ200Bから取得した処理結果をキーAおよびキーBと関連付けることにより、同じキーAと共に受信した結果要求と処理結果とを関連付けることができる。関連付け処理部135を含む処理方式変換部130による処理の詳細については後述する。
記憶装置136は、関連付け処理部135による関連付けの情報と共に、キーAと、キーBと、アプリケーション・サーバ200Bから取得した処理結果とを格納する。この記憶装置136は、例えば不揮発性の記憶装置であり、少なくとも、ESBサーバ100がアプリケーション・サーバ200Aから処理結果を取得するための結果要求を受信するまで、その処理結果に関わる各情報を保持する。
<処理方式変換部の処理>
図3は、本実施形態による処理方式変換部の処理の手順を示すフローチャートである。また、図4は、処理要求が行われる場合の本実施形態におけるデータの流れを示す図、図5は、結果応答が行われる場合の本実施形態におけるデータの流れを示す図である。
以下、これらの図を参照して、本実施形態による処理方式の変換処理について詳細に説明する。なお、図3において、アプリケーション・サーバ200Aは「サーバA」と、アプリケーション・サーバ200Bは「サーバB」と記載している。
図3は、本実施形態による処理方式変換部の処理の手順を示すフローチャートである。また、図4は、処理要求が行われる場合の本実施形態におけるデータの流れを示す図、図5は、結果応答が行われる場合の本実施形態におけるデータの流れを示す図である。
以下、これらの図を参照して、本実施形態による処理方式の変換処理について詳細に説明する。なお、図3において、アプリケーション・サーバ200Aは「サーバA」と、アプリケーション・サーバ200Bは「サーバB」と記載している。
まず、アプリケーション・サーバ200Aは、アプリケーション・サーバ200Bに所望の処理を実行させるため、要求先をアプリケーション・サーバ200Bとした処理要求を、その処理を特定するキーAと共に、ESBサーバ100へ送信する。ESBサーバ100は、処理要求およびキーAを受信すると(ステップ301)、プロトコル変換部110、フォーマット変換部120および処理方式変換部130により、処理要求に対する必要な変換処理を行う(ステップ302)。具体的な処理内容は記載しないが、ここでは、アプリケーション・サーバ200Bにおいて扱うことができるように、処理要求のプロトコルやデータフォーマット等が変換される。
次に、ESBサーバ100は、処理方式変換部130の関連付け処理部135により、処理要求にキーBを付与し、この処理要求とキーBとをアプリケーション・サーバ200Bへ送信する(ステップ303)。ここで、キーBは、処理要求を受信するたびに新たに生成しても良いし、予め用意されたデータ群の中から選択しても良い。
アプリケーション・サーバ200Bにより処理要求が受け付けられると、アプリケーション・サーバ200Bは、まず、処理要求を受け付けたことを示す受け付け応答をESBサーバ100へ返送する。
ESBサーバ100は、アプリケーション・サーバ200Bから受け付け応答を受信すると(ステップ304)、処理方式変換部130の関連付け処理部135により、ステップ301で取得したキーAとステップ303で処理要求に付与したキーBとを関連付けて、記憶装置136に保存する。そして、取得した受け付け応答を処理の要求元であるアプリケーション・サーバ200Aへ送信する(ステップ305)。
以上の工程で、処理要求に関する処理が完了する。図4を参照すると、まず、アプリケーション・サーバ200AからESBサーバ100へ処理要求とキーAとが送信され、ESBサーバ100において、処理要求にキーBが付与される。そして、処理要求とキーBとが、アプリケーション・サーバ200Bへ送信される。処理要求がアプリケーション・サーバ200Bに受け付けられると、アプリケーション・サーバ200BからESBサーバ100へ受け付け応答が返送され、この受け付け応答が、ESBサーバ100からアプリケーション・サーバ200Aへ送信される。これらの受け付け応答には、キーBを付与する必要はない。また、キーAとキーBとが関連付けられて保存される。これにより、キーAで特定される処理要求と、キーBで特定される処理とが関連付けられた。
次に、アプリケーション・サーバ200Bにおいて要求された処理が終了し、処理結果が得られると、アプリケーション・サーバ200Bは、得られた処理結果を含む結果応答にステップ303で取得したキーBを付与してESBサーバ100へ送信する。
ESBサーバ100は、アプリケーション・サーバ200Bから結果応答とキーBとを受信すると(ステップ306でYes)、処理方式変換部130の関連付け処理部135により、受信したキーBに関連付けられているキーAを検出し、これらキーAおよびキーBと受信した結果応答(あるいは、結果応答に含まれる処理結果)とを関連付けて、記憶装置136に保存する(ステップ307)。
次に、アプリケーション・サーバ200Aは、受け付け応答を受信した後、所定のタイミングで、処理結果を取得するための結果要求とキーAとを、ESBサーバ100へ送信する。
ESBサーバ100は、アプリケーション・サーバ200Aから結果要求とキーAとを受信すると(ステップ308)、処理方式変換部130の関連付け処理部135により、受信したキーAを用いて、このキーAに関連付けられた結果応答(処理結果)を検索する。そして、ESBサーバ100は、特定されたキーAに対応する処理結果を含む結果応答をアプリケーション・サーバ200Aへ送信する(ステップ309)。
一方、アプリケーション・サーバ200Bから結果応答とキーBとを受信する前に、ESBサーバ100がアプリケーション・サーバ200Aから結果要求とキーAとを受信した場合(ステップ306でNo、ステップ310)、キーAに対応する処理結果が記憶装置136に保存されていないため、ESBサーバ100は、結果応答をアプリケーション・サーバ200Aへ送信できない。そこで、ESBサーバ100は、アプリケーション・サーバ200Aに対し、処理結果が無いことを示す通知を行う(ステップ311)。
以上の工程で、結果応答に関する処理が終了する。図5を参照すると、処理を行ったアプリケーション・サーバ200BからESBサーバ100へ、結果応答とキーBとが送信され、キーAとキーBと結果応答(処理結果)とが関連付けられて保存される。アプリケーション・サーバ200AからESBサーバ100へ、結果要求とキーAとが送信されると、このキーAに基づき、対応する処理結果が特定され、結果応答が、ESBサーバ100からアプリケーション・サーバ200Aへ送信される。
以上のように、本実施形態によれば、アプリケーション・サーバ200Bから送信された処理結果をESBサーバ100において保存し、アプリケーション・サーバ200Aからの結果要求に応じて、処理結果を返送することができる。このため、上記のように処理の要求元であるアプリケーション・サーバ200Aが処理方式としてポーリング方式を採用し、処理を実行するアプリケーション・サーバ200Bが処理方式としてコールバック方式を採用している場合であっても、かかる処理方式の差異を吸収し、連携した処理を行うことができる。
<他の処理方式への適用例>
上記のシステム構成は、連携するアプリケーション・サーバ200の一方の処理方式がポーリング方式であり、他方の処理方式がコールバック方式である場合を例として説明した。しかし、本実施形態による連携支援システムを適用可能な構成は、上記の場合に限定されない。例えば、WebSphere MQ(WebSphereは米国インターナショナル・ビジネス・マシーンズ社の商標)等で用いられるMQプロトコルにおいて、遅延応答が行われる場合にも、本実施形態の連携支援システムを適用することができる。
上記のシステム構成は、連携するアプリケーション・サーバ200の一方の処理方式がポーリング方式であり、他方の処理方式がコールバック方式である場合を例として説明した。しかし、本実施形態による連携支援システムを適用可能な構成は、上記の場合に限定されない。例えば、WebSphere MQ(WebSphereは米国インターナショナル・ビジネス・マシーンズ社の商標)等で用いられるMQプロトコルにおいて、遅延応答が行われる場合にも、本実施形態の連携支援システムを適用することができる。
図6は、本実施形態による処理方式変換部130をMQプロトコルに適用した場合の機能構成例を示す図である。
図6に示す例では、処理の要求元であるアプリケーション・サーバ200Aにおいて、MQプロトコルの遅延応答要求が行われる。この場合、まず、アプリケーション・サーバ200Aが、ESBサーバ100へ処理要求としてのMQPUT命令とキーAとを送信する。ESBサーバ100は、受信したMQPUT命令に基づき、アプリケーション・サーバ200Bへ、MQPUT命令とキーBとを送信する。そして、ESBサーバ100は、受信したキーAとMQPUT命令に付与したキーBとを関連付けて保存する。
図6に示す例では、処理の要求元であるアプリケーション・サーバ200Aにおいて、MQプロトコルの遅延応答要求が行われる。この場合、まず、アプリケーション・サーバ200Aが、ESBサーバ100へ処理要求としてのMQPUT命令とキーAとを送信する。ESBサーバ100は、受信したMQPUT命令に基づき、アプリケーション・サーバ200Bへ、MQPUT命令とキーBとを送信する。そして、ESBサーバ100は、受信したキーAとMQPUT命令に付与したキーBとを関連付けて保存する。
また、ESBサーバ100は、処理結果を取得するためのMQGET命令をアプリケーション・サーバ200Bへ送信し、処理結果を取得する。このとき、アプリケーション・サーバ200Bは、MQPUT命令と共に受け取ったキーBを処理結果に付与して返送する。ESBサーバ100は、処理結果と共に受信したキーBに基づき、キーAとキーBと処理結果とを関連付けて保存する。
次に、アプリケーション・サーバ200Aは、ESBサーバ100へ遅延応答要求としてのMQPUT命令とキーAとを送信する。ESBサーバ100は、このMQPUT命令と共に受信したキーAに基づき、このキーAに関連付けられた処理結果を特定する。この後、アプリケーション・サーバ200Aは、処理結果を取得するためのMQGET命令とキーAとをESBサーバ100へ送信し、キーAにより特定される処理結果を取得する。
以上のように、本実施形態は、一般的に、処理を要求する側の情報処理装置(以下、要求側装置)と、その要求に基づいて処理を実行する側の情報処理装置(以下、実行側装置)との間で、情報のやり取りに関する処理方式が異なっており、実行側装置が処理結果を返送しようとするタイミングと要求側装置が処理結果を取得しようとするタイミングとが一致しない場合があるような構成において、要求側装置と実行側装置との連携を支援することができる。
なお、上記の例では、ESBサーバ100が、アプリケーション・サーバ200Aから送られたキーAとは別に用意されたキーBを処理要求等に付与してアプリケーション・サーバ200Bへ送ることとした。しかし、これらのキー・データが、アプリケーション・サーバ200Aにおける処理要求に係る処理を特定し、処理結果と関連付けるためのものであることを考慮すると、アプリケーション・サーバ200Aから取得したキーAをそのままキーBとして用いても良い。ただし、この場合、ESBサーバ100において、そのキーAが、処理(およびその処理の結果)を特定するものとして、固有のキー・データであることが保証されていることが必要である。このように、キーAをキーBとして用いる場合、アプリケーション・サーバ200Bから結果応答と共に受信したキーAと、アプリケーション・サーバ200Aから結果要求が行われた際に、結果要求と共に受信したキーAとに基づき、結果要求に対応する処理結果が特定される。
<ESBサーバ100のハードウェア構成例>
最後に、本実施形態のESBサーバ100を実現するのに好適なコンピュータのハードウェア構成について説明する。
図7は、このようなコンピュータのハードウェア構成の一例を示す図である。
図7に示すコンピュータ101は、演算手段であるCPU(Central Processing Unit)101aと、主記憶手段であるメモリ101bを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)101c、ネットワーク・インタフェース101d、入力デバイス101e等を備える。図7において、磁気ディスク装置101cにはOSやアプリケーション・ソフトのプログラムが格納されている。そして、これらのプログラムがメモリ101bに読み込まれてCPU101aに実行されることにより、本実施形態によるESBサーバ100における含む各種の機能が実現される。
最後に、本実施形態のESBサーバ100を実現するのに好適なコンピュータのハードウェア構成について説明する。
図7は、このようなコンピュータのハードウェア構成の一例を示す図である。
図7に示すコンピュータ101は、演算手段であるCPU(Central Processing Unit)101aと、主記憶手段であるメモリ101bを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)101c、ネットワーク・インタフェース101d、入力デバイス101e等を備える。図7において、磁気ディスク装置101cにはOSやアプリケーション・ソフトのプログラムが格納されている。そして、これらのプログラムがメモリ101bに読み込まれてCPU101aに実行されることにより、本実施形態によるESBサーバ100における含む各種の機能が実現される。
具体的には、図1および図2に示したESBサーバ100において、プロトコル変換部110、フォーマット変換部120、処理方式変換部130の関連付け処理部135の各機能は、CPU101aがプログラムを実行することにより実現される。また、処理要求受信部131、処理要求送信部132、処理結果受信部133、処理結果送信部134は、CPU101aによる制御およびネットワーク・インタフェース101dの機能により実現される。また、記憶装置136は、メモリ101bや磁気ディスク装置101cにより実現される。なお、図7は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施形態は、サーバとして使用される情報処理システムに広く適用できるものであり、図示の構成においてのみ本実施形態が実現されるのではない。
なお、上記の実施形態は、要求側装置であるアプリケーション・サーバ200Aと実行側装置であるアプリケーション・サーバ200Bとの連携を支援する連携支援装置としてESBサーバ100を用いた例について説明した。しかし、本実施形態は、要求側装置と実行側装置とで処理結果をやり取りするタイミングが一致しない場合がある構成において広く適用できるものであり、適用対象はESBに限らない。
100…ESBサーバ、110…プロトコル変換部、120…フォーマット変換部、130…処理方式変換部、131…処理要求受信部、132…処理要求送信部、133…処理結果受信部、134…処理結果送信部、135…関連付け処理部、136…記憶装置
Claims (9)
- データ処理の実行を外部システムに要求するための処理要求を送信し、当該データ処理の処理結果を取得するための結果要求を送信し、当該処理結果を含む結果応答を受信する第1情報処理装置と、
前記第1情報処理装置からの処理要求を受信し、当該処理要求に応じて前記データ処理を実行し、処理結果を返送する第2情報処理装置と、
前記第1情報処理装置と前記第2情報処理装置との連携を支援する連携支援装置と、を備え、
前記第1情報処理装置は、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報を、前記処理要求および前記結果要求と共に、前記連携支援装置へ送信し、
前記連携支援装置は、
前記第1情報処理装置および前記第2情報処理装置との間でデータ通信を行う通信部と、
前記処理要求および前記結果要求と、前記処理結果とを関連付ける関連付け処理部と、
前記第2情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第2情報処理装置から受信した前記処理結果を、前記第1情報処理装置から前記処理要求と共に受信した前記要求処理識別情報に関連付けて、前記記憶部に保存し、
前記第1情報処理装置から前記結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第1情報処理装置へ送信する、システム。 - 前記連携支援装置の前記関連付け処理部は、
前記第1情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第2情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第2情報処理装置へ送信し、
前記第1情報処理装置から前記処理要求と共に受信した前記要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第2情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存する、請求項1に記載のシステム。 - 前記連携支援装置は、前記第1情報処理装置から前記結果要求と前記要求処理識別情報とを受信した際に、当該要求処理識別情報に関連付けられた前記処理結果が前記記憶部に保存されていない場合、当該処理結果が無いことを示す通知を、当該第1情報処理装置に対して行う、請求項1または請求項2に記載のシステム。
- データ処理の実行を外部システムに要求する第1情報処理装置と当該データ処理を実行する第2情報処理装置との連携を支援する装置であって、
前記第1情報処理装置および前記第2情報処理装置との間でデータ通信を行う通信部と、
前記第1情報処理装置から受信した、前記データ処理の実行を前記第2情報処理装置に要求する処理要求と、前記第2情報処理装置から受信した、当該処理要求に基づくデータ処理の処理結果とを関連付ける関連付け処理部と、
前記第2情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第2情報処理装置から受信した前記処理結果を、前記第1情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、前記記憶部に保存し、
前記第1情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第1情報処理装置へ送信する、装置。 - 前記関連付け処理部は、
前記第1情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第2情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第2情報処理装置へ送信し、
前記第1情報処理装置から前記処理要求と共に受信した前記要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第2情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存する、請求項4に記載の装置。 - 前記通信部は、前記第1情報処理装置から前記結果要求と前記要求処理識別情報とを受信した際に、当該要求処理識別情報に関連付けられた前記処理結果が前記記憶部に保存されていない場合、当該処理結果が無いことを示す通知を、当該第1情報処理装置に対して行う、請求項4または請求項5に記載の装置。
- データ処理の実行を外部システムに要求する第1情報処理装置と当該データ処理を実行する第2情報処理装置との連携を支援する装置であって、
前記第1情報処理装置および前記第2情報処理装置との間でデータ通信を行う通信部と、
前記第1情報処理装置から受信した、前記データ処理の実行を前記第2情報処理装置に要求する処理要求と、前記第2情報処理装置から受信した、当該処理要求に基づくデータ処理の処理結果とを関連付ける関連付け処理部と、
前記第2情報処理装置から取得した前記処理結果を記憶する記憶部と、を備え、
前記関連付け処理部は、
前記第1情報処理装置から受信した前記処理要求に、当該処理要求に基づいて前記第2情報処理装置により実行されるデータ処理を特定するための実行処理識別情報を割り当て、当該処理要求と当該実行処理識別情報とを、前記通信部により、前記第2情報処理装置へ送信し、
前記第1情報処理装置から前記処理要求と共に受信した当該処理要求の対象となるデータ処理を特定するための要求処理識別情報と前記実行処理識別情報とを関連付けて、前記記憶部に保存し、
前記第2情報処理装置から前記処理要求に基づくデータ処理の前記処理結果と共に受信した前記実行処理識別情報に基づき、当該実行処理識別情報に関連付けられている前記要求処理識別情報を特定し、
特定された前記要求処理識別情報と前記実行処理識別情報と前記処理結果とを関連付けて、前記記憶部に保存し、
前記第1情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶部に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定し、
特定した前記処理結果を、前記通信部により、前記第1情報処理装置へ送信する、装置。 - データ処理の実行を外部システムに要求する第1情報処理装置と当該データ処理を実行する第2情報処理装置との連携を支援する方法であって、
前記第1情報処理装置と前記第2情報処理装置との間のデータ通信を中継する連携支援装置が、前記第1情報処理装置から受信した、前記データ処理の実行を前記第2情報処理装置に要求する処理要求を、前記第2情報処理装置へ送信するステップと、
前記連携支援装置が、前記第2情報処理装置から受信した前記処理要求に基づくデータ処理の処理結果を、前記第1情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存するステップと、
前記連携支援装置が、前記第1情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶装置に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定するステップと、
前記連携支援装置が、特定した前記処理結果を、前記第1情報処理装置へ送信するステップと、
を含む、方法。 - データ処理の実行を外部システムに要求する第1情報処理装置と当該データ処理を実行する第2情報処理装置との間のデータ通信を中継し、当該第1情報処理装置と当該第2情報処理装置との連携を支援するコンピュータを制御するプログラムであって、
前記コンピュータに、
前記第1情報処理装置から受信した、前記データ処理の実行を前記第2情報処理装置に要求する処理要求を、前記第2情報処理装置へ送信する処理と、
前記第2情報処理装置から受信した前記処理要求に基づくデータ処理の処理結果を、前記第1情報処理装置から前記処理要求と共に受信した、前記処理要求の対象となるデータ処理を特定するための要求処理識別情報に関連付けて、記憶装置に保存する処理と、
前記第1情報処理装置から前記データ処理の処理結果を取得するための結果要求と共に受信した前記要求処理識別情報に基づいて、前記記憶装置に保存されている前記処理結果のうち、当該要求処理識別情報に関連付けられている処理結果を特定する処理と、
特定した前記処理結果を、前記第1情報処理装置へ送信する処理と、
を実行させる、プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147784A JP2014010703A (ja) | 2012-06-29 | 2012-06-29 | 情報処理システムの連携を支援するシステム、装置および連携方法 |
US13/897,705 US9300765B2 (en) | 2012-06-29 | 2013-05-20 | Exchange of information between processing servers |
US15/019,231 US9537940B2 (en) | 2012-06-29 | 2016-02-09 | Exchange of information between processing servers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147784A JP2014010703A (ja) | 2012-06-29 | 2012-06-29 | 情報処理システムの連携を支援するシステム、装置および連携方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014010703A true JP2014010703A (ja) | 2014-01-20 |
Family
ID=49716183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012147784A Pending JP2014010703A (ja) | 2012-06-29 | 2012-06-29 | 情報処理システムの連携を支援するシステム、装置および連携方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9300765B2 (ja) |
JP (1) | JP2014010703A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107749875A (zh) * | 2017-10-11 | 2018-03-02 | 四川省电科互联网加产业技术研究院有限公司 | 一种大数据人工智能分析系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010703A (ja) | 2012-06-29 | 2014-01-20 | International Business Maschines Corporation | 情報処理システムの連携を支援するシステム、装置および連携方法 |
CN107483635A (zh) * | 2017-09-22 | 2017-12-15 | 浪潮软件集团有限公司 | 一种业务请求处理方法、处理系统及消息中间件 |
CN108337229B (zh) * | 2017-12-26 | 2021-03-09 | 神华集团有限责任公司 | 多系统互联互通的方法、存储介质及电子设备 |
CN113067885B (zh) * | 2021-03-31 | 2024-02-27 | 中国建设银行股份有限公司 | 应用系统、请求处理方法、电子设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2535724B2 (ja) | 1993-08-16 | 1996-09-18 | ミサワホーム株式会社 | 多所帯型住宅 |
JPH1049471A (ja) | 1996-08-06 | 1998-02-20 | Fujitsu Ltd | サーバ連携制御方法 |
US6836795B2 (en) * | 2001-01-31 | 2004-12-28 | Microsoft Corporation | Mapping connections and protocol-specific resource identifiers |
JP2002312183A (ja) | 2001-04-09 | 2002-10-25 | Nippon Telegr & Teleph Corp <Ntt> | 連携支援システム、及び連携支援方法、及び記録媒体、及びプログラム |
US7478395B2 (en) * | 2002-09-23 | 2009-01-13 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware application message/event model |
JPWO2004102396A1 (ja) * | 2003-05-14 | 2006-07-13 | 富士通株式会社 | 遅延ストレージ装置および遅延処理方法 |
US7996488B1 (en) * | 2006-11-27 | 2011-08-09 | Disney Enterprises, Inc. | Systems and methods for interconnecting media applications and services with automated workflow orchestration |
US20080183479A1 (en) * | 2007-01-25 | 2008-07-31 | Masaru Iwashita | Business process reconstruction method, and its program and computer |
US20080250097A1 (en) | 2007-04-04 | 2008-10-09 | Adadeus S.A.S | Method and system for extending the services provided by an enterprise service bus |
JP5136238B2 (ja) | 2008-06-25 | 2013-02-06 | 富士通株式会社 | サービスバス連携方法及びサービスバス |
US8286194B2 (en) * | 2008-11-19 | 2012-10-09 | International Business Machines Corporation | Coupling state aware systems |
JP2010262571A (ja) | 2009-05-11 | 2010-11-18 | Hitachi Ltd | サービス提供システムおよびサービス提供方法 |
US8701128B2 (en) * | 2011-02-14 | 2014-04-15 | General Electric Company | Method, system and computer program product for a client application programming interface (API) in a service oriented architecture |
JP2014010703A (ja) | 2012-06-29 | 2014-01-20 | International Business Maschines Corporation | 情報処理システムの連携を支援するシステム、装置および連携方法 |
-
2012
- 2012-06-29 JP JP2012147784A patent/JP2014010703A/ja active Pending
-
2013
- 2013-05-20 US US13/897,705 patent/US9300765B2/en not_active Expired - Fee Related
-
2016
- 2016-02-09 US US15/019,231 patent/US9537940B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107749875A (zh) * | 2017-10-11 | 2018-03-02 | 四川省电科互联网加产业技术研究院有限公司 | 一种大数据人工智能分析系统 |
CN107749875B (zh) * | 2017-10-11 | 2021-01-08 | 成都星时代宇航科技有限公司 | 一种大数据人工智能分析系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160156704A1 (en) | 2016-06-02 |
US9300765B2 (en) | 2016-03-29 |
US20130332579A1 (en) | 2013-12-12 |
US9537940B2 (en) | 2017-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2622484B1 (en) | Debugger launch and attach on compute clusters | |
JP4681968B2 (ja) | サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体 | |
JP5159071B2 (ja) | 通信システム及び通信装置とその制御方法 | |
US9537940B2 (en) | Exchange of information between processing servers | |
JP6279938B2 (ja) | 接続管理装置、通信システム、接続管理方法およびプログラム | |
US20140082180A1 (en) | Information processor apparatus, information processing method, and recording medium | |
JP5979986B2 (ja) | 配信システム及びその制御方法 | |
WO2019056882A1 (zh) | 一种跨平台部署的方法和系统 | |
JP2017524314A (ja) | プログラマティックインターフェースに従ったルータ情報の提供 | |
JP4410608B2 (ja) | Webサービス提供方法 | |
JP2007293603A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP5891881B2 (ja) | 情報処理装置及び情報処理プログラム | |
CN104516913B (zh) | 基于多种内核技术的网页浏览器 | |
JP2016208503A (ja) | Plcシステムのプロトコル自動設定方法 | |
EP2519884B1 (en) | Communication method, system, and program | |
US20140281033A1 (en) | Information processing apparatus, relay method, and computer-readable storage medium | |
JP2008310475A (ja) | ワークフロー連携方法、ワークフロー連携プログラム、および、ワークフロー接続装置 | |
US20110320527A1 (en) | Method and system for managing a web-domain request | |
US8989184B2 (en) | Message relay apparatus and method | |
WO2014094315A1 (zh) | 在系统升级过程中对业务进行处理的方法、装置和设备 | |
KR102526770B1 (ko) | 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치 | |
JP4667299B2 (ja) | プロセス間通信方法 | |
US20150006874A1 (en) | System and method for managing data used for activation of operating systems | |
JP5686184B2 (ja) | ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法 | |
JP2015194874A (ja) | 情報処理装置、送受信装置、及び情報処理装置の制御方法 |