(57)【要約】【課題】要求メッセージに対応する応答メッセージを返信できるサービスバス装置、サービスバス装置の制御方法、メッセージ送受信システム、及びプログラムを提供すること。【解決手段】本発明にかかるサービスバス装置１００は、メッセージ構造解析部１１２と、メッセージタイプ判定部１１３と、応答メッセージ作成部１１４と、を備える。メッセージ構造解析部１１２は、要求メッセージを解析する。メッセージタイプ判定部１１３は、解析結果に基づいて、要求メッセージの種類を示すメッセージタイプを判定する。応答メッセージ作成部１１４は、要求メッセージのメッセージタイプ応じた応答メッセージを作成する。【選択図】図１
2014153858.tif 000002
【特許請求の範囲】
【請求項１】
要求メッセージを送信する送信側システムと、前記要求メッセージを受信する受信側システムと、を接続するサービスバス装置であって、
前記送信側システムから前記要求メッセージを受信する受信手段と、
前記要求メッセージを解析するメッセージ解析手段と、
解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するメッセージタイプ判定手段と、
前記要求メッセージのメッセージタイプに応じた応答メッセージを作成する応答メッセージ作成手段と、
前記応答メッセージを前記送信側システムに送信する送信手段と、
を備えるサービスバス装置。
【請求項２】
複数の前記応答メッセージのメッセージ定義を、複数のメッセージタイプに対応付けて記憶するメッセージ定義保管手段をさらに備え、
前記応答メッセージ作成手段は、前記メッセージ定義保管手段を参照し、前記メッセージタイプ判定手段により判定されたメッセージタイプに対応する応答メッセージのメッセージ定義を用いて、前記応答メッセージを作成する請求項１に記載のサービスバス装置。
【請求項３】
前記メッセージ定義保管手段に記憶された前記メッセージ定義には、値を書き込み可能な要素が含まれており、
前記応答メッセージ作成手段は、前記メッセージ定義に含まれる要素に、所定の値を書き込むことにより、前記応答メッセージを作成する請求項２に記載のサービスバス装置。
【請求項４】
前記メッセージ定義保管手段は、汎用メッセージ定義をさらに記憶しており、
前記応答メッセージ作成手段は、前記メッセージタイプ判定手段により判定された前記メッセージタイプが、前記メッセージ定義保管手段に記憶されていない場合、前記汎用メッセージ定義を用いて、前記応答メッセージを作成する請求項２または３に記載のサービスバス装置。
【請求項５】
前記メッセージタイプ判定手段は、前記要求メッセージの要素のうち、メッセージタイプに関する要素の値を取得し、当該値に基づいて、前記要求メッセージのメッセージタイプを判定する請求項１〜４のいずれか一項に記載のサービスバス装置。
【請求項６】
要求メッセージを送信する送信側システムと、前記要求メッセージを受信する受信側システムと、を接続するサービスバス装置の制御方法であって、
前記送信側システムから前記要求メッセージを受信するステップと、
前記要求メッセージを解析するステップと、
解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するステップと、
前記要求メッセージのメッセージタイプに応じた応答メッセージを作成するステップと、
前記応答メッセージを前記送信側システムに送信するステップと、
を備えるサービスバス装置の制御方法。
【請求項７】
要求メッセージを送信する送信側システムと、
前記要求メッセージを受信する受信側システムと、
前記送信側システムと前記受信側システムとを接続するサービスバス装置と、を備えるメッセージ送受信システムであって、
前記送信側システムから前記要求メッセージを受信する受信手段と、
前記要求メッセージを解析するメッセージ解析手段と、
解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するメッセージタイプ判定手段と、
前記要求メッセージのメッセージタイプに応じた応答メッセージを作成する応答メッセージ作成手段と、
前記応答メッセージを前記送信側システムに送信する送信手段と、
を備えるメッセージ送受信システム。
【請求項８】
コンピュータに、
送信側システムから要求メッセージを受信させるステップと、
前記要求メッセージを解析させるステップと、
解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定させるステップと、
前記要求メッセージのメッセージタイプに応じた応答メッセージを作成させるステップと、
前記応答メッセージを前記送信側システムに送信させるステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスバス装置、サービスバス装置の制御方法、メッセージ送受信システム、及びプログラムに関する。
【背景技術】
【０００２】
サービスバスを介した通信を行うサービス間で、メッセージ受信側サービスが応答を返却する機能を有していない場合がある。このような場合、一般的には、サービスバスのメッセージ交換パターンはIn-Onlyで構成される。In-Onlyとは、サービスバス上で要求メッセージに対してDoneかErrorが返却されるパターンである。Doneはサービスへのメッセージ送信完了を表す。Errorはメッセージ送信処理中に異常が発生したことを表す。
【０００３】
なお、特許文献１には、メッセージ受信の肯定応答（受信確認）を自動送信するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１５２６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、外部サービスの内容によっては、メッセージ送信に成功したか失敗したかの情報（Done/Error）の他に、送信メッセージのタイプに応じた適切な応答メッセージを必要とするものも存在する。上述したIn-Onlyで構成されたサービスバス装置においては、このような外部サービスがメッセージを送信しても、所望の応答メッセージを受信することができない。その結果、正常に通信を完了することが出来ない可能性がある。
【０００６】
本発明はこのような問題を解決するためになされたものであり、要求メッセージに対応する応答メッセージを返信できるサービスバス装置、サービスバス装置の制御方法、メッセージ送受信システム、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明にかかるサービスバス装置は、要求メッセージを送信する送信側システムと、前記要求メッセージを受信する受信側システムと、を接続するサービスバス装置であって、  前記送信側システムから前記要求メッセージを受信する受信手段と、前記要求メッセージを解析するメッセージ解析手段と、解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するメッセージタイプ判定手段と、前記要求メッセージのメッセージタイプに応じた応答メッセージを作成する応答メッセージ作成手段と、前記応答メッセージを前記送信側システムに送信する送信手段と、を備えるものである。
【０００８】
本発明にかかるサービスバス装置の制御方法は、要求メッセージを送信する送信側システムと、前記要求メッセージを受信する受信側システムと、を接続するサービスバス装置の制御方法であって、前記送信側システムから前記要求メッセージを受信するステップと、前記要求メッセージを解析するステップと、解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するステップと、前記要求メッセージのメッセージタイプに応じた応答メッセージを作成するステップと、前記応答メッセージを前記送信側システムに送信するステップと、を備えるものである。
【０００９】
本発明にかかるメッセージ送受信システムは、要求メッセージを送信する送信側システムと、前記要求メッセージを受信する受信側システムと、前記送信側システムと前記受信側システムとを接続するサービスバス装置と、を備えるメッセージ送受信システムであって、前記送信側システムから前記要求メッセージを受信する受信手段と、前記要求メッセージを解析するメッセージ解析手段と、解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定するメッセージタイプ判定手段と、前記要求メッセージのメッセージタイプに応じた応答メッセージを作成する応答メッセージ作成手段と、前記応答メッセージを前記送信側システムに送信する送信手段と、を備えるものである。
【００１０】
本発明にかかるプログラムは、コンピュータに、送信側システムから前記要求メッセージを受信させるステップと、前記要求メッセージを解析させるステップと、解析結果に基づいて、前記要求メッセージの種類を示すメッセージタイプを判定させるステップと、前記要求メッセージのメッセージタイプに応じた応答メッセージを作成させるステップと、前記応答メッセージを前記送信側システムに送信させるステップと、を実行させるものである。
【発明の効果】
【００１１】
本発明により、要求メッセージに対応する応答メッセージを返信できるサービスバス装置、サービスバス装置の制御方法、メッセージ送受信システム、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかるサービスバス装置のブロック図である。
【図２】実施の形態にかかるメッセージ送受信システムの動作を示すフローチャートである。
【図３】実施の形態にかかる自動応答作成部の動作を示すフローチャートである。
【図４】実施の形態にかかるメッセージ構造解析部の動作を説明するための図である。
【図５】実施の形態にかかる要求メッセージの一例を示す図である。
【図６】実施の形態にかかる要求メッセージの解析結果の一例を示す図である。
【図７】実施の形態にかかる応答メッセージ作成部の動作を示すフローチャートである。
【図８】実施の形態にかかるメッセージ定義保管部に格納されたリストを示す図である。
【図９】実施の形態にかかる応答メッセージ定義の一例を示す図である。
【図１０】実施の形態にかかるメッセージ定義保管部に格納されたリストの一例を示す図である。
【図１１】実施の形態にかかる要求メッセージの一例を示す図である。
【図１２】実施の形態にかかる応答メッセージ定義の一例を示す図である。
【図１３】実施の形態にかかる応答メッセージの一例を示す図である。
【図１４】比較例にかかるサービスバス装置のブロック図である。
【図１５】実施の形態にかかるサービスバス装置のブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかるメッセージ送受信システムの構成を図１に示す。メッセージ送受信システムは、送信側サービス１２０と、受信側サービス１５０と、サービスバス装置１００と、を備える。サービスバス装置１００は、送信側サービス１２０及び受信側サービス１５０に接続されている。送信側サービス１２０（送信側システム）は、要求メッセージをサービスバス装置１００に送信する。サービスバス装置１００は、送信側サービス１２０から受信した要求メッセージを受信側サービス１５０（受信側システム）に送信する。なお、送信側サービス１２０及び受信側サービス１５０は、例えば、クライアント端末、サーバ装置、ネットワーク上のアプリケーションソフトウェア（プログラム）等である。
【００１４】
サービスバス装置１００は、自動応答作成部１１０と、メッセージ送受信部１３０、１４０と、を備える。メッセージ送受信部１３０は、送信側サービス１２０と接続されている。また、メッセージ送受信部１３０は、メッセージ送受信部１４０及び自動応答作成部１１０と接続されている。メッセージ送受信部１４０は、受信側サービス１５０と接続されている。
【００１５】
自動応答作成部１１０は、制御部１１１と、メッセージ構造解析部１１２と、メッセージタイプ判定部１１３と、応答メッセージ作成部１１４と、メッセージ定義保管部１１５と、を備える。以下、本発明の主要な部分である自動応答作成部１１０を中心に説明する。
【００１６】
制御部１１１はメッセージ送受信部１３０から要求メッセージを受け取り、メッセージ送受信部１３０に応答メッセージを返却するまでの処理を制御する。制御部１１１は、例えばＣＰＵ(Central Processing Unit)を含む中央制御装置であり、図示しないメモリに格納された処理プログラムに基づいて、自動応答作成部１１０の各部の処理動作を制御する。
【００１７】
メッセージ構造解析部１１２は、制御部１１１からの命令に応じて、要求メッセージの構造を解析し、要求メッセージ内に含まれる各種データを読み取れる状態にする。なお、メッセージ構造の解析処理の詳細については後述する。
【００１８】
メッセージタイプ判定部１１３は、制御部１１１からの命令に応じて、要求メッセージのメッセージタイプを判定する。なお、メッセージタイプとは、要求メッセージの種類を示す情報である。メッセージタイプは、送信側サービス１２０が要求する応答メッセージの種類に対応している。メッセージタイプ判定部１１３は、メッセージ構造解析部１１２の解析結果に基づいて、要求メッセージのメッセージタイプを判定する。
【００１９】
応答メッセージ作成部１１４は、制御部１１１からの命令に応じて、要求メッセージのメッセージタイプに応じて応答メッセージを作成する。応答メッセージ作成部１１４は、メッセージタイプに基づき、メッセージ定義保管部１１５に格納された応答メッセージ定義を参照して、応答メッセージを作成する。
【００２０】
メッセージ定義保管部１１５は、要求メッセージのメッセージタイプ（以下、要求メッセージタイプと称す場合もある）に対応付けて、応答メッセージのメッセージ定義（以下、応答メッセージ定義と称す場合もある）を記憶する。具体的には、メッセージ定義保管部１１５は、要求メッセージタイプと応答メッセージ定義とが対応付けられたリストを記憶する。メッセージ定義保管部１１５は、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリである。なお、応答メッセージ定義とは、応答メッセージを作成するためのメッセージの雛形であり、予め要求メッセージタイプと対応付けて、メッセージ定義保管部１１５に格納されている。応答メッセージ作成部１１４は、応答メッセージを作成する際に、メッセージ定義保管部１１５から応答メッセージ定義を読み込む。
【００２１】
続いて、本実施の形態にかかるメッセージ送受信システムの全体的な動作について、図２に示すフローチャートを参照して説明する。なお、前提として、メッセージ送受信部１３０及びメッセージ送受信部１４０は、共に外部との通信手段としてメッセージ送信手段とメッセージ受信手段を有する。一方、メッセージ送受信部１４０は、受信側サービス１５０からメッセージを受信することはない。言い換えると、受信側サービス１５０は、メッセージ送受信部１４０からの要求メッセージを受信する受信手段を有するが、メッセージ送受信部１４０へメッセージを送信する送信手段は有していない。また、メッセージ送受信部１４０と受信側サービス１５０との間の通信は一方向であり、メッセージ送受信部１４０から受信側サービス１５０への方向のみ要求メッセージが送信される。メッセージ送受信部１４０は、受信側サービス１５０へのメッセージ送信後、メッセージ送受信部１３０に対してDoneかErrorを返却する。Doneはサービスへのメッセージ送信完了を表す。Errorは送信処理中に異常が発生したことを表す。受信側サービス１５０は、要求メッセージを受信する機能を有し、送信側サービス１２０はメッセージ送受信部１３０に要求メッセージを送信後、メッセージ送受信部１３０からの返信（要求メッセージに対応した応答メッセージ）を待つ。
【００２２】
まず、送信側サービス１２０は、メッセージ送受信部１３０へ要求メッセージを送信する（ステップＳ１０１）。メッセージ送受信部１３０は、要求メッセージを受信する（ステップＳ１０２）。
【００２３】
メッセージ送受信部１３０は、要求メッセージをメッセージ送受信部１４０へ送信する（ステップＳ１０３）。メッセージ送受信部１４０は、要求メッセージを受信すると、当該要求メッセージを受信側サービス１５０へ送信する（ステップＳ１０４）。メッセージ送受信部１４０は、要求メッセージの送信処理の終了後、メッセージ送受信部１３０に送信結果を送信する（ステップＳ１０５）。なお、送信結果とは、メッセージ送受信部１４０から受信側サービス１５０への要求メッセージの送信が正常に行われたか否かを示す情報である。つまり、メッセージ送受信部１３０には、Done（正常）もしくはError（異常）の送信結果情報が送信される。
【００２４】
その後、メッセージ送受信部１３０は、自動応答作成部１１０へ要求メッセージ及び送信結果を送信する（ステップＳ１０６）。なお、このときに自動応答作成部１１０へ送信される要求メッセージは、ステップＳ１０２においてメッセージ送受信部１３０が送信側サービス１２０から受信した要求メッセージである。
【００２５】
自動応答作成部１１０は、応答メッセージを作成してメッセージ送受信部１３０に応答メッセージを送信する（ステップＳ１０７）。メッセージ送受信部１３０は、応答メッセージを受信し、受信した応答メッセージを送信側サービス１２０に送信する（ステップＳ１０８）。以上の動作により、サービスバス装置１００は、要求メッセージを送信した送信側サービス１２０に対して応答メッセージが返信する。
【００２６】
次に、自動応答作成部１１０の応答メッセージの作成処理ついて、図３に示すフローチャートを参照して詳細に説明する。まず、制御部１１１は、メッセージ送受信部１３０から要求メッセージを受信する（ステップＳ２０１）。このとき、制御部１１１は、受信側サービス１５０へのメッセージ送信が成功したかどうかの情報（送信結果）も受信する。
【００２７】
メッセージ構造解析部１１２は、制御部１１１の命令に応じて、要求メッセージの構造を解析する（ステップＳ２０２）。具体的には、メッセージ構造解析部１１２は、要求メッセージ内に記載されている情報を要素ごとに取得できるように解析する。
【００２８】
ここで、メッセージ構造解析部１１２のメッセージ解析処理について、図４〜図６を参照して説明する。メッセージ構造解析部１１２は、要求メッセージに含まれる要素名及び当該要素の値を取得する。そして、メッセージ構造解析部１１２は、図４に示すように、要素名と値とが対応付けられたリストを生成して、要求メッセージの情報を整理する。これにより、要求メッセージの構造が解析される。なお、図４に示す例においては、要素Ａに代入されている値が値１であり、要素Ｂに代入されている値が値２であり、要素Ｃに代入されている値が値３であり、要素Ｄに代入されている値が値４であることを意味する。
【００２９】
一例として、送受信するメッセージがＸＭＬである場合について説明する。制御部１１１が受信した要求メッセージが図５に示すようなＸＭＬメッセージであるとする。具体的には、図５に示したメッセージは、要素名が"element1"という要素に、値"AAAA"が代入されているメッセージである。"element2"〜"element5"の要素についても同様に、値"BBBB"〜"EEEE"が代入されている。メッセージ構造解析部１１２は、ＸＰａｔｈ等を用いてＸＭＬの探索を行い、ＸＭＬの特定要素の要素名とテキストノードの値とを取得する。なお、ＸＰａｔｈ等のメッセージ解析方法は、公知の技術であるため、詳細な説明は省略する。
【００３０】
そして、メッセージ構造解析部１１２は、要素名と当該要素の値とを対応付けたリストを生成することによりＸＭＬメッセージを解析する。具体的には、図６に示すように、メッセージ構造解析部１１２は、要素名"element"と、当該要素に代入されている値"AAAA"と、を対応付けたリストを生成する。なお、"element2"〜"element5"の要素についても同様である。
【００３１】
図３のフローチャートに戻り、制御部１１１は、要求メッセージの送信が成功したか否かを判定する（ステップＳ２０３）。具体的には、制御部１１１は、送信結果に基づいて、メッセージ送受信部１４０から受信側サービス１５０への要求メッセージの送信が成功したか否かを判定する。なお、制御部１１１がDoneを受信していれば、受信側サービス１５０へのメッセージ送信は成功している。制御部１１１がErrorを受信していれば、受信側サービス１５０へのメッセージ送信は失敗している。
【００３２】
メッセージ送信が正常に完了した場合（ステップＳ２０３：Ｙｅｓ）、メッセージタイプ判定部１１３は、要求メッセージのメッセージタイプを判定する（ステップＳ２０４）。メッセージタイプ判定部１１３は、メッセージタイプ判定のためのアルゴリズムを保持しており、そのアルゴリズムによりメッセージタイプの判定を行う。
【００３３】
例えば、メッセージタイプ判定部１１３は、図４に示した要素うち、要素Ａがメッセージタイプを表す要素であるとして予め定義（記憶）しておく。そして、メッセージタイプ判定部１１３は、要素Ａに対応する値１がメッセージタイプ名を示す情報であるとして、値１を取得する。なお、上記のメッセージタイプの判定方法は一例であり、他の方法を用いてメッセージタイプを判定してもよい。
【００３４】
次に、応答メッセージ作成部１１４は、要求メッセージタイプに基づいて、応答メッセージを作成する（ステップＳ２０５）。応答メッセージ作成部１１４は、作成した応答メッセージを制御部１１１に送信する。制御部１１１は、作成された応答メッセージをメッセージ送受信部１３０に送信する（ステップＳ２０７）。
【００３５】
一方、メッセージ送信に失敗した場合（ステップＳ２０３：Ｎｏ）、応答メッセージ作成部１１４は、要求メッセージタイプに拘わらず、エラーメッセージを応答メッセージとして作成する（ステップＳ２０６）。なお、エラーメッセージは、予め定義されている。具体的には、応答メッセージ作成部１１４は、エラーメッセージ用のメッセージ定義（応答メッセージの雛形）をメッセージ定義保管部１１５から取得し、発生した異常の内容を応答メッセージ内に値として書き込む。つまり、応答メッセージ作成部１１４は、送信結果及び要求メッセージタイプに基づいて、応答メッセージを作成する。その後、メッセージ送信が正常に完了した場合と同様に、応答メッセージ作成部１１４は、作成したエラーメッセージを応答メッセージとして制御部１１１に送信する。そして、制御部１１１がメッセージ送受信部１３０にエラーメッセージを送信する（ステップＳ２０７）。以上の動作により、自動応答作成部１１０は、要求メッセージに対応した応答メッセージをメッセージ送受信部１３０に送信する。
【００３６】
次に、応答メッセージ作成部１１４の応答メッセージ作成処理について図７のフローチャートを参照して説明する。まず、応答メッセージ作成部１１４は、要求メッセージタイプに対応する応答メッセージの定義をメッセージ定義保管部１１５から検索する（ステップＳ３０１）。
【００３７】
図８に示すように、メッセージ定義保管部１１５には、要求メッセージタイプに対応付けられた応答メッセージ定義が予め格納されている。図８の例においては、制御部１１１がタイプＡのメッセージタイプを持つ要求メッセージを受信したときに、応答メッセージ作成部１１４は応答メッセージの定義として定義１を使用することを意味している。なお、要求メッセージタイプＢ〜Ｄに関しても同様である。また、制御部１１１が受信した要求メッセージのメッセージタイプが予め設定された要求メッセージタイプのいずれにも該当しない場合、応答メッセージ作成部１１４は、"その他"のメッセージタイプに対応する"標準応答用定義"を使用する。標準応答用定義とは、特定の送信側サービス１２０に特化していない汎用メッセージ定義である。これにより、メッセージ定義保管部１１５に格納されていないメッセージタイプの要求メッセージを制御部１１１が受信した場合でも、応答メッセージ作成部１１４は、標準応答用定義を用いて応答メッセージを作成することができる。
【００３８】
応答メッセージ定義の一例として、ＸＭＬメッセージにおける応答メッセージ定義ついて説明する。図９は、ＸＭＬメッセージにおける応答メッセージ定義の一例である。図９に示すように、応答メッセージ定義は、メッセージの雛形として応答メッセージ作成部１１４に与えられる。
【００３９】
応答メッセージ作成部１１４は、制御部１１１が受信した要求メッセージのメッセージタイプに対応した応答メッセージ定義がメッセージ定義保管部１１５に登録されているか否かを判定する（ステップＳ３０２）。なお、当該判定処理は、メッセージ定義保管部１１５の要求メッセージタイプの中に、制御部１１１が受信した要求メッセージのメッセージタイプがあるか否かを検索することより行われる。
【００４０】
要求メッセージタイプに対応する応答メッセージ定義が登録されている場合（ステップＳ３０２：Ｙｅｓ）、応答メッセージ作成部１１４は、対応する応答メッセージ定義を読み込む（ステップＳ３０３）。
【００４１】
一方、要求メッセージタイプに対応する応答メッセージ定義が登録されていない場合（ステップＳ３０２：Ｎｏ）、応答メッセージ作成部１１４は、標準応答用の応答メッセージ定義を読み込む（ステップＳ３０４）。なお、応答メッセージ定義は、送信側サービス１２０及びメッセージ送受信部１３０が送受信可能な形式のメッセージである。上記の通り、応答メッセージ作成部１１４は、応答メッセージ定義を応答メッセージの雛形として使用する。
【００４２】
応答メッセージ作成部１１４は、応答メッセージ定義の読み込み後、必要なデータを応答メッセージ定義に値（要素値）として書き込み、応答メッセージを作成する（ステップＳ３０５）。
【００４３】
一例として、送受信するメッセージがＸＭＬ形式である場合について説明する。あるメッセージタイプに対応付けられた応答メッセージ定義は、図９に示すようなＸＭＬメッセージの雛形として応答メッセージ作成部１１４に与えられる。このとき、応答メッセージ作成部１１４は、必要に応じて"element7"や"element8"の要素のテキストノードに、日付や時刻など動的な値を書き込む。この書き込み処理により、応答メッセージの作成処理が行われる。また、"element6"の要素ように、応答メッセージ定義の中にあらかじめ固定値（"FFF"）を埋め込んでおくことも可能である。さらに、応答メッセージ作成部１１４は、エラーメッセージを作成する場合は、日付や時刻等に加えてエラー内容を挿入してもよい。
【００４４】
あくまで一例であるが、簡単なＸＭＬメッセージを用いた応答メッセージ作成手順を説明する。本例においては、メッセージ定義保管部１１５は、図１０のような要求メッセージタイプと応答メッセージ定義とが対応付けられたリストを格納しているとする。 
【００４５】
ここで、制御部１１１が図１１に示すような要求メッセージを受信したとする。図１１に示す要求メッセージは、要求メッセージタイプを示す要素"massage type"に、値"REQ1"が書き込まれている。また、要求メッセージの送信時刻を示す要素"date"に、送信時刻（２０１２年１１月２０日１６時３１分０４秒）を示す値"20121120163104"が書き込まれている。
【００４６】
メッセージタイプ判定部１１３は、要求メッセージタイプを示す要素"massage type"の値"REQ1"を、制御部１１１が受信した要求メッセージのメッセージタイプと判定する。そして、応答メッセージ作成部１１４は、メッセージ定義保管部１１５のリストを参照し、要求メッセージタイプ"REQ1"に対応付けられた応答メッセージ定義を検索する。応答メッセージ作成部１１４は、検索の結果、要求メッセージタイプ"REQ1"に対応付けられた応答メッセージ定義"RES1"を取得する。なお、"REQ1"に対する応答メッセージ定義"RES1"の内容は、図１２に示すような内容であるとする。つまり、要素"massage type"には、予め"RES1"という値が書き込まれており、応答メッセージの送信時刻を示す要素"date"には、値が書き込まれていない。
【００４７】
応答メッセージ作成部１１４は、取得した応答メッセージ定義（雛形）において、空欄である要素"date"に、応答メッセージの送信時刻（または作成時刻）を書き込む。これにより、応答メッセージが作成される。図１３に作成された応答メッセージの一例を示す。図１３に示す応答メッセージは、図１２に示した応答メッセージ定義の要素"date"に送信時刻が書き込まれている。具体的には、要素"date"に送信時刻（２０１２年１１月２０日１６時３２分２１秒）を示す値"20121120163221"が書き込まれている。例えば、送信側サービス１２０が、要求メッセージの送信結果だけでなく、送信が完了した時刻等を要求するサービスの場合、サービスバス装置１００が、要求メッセージに対して図１３に示すような応答メッセージを返送する。これにより、送信側サービス１２０の通信が正常に完了する。
【００４８】
（比較例）
比較例にかかるサービスバス装置９００について図１４を参照して説明する。比較例にかかるサービスバス装置９００は、メッセージ送受信部９３０、９４０を備える。メッセージ送受信部９３０は、送信側サービス１２０から要求メッセージを受信すると、メッセージ送受信部９４０に当該要求メッセージを送信する。メッセージ送受信部９４０は、要求メッセージを受信側サービス１５０に送信する。また、メッセージ送受信部９４０は、要求メッセージが正常に送信完了したか否かを判定し、送信結果（Done/Error）をメッセージ送受信部９３０に送信する。メッセージ送受信部９３０は、受信した送信結果のみを送信側サービス１２０に返送する。このため、送信側サービス１２０は、送信結果の情報しか受け取ることができない。そのため、送信側サービス１２０が、送信結果以外の情報の返送を要求する場合に、通信が正常に完了しない恐れがある。
【００４９】
これに対して、本実施の形態にかかるサービスバス装置１００は、要求メッセージに応じた内容の応答メッセージを、送信側サービス１２０に返信できる。これにより、送信側サービス１２０の通信が正常に完了する。
【００５０】
以上のように、本実施の形態にかかるサービスバス装置１００の構成によれば、メッセージ構造解析部１１２が、要求メッセージを解析する。また、メッセージタイプ判定部１１３が、解析結果に基づいて、要求メッセージタイプを判定する。そして、応答メッセージ作成部１１４が、要求メッセージタイプに対応する応答メッセージを作成する。これにより、受信側サービス１５０がメッセージ返信機能を有さない場合であっても、当該受信側サービス１５０のサービスアプリケーションを変更・改造することなく、送信側サービス１２０に所望の応答メッセージを返信できる。
【００５１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、要求メッセージや応答メッセージの内容は、上述した実施の形態において示した内容にかぎられない。また、図１に示したメッセージ送受信システムにおいては、送信側サービス１２０が１つ、受信側サービス１５０が１つ、という構成であったが、これに限られるものではない。複数の送信側サービス１２０及び受信側サービス１５０が、サービスバス装置１００と接続されていてもよい。
【００５２】
また、本発明にかかるサービスバス装置は、図１５に示すように、少なくとも、要求メッセージを受信する受信部１１と、応答メッセージを送信する送信部１２と、要求メッセージを解析するメッセージ解析部１３と、要求メッセージタイプを判定するメッセージタイプ判定部１４と、メッセージタイプに応じた応答メッセージを作成する応答メッセージ作成部１５と、を備えていればよい。これらの構成により、要求メッセージに対応する応答メッセージを、送信側サービス１２０に返信できるという効果を発揮できる。
【００５３】
さらに、上述のサービスバス装置１００の任意の処理は、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュメモリ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５４】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現される場合だけでなく、このプログラムが、コンピュータ上で稼動しているＯＳ（Operating System）もしくはアプリケーションソフトウェアと共同して、上述の実施の形態の機能を実現する場合も、本発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによって行われて、上述の実施の形態の機能が実現される場合も、本発明の実施の形態に含まれる。
【符号の説明】
【００５５】
１０、１００  サービスバス装置
１１  受信部
１２  送信部
１３  メッセージ解析部
１４  メッセージタイプ判定部
１５  応答メッセージ作成部
１１０  自動応答作成部
１１１  制御部
１１２  メッセージ構造解析部
１１３  メッセージタイプ判定部
１１４  応答メッセージ作成部
１１５  メッセージ定義保管部
１２０  送信側サービス
１３０  メッセージ送受信部
１３０、１４０  メッセージ送受信部
１４０  メッセージ送受信部
１５０  受信側サービス
【図１】
2014153858.tif 000003
【図２】
2014153858.tif 000004
【図３】
2014153858.tif 000005
【図４】
2014153858.tif 000006
【図５】
2014153858.tif 000007
【図６】
2014153858.tif 000008
【図７】
2014153858.tif 000009
【図８】
2014153858.tif 000010
【図９】
2014153858.tif 000011
【図１０】
2014153858.tif 000012
【図１１】
2014153858.tif 000013
【図１２】
2014153858.tif 000014
【図１３】
2014153858.tif 000015
【図１４】
2014153858.tif 000016
【図１５】
2014153858.tif 000017