(57)【要約】【課題】分散アプリケーションシステムにおいて、監視対象のノード以外の他のノードが備える外部ＡＰＩ部の更新を検出することができる。【解決手段】更新ＡＰＩ検出システム１は、ノード２のＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を含むＡＰＩ情報５１を格納するＡＰＩ登録ＤＢ装置５、および、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１と、更新ＡＰＩ検出サーバ６の記憶部６１に格納される外部のサーバノード２Ｂ，２Ｃが備える外部のＡＰＩ部についての外部ＡＰＩ情報６２とを比較し、更新がされているか否かを判定するＡＰＩ情報確認部６６と、ＡＰＩ情報５１が更新されていると判定した場合に、判定結果を出力するイベント通知部６７と、を備える更新ＡＰＩ検出サーバ６、を含んで構成されることを特徴とする。【選択図】図２
2011257994.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、ＡＰＩ登録ＤＢ装置と更新ＡＰＩ検出装置とが設けられ、前記更新ＡＰＩ検出装置が前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出システムであって、
前記ＡＰＩ登録ＤＢ装置は、
前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備え、
前記更新ＡＰＩ検出装置は、
前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部と、
前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定するＡＰＩ情報確認部と、
前記ＡＰＩ情報確認部が、当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力するイベント出力部と、を備えること、
を特徴とする更新ＡＰＩ検出システム。
【請求項２】
前記ＡＰＩ登録ＤＢ装置の記憶部には、前記ＡＰＩ部を備える前記ノードのアドレスを示すＡＰＩアドレス情報がさらに格納されており、
前記更新ＡＰＩ検出装置は、
前記ＡＰＩ登録ＤＢ装置の前記ＡＰＩアドレス情報を参照し、前記外部ＡＰＩ部を備える前記他のノードの前記アドレスを取得して、前記外部ＡＰＩ部が有するデータと前記外部ＡＰＩ部が行う動作とのうち少なくとも１つを確認するＡＰＩテスト関数を、当該外部ＡＰＩ部を備える他のノードに送信し、返信として、前記ＡＰＩテスト関数のテスト結果を受信することにより、当該外部ＡＰＩ部が所定のデータを有するか否か、または所定の動作を行うか否かを判定するＡＰＩ動作確認テスト部、をさらに備え、
前記イベント出力部は、前記ＡＰＩ動作確認テスト部が、当該外部ＡＰＩ部が所定のデータを有していない、または所定の動作を行わないと判定した場合に、その判定結果を出力する、
ことを特徴とする請求項１に記載の更新ＡＰＩ検出システム。
【請求項３】
前記ＡＰＩ動作確認テスト部は、
前記外部ＡＰＩ部が所定の動作を行うか否かを判定する場合に、前記外部ＡＰＩ部が処理を行い、その結果を確認することで当該外部ＡＰＩ部が所定の動作を行うか否かを確認するテスト関数、および当該処理のレスポンス時間が所定時間内であるか否かで当該外部ＡＰＩ部が所定の動作を行うか否かを確認するテスト関数のうち少なくとも１つを、前記外部ＡＰＩ部を備えるノードに送信することにより動作結果を確認する、
ことを特徴とする請求項２に記載の更新ＡＰＩ検出システム。
【請求項４】
前記ＡＰＩ履歴情報および前記外部ＡＰＩ履歴情報は、バージョン情報であり、
前記ＡＰＩ情報確認部は、前記ＡＰＩ登録ＤＢ装置の記憶部に前記ＡＰＩ履歴情報として格納される前記ＡＰＩ部に関するバージョン情報と、前記更新ＡＰＩ検出装置の記憶部に前記外部ＡＰＩ履歴情報として格納される前記外部ＡＰＩ部のバージョン情報とを比較し、前記ＡＰＩ部に関するバージョン情報が更新されているか否かを判定する、
ことを特徴とする請求項１ないし請求項３の何れか一項に記載の更新ＡＰＩ検出システム。
【請求項５】
アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備えるＡＰＩ登録ＤＢ装置と共に前記インターネットに接続され、前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出装置であって、
前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部と、
前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定するＡＰＩ情報確認部と、
前記ＡＰＩ情報確認部が、当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力するイベント出力部と、を備えること、
を特徴とする更新ＡＰＩ検出装置。
【請求項６】
アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備えるＡＰＩ登録ＤＢ装置と共に前記インターネットに接続され、前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出装置に用いられる更新ＡＰＩ検出方法であって、
前記更新ＡＰＩ検出装置は、
前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部を備え、
前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定し、
当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力する、
ことを特徴とする更新ＡＰＩ検出方法。
【請求項７】
請求項６に記載の更新ＡＰＩ検出方法を、更新ＡＰＩ検出装置に実行させるための更新ＡＰＩ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新されたアプリケーションプログラムインタフェース（以下「ＡＰＩ：Application Programming Interface」と呼ぶ）を検出する、更新ＡＰＩ検出システム、更新ＡＰＩ検出装置、更新ＡＰＩ検出方法、および更新ＡＰＩ検出プログラムに関する。
【背景技術】
【０００２】
ネットワーク上で動作する分散アプリケーションシステムにおいて、アプリケーションを連携させて動作するためには、ＡＰＩを適合させる必要がある。
【０００３】
一般的な分散アプリケーションシステムでは、事前に定義したＡＰＩを公開することによりＡＰＩを適合させ、これに基づいてアプリケーション同士が連携動作を行う。それぞれのアプリケーションは独立して動作しており、一部のアプリケーションのみをアップデートすることができ、また、新たな機能を柔軟に追加することもできる（非特許文献１参照）。
【０００４】
従来では、自己のアプリケーション以外のアプリケーションである外部プログラムを多用しない分散アプリケーションシステムが主流であったので、外部プログラムを利用するアプリケーションの把握が可能で、外部ＡＰＩを更新した場合の通知も容易であった。そのため、アプリケーションの開発者は、外部ＡＰＩを更新したことによる通知を受けた後で、それぞれのモジュールを検査するためのユニットテストやモジュールの組み合わせ動作を検査するための結合テスト（非特許文献２参照）を実施することが可能であった。したがって、外部ＡＰＩの変更によるシステムトラブルが問題となることは少なかった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】本俊也著、「図解標準  最新Ｗｅｂサービス  マスタリングハンドブック」、秀和システム、2004年2月27日、p.29-54,p.72-p.164
【非特許文献２】鶴保征城、駒谷昇一著、「ずっと受けたかったソフトウェアエンジニアリングの授業２」、翔泳社、2006年10月13日、p.24-36,p.38-59
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、今後想定される、インターネットなどのような大規模かつ広域な環境における分散アプリケーションのように、多数のプログラムにタスクが分割される分散アプリケーションシステムが主流となってきた場合には、モジュール数が多数となり、自己のアプリケーション以外のアプリケーションである外部プログラムを多用することになる。その場合、外部プログラムを利用するアプリケーションの把握が不可能になり、外部ＡＰＩを更新した場合に通知ができない。そのため、外部ＡＰＩを利用するアプリケーションの開発者は、外部ＡＰＩが更新された際に、外部ＡＰＩが更新されたことを知るすべがないので、整合性をとることが難しく、外部ＡＰＩの変更によるシステムトラブルが問題となる。
【０００７】
本発明は前記問題に鑑みてなされたものであり、分散アプリケーションシステムにおいて、更新された外部ＡＰＩを検出することができる、更新ＡＰＩ検出システム、更新ＡＰＩ検出装置、更新ＡＰＩ検出方法、および更新ＡＰＩ検出プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明に係る更新ＡＰＩ検出システムは、アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、ＡＰＩ登録ＤＢ装置と更新ＡＰＩ検出装置とが設けられ、前記更新ＡＰＩ検出装置が前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出システムであって、前記ＡＰＩ登録ＤＢ装置は、前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備え、前記更新ＡＰＩ検出装置は、前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部と、前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定するＡＰＩ情報確認部と、前記ＡＰＩ情報確認部が、当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力するイベント出力部と、を備えることを特徴とする。
【０００９】
また、本発明に係る更新ＡＰＩ検出装置は、アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備えるＡＰＩ登録ＤＢ装置と共に前記インターネットに接続され、前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出装置であって、前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部と、前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定するＡＰＩ情報確認部と、前記ＡＰＩ情報確認部が、当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力するイベント出力部と、を備えることを特徴とする。
【００１０】
また、本発明に係る更新ＡＰＩ検出方法は、アプリケーション処理部およびＡＰＩ（アプリケーションプログラムインタフェース）部を各々備える複数のノードがインターネットを介して接続される分散アプリケーションシステムにおいて、前記複数のノード毎に設けられた開発端末により、当該ノードのＡＰＩ部が更新されたことを示すＡＰＩ履歴情報を、前記複数のノードのＡＰＩ部ごとに格納する記憶部を備えるＡＰＩ登録ＤＢ装置と共に前記インターネットに接続され、前記複数のノードのうち少なくとも１つを監視対象のノードとし、当該監視対象のノード以外の他のノードが備えるＡＰＩ部である外部ＡＰＩ部の更新を検出する更新ＡＰＩ検出装置に用いられる更新ＡＰＩ検出方法であって、前記更新ＡＰＩ検出装置は、前記監視対象のノード以外の他のノードが備える前記外部ＡＰＩ部の更新履歴を示す外部ＡＰＩ履歴情報が格納される記憶部を備え、前記ＡＰＩ登録ＤＢ装置の記憶部に格納される前記ＡＰＩ履歴情報と、当該更新ＡＰＩ検出装置の記憶部に格納される前記外部ＡＰＩ履歴情報と比較し、前記監視対象のノードのＡＰＩ部が分散アプリケーション処理に利用する前記他のノードが備える外部ＡＰＩ部に関する前記ＡＰＩ履歴情報が更新されているか否かを判定し、当該ＡＰＩ履歴情報が更新されていると判定した場合に、その判定結果を出力することを特徴とする。
【００１１】
また、本発明に更新ＡＰＩ検出プログラムは、前記更新ＡＰＩ検出方法を、前記更新ＡＰＩ検出装置に実行させることを特徴とする。
【００１２】
このようにすることで、更新ＡＰＩ検出装置は、接続されるＡＰＩ登録ＤＢ装置に格納されるＡＰＩ履歴情報を参照することで外部ＡＰＩ部が更新されているか否かを確認することができる。よって、本発明に係る更新ＡＰＩ検出システム、更新ＡＰＩ検出装置、更新ＡＰＩ検出方法、および更新ＡＰＩ検出プログラムによれば、外部ＡＰＩの更新を検出することができる。
【００１３】
また、本発明に係る更新ＡＰＩ検出システムは、前記ＡＰＩ登録ＤＢ装置の記憶部には、前記ＡＰＩ部を備える前記ノードのアドレスを示すＡＰＩアドレス情報がさらに格納されており、前記更新ＡＰＩ検出装置が、前記ＡＰＩ登録ＤＢ装置の前記ＡＰＩアドレス情報を参照し、前記外部ＡＰＩ部を備える前記他のノードの前記アドレスを取得して、前記外部ＡＰＩ部が有するデータと前記外部ＡＰＩ部が行う動作とのうち少なくとも１つを確認するＡＰＩテスト関数を、当該外部ＡＰＩ部を備える他のノードに送信し、返信として、前記ＡＰＩテスト関数のテスト結果を受信することにより、当該外部ＡＰＩ部が所定のデータを有するか否か、または所定の動作を行うか否かを判定するＡＰＩ動作確認テスト部、をさらに備え、前記イベント出力部は、前記ＡＰＩ動作確認テスト部が、当該外部ＡＰＩ部が所定のデータを有していない、または所定の動作を行わないと判定した場合に、その判定結果を出力する、ことを特徴とする。
【００１４】
このようにすることで、更新ＡＰＩ検出装置は、外部ＡＰＩ部を備えるノードに、外部ＡＰＩ部が有するデータと外部ＡＰＩ部の動作とのうち少なくとも１つを確認するＡＰＩテスト関数を送信し、当該外部ＡＰＩ部を備えるノードからＡＰＩテスト関数の結果を受信することができる。よって、本発明に係る更新ＡＰＩ検出システムによれば、外部ＡＰＩの更新に伴う監視対象のノードが備えるアプリケーションへの影響を知ることができる。
【００１５】
また、本発明に係る更新ＡＰＩ検出システムは、前記ＡＰＩ動作確認テスト部が、前記外部ＡＰＩ部が所定の動作を行うか否かを判定する場合に、前記外部ＡＰＩ部が処理を行い、その結果を確認することで当該外部ＡＰＩ部が所定の動作を行うか否かを確認するテスト関数、および当該処理のレスポンス時間が所定時間内であるか否かで当該外部ＡＰＩ部が所定の動作を行うか否かを確認するテスト関数のうち少なくとも１つを、前記外部ＡＰＩ部を備えるノードに送信することにより動作結果を確認する、ことを特徴とする。
【００１６】
このようにすることで、更新ＡＰＩ検出装置は、外部ＡＰＩ部にて処理を行い、その結果を確認し、または、当該処理のレスポンス時間を確認することができる。よって、本発明に係る更新ＡＰＩ検出システムによれば、処理結果およびレスポンス時間を用いて外部ＡＰＩの更新に伴う監視対象のノードが備えるアプリケーションへの影響を知ることができる。
【００１７】
また、本発明に係る更新ＡＰＩ検出システムは、前記ＡＰＩ履歴情報および前記外部ＡＰＩ履歴情報は、バージョン情報であり、前記ＡＰＩ情報確認部が、前記ＡＰＩ登録ＤＢ装置の記憶部に前記ＡＰＩ履歴情報として格納される前記ＡＰＩ部に関するバージョン情報と、前記更新ＡＰＩ検出装置の記憶部に前記外部ＡＰＩ履歴情報として格納される前記外部ＡＰＩ部のバージョン情報とを比較し、前記ＡＰＩ部に関するバージョン情報が更新されているか否かを判定する、ことを特徴とする。
【００１８】
このようにすることで、更新ＡＰＩ検出装置は、バージョン情報を用いて外部ＡＰＩ部が更新されているか否かを確認することができる。よって、本発明に係る更新ＡＰＩ検出システムによれば、外部ＡＰＩがどのバージョンに更新されたのかを知ることができる。
【発明の効果】
【００１９】
本発明に係る更新ＡＰＩ検出システム、更新ＡＰＩ検出装置、更新ＡＰＩ検出方法、および更新ＡＰＩ検出プログラムによれば、外部ＡＰＩの更新を検出することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る更新ＡＰＩ検出システムの構成図である。
【図２】本発明の実施形態に係る更新ＡＰＩ検出システムの構成図である。
【図３】本発明の実施形態に係るＡＰＩ登録ＤＢ装置に格納されるＡＰＩ情報のデータ構成図である。
【図４】本発明の実施形態に係るＡＰＩ動作確認テスト部が実装するＡＰＩテスト関数の例を示した図である。
【図５】本発明の実施形態に係るＡＰＩ登録ＤＢ装置へのＡＰＩ情報の登録処理を示すフローチャートである。
【図６】本発明の実施形態に係るＡＰＩ登録ＤＢ装置に登録されているＡＰＩ情報を更新したときの通知処理を示すフローチャートである。
【図７】本発明の実施形態に係るＡＰＩ動作確認テスト部がＡＰＩ部の動作確認をしたときの通知処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
≪更新ＡＰＩ検出システムの構成≫
＜概要＞
図１は、本発明の実施形態に係る更新ＡＰＩ検出システム１の構成図である。更新ＡＰＩ検出システム１は、クライアントノード２Ａ、サーバノード２Ｂ，２Ｃ、ノード開発者端末３Ａ，３Ｂ，３Ｃ、ルータ４Ａ，４Ｂ，４Ｃ、ＡＰＩ登録ＤＢ装置５、および更新ＡＰＩ検出サーバ６を備えて構成されており、各装置を備えるネットワーク７Ａ，７Ｂ，７Ｃはインターネット８を介して接続されている。以下、更新ＡＰＩ検出システム１を構成する各装置について説明する。
【００２２】
＜クライアントノード、サーバノード＞
本実施形態では、分散アプリケーションシステムにおけるノードのうち、外部プログラムを利用する側をクライアントノードと記載し、外部プログラムを提供する側をサーバノードと記載する。クライアントノード２Ａは、自己のアプリケーションにおいて、サーバノード２Ｂまたはサーバノード２Ｃのアプリケーションが備える機能モジュール（オブジェクト）を呼び出して処理を実行する。なお、本実施形態では、ネットワーク７Ａに備わるノード（クライアントノード２Ａ）が、クライアントノードとして動作し、ネットワーク７Ｂ，７Ｃにそれぞれ備わるノード（サーバノード２Ｂ，２Ｃ）が、サーバノードとして動作する場合を説明しているが、ネットワーク７Ｂ，７Ｃにそれぞれ備わるノード（サーバノード２Ｂ，２Ｃ）が、クライアントノードとして動作し、ネットワーク７Ａに備わるノード（クライアントノード２Ａ）がサーバノードとして動作してもよい。すなわち、各ノードは、クライアントノードとして動作してもよいし、サーバノードとして動作してもよい。
【００２３】
図１に示すように、クライアントノード２Ａ，サーバノード２Ｂ，２Ｃ（以下、まとめて「ノード２」と呼ぶときがある）は、それぞれの制御部２０Ａ，２０Ｂ，２０Ｃ（以下、まとめて「制御部２０」と呼ぶときがある）を備えて構成されている。制御部２０は、ＣＰＵ(Central Processing Unit)、メモリ、及びこれらの周辺回路等（いずれも図示せず）から構成される。制御部２０は、図示しない記憶部に格納されるプログラムをメモリに展開して実行することで機能を実現する。制御部２０は、アプリケーション処理部２１Ａ，２１Ｂ，２１Ｃ（以下、まとめて「アプリケーション処理部２１」と呼ぶときがある）およびＡＰＩ部２２Ａ，２２Ｂ，２２Ｃ（以下、まとめて「ＡＰＩ部２２」と呼ぶときがある）を備えて構成される。
【００２４】
アプリケーション処理部２１は、複数の機能モジュール（オブジェクト）から構成されており、モジュール毎に対応するＡＰＩを持っている。そのため、ＡＰＩ部２２の追加・更新・削除はモジュール毎に行われる。
【００２５】
また、アプリケーション処理部２１Ａ，２１Ｂ，２１Ｃは連携動作し、１つのアプリケーションを実現する。具体的には、アプリケーション処理部２１Ａは、アプリケーション処理部２１Ｂ，２１Ｃが備える機能モジュール（オブジェクト）の呼び出しを実行する際に、ＡＰＩ部２２Ａを用いて呼び出し先のアプリケーション処理部２１Ｂ，２１Ｃに機能モジュール（オブジェクト）の呼び出しを依頼するメッセージを送信する。次に、呼び出し先のアプリケーション処理部２１Ｂ，２１Ｃは、ＡＰＩ部２２Ｂ，２２Ｃを用いて呼び出し依頼のメッセージを受信し、呼び出し先の機能モジュール（オブジェクト）を用いて必要な処理を実行した後に、呼び出し元のアプリケーション処理部２１ＡにＡＰＩ部２２Ｂ，２２Ｃを用いて実行結果を含んだメッセージを送信する。次に、呼び出し元のアプリケーション処理部２１Ａは、ＡＰＩ部２２Ａを用いて実行結果を含んだメッセージを受信し、実行結果を戻り値として以降のアプリケーション処理を実行する。
【００２６】
ＡＰＩ部２２は、アプリケーション処理部２１を構成する機能モジュール（オブジェクト）同士を連携させるものであり、例えば、ＳＯＡＰ(Simple Object Access Protocol)、ＲＥＳＴ(Representational State Transfer)等に準拠している。ＳＯＡＰに準拠しているＡＰＩを例に挙げて処理を説明すると、ＡＰＩ部２２Ａは、アプリケーション処理部２１Ａがサーバノード２Ｂ，２Ｃのアプリケーション処理部２１Ｂ，２１Ｃが備える機能モジュール（オブジェクト）の呼び出しを実行する際に、呼び出し依頼のＳＯＡＰメッセージを生成する。そして、ＡＰＩ部２２Ａは、生成したＳＯＡＰメッセージをＨＴＴＰ(HyperText Transfer Protcol)等を介して呼び出し先のアプリケーション処理部２１Ｂ，２１Ｃに送信する。また、ＡＰＩ部２２Ｂ，２２Ｃは、呼び出し依頼のＳＯＡＰメッセージを受信し、機能モジュール（オブジェクト）の処理に必要な情報を、呼び出し先のアプリケーション処理部２１Ｂ，２１Ｃに渡し、機能モジュール（オブジェクト）の処理後に、実行結果を含んだメッセージを生成する。そして、ＡＰＩ部２２Ｂ，２２Ｃは、生成したＳＯＡＰメッセージをＨＴＴＰ(HyperText Transfer Protcol)等を介して呼び出し元のアプリケーション処理部２１Ａに送信する。
【００２７】
＜ノード開発者端末＞
ノード開発者端末（開発端末）３Ａ，３Ｂ，３Ｃ（以下、まとめて「ノード開発者端末３」と呼ぶときがある）は、ノード２の図示しない記憶部に格納されるアプリケーションプログラムおよびＡＰＩ（いずれも図示せず）の設計や更新等の開発を行う端末である。ノード開発者端末３は、計算処理機能を備える一般的な情報処理装置（例えばＰＣ(Personal Computer)）で構成される。それぞれのノード開発者端末３Ａ，３Ｂ，３Ｃは、それぞれの記憶部３１Ａ，３１Ｂ，３１ＣにそれぞれのＡＰＩ登録ファイル３２Ａ，３２Ｂ，３２Ｃ（以下、まとめて「ＡＰＩ登録ファイル３２」と呼ぶときがある）を備える。
【００２８】
ＡＰＩ登録ファイル３２には、各端末で開発したそれぞれの図示しないＡＰＩの情報、すなわちＡＰＩ部２２が更新された場合には、更新後のＡＰＩ情報が格納されている。ＡＰＩ登録ファイル３２のデータ構成は、後記するＡＰＩ登録ＤＢ装置５の内容を更新できる情報が含まれていればよい。例えば、ＡＰＩ登録ＤＢ装置５が格納するＡＰＩ情報５１のデータ構成と同様にしてもよい。本実施形態では、ＡＰＩ登録ファイル３２のデータ構成は、ＡＰＩ登録ＤＢ装置５が格納するＡＰＩ情報５１と同様のデータ構成であるとする。
【００２９】
＜ルータ＞
ルータ４Ａ，４Ｂ，４Ｃは、２つ以上の異なるネットワーク間を相互接続する通信機器である。
【００３０】
＜ＡＰＩ登録ＤＢ装置＞
ＡＰＩ登録ＤＢ装置５は、ノード２が実行する分散アプリケーションシステムで用いられるＡＰＩ部２２の情報がＡＰＩ情報５１として格納されている。ＡＰＩ情報５１の内容は、ＡＰＩ部２２が更新されるたびに、ノード開発者端末３に格納されるＡＰＩ登録ファイル３２を受信することで更新される。そのため、ＡＰＩ情報５１は、常にＡＰＩ部２２の更新後の情報が格納されている。図３は、ＡＰＩ登録ＤＢ装置５に格納されているＡＰＩ情報５１のデータ構成図である。以下、ＡＰＩ情報５１を構成する項目の内容を説明する。
【００３１】
外部プログラムアドレス（ＡＰＩアドレス情報）５１１には、アプリケーション処理部２１Ａ，２１Ｂ，２１ＣおよびＡＰＩ部２２Ａ，２２Ｂ，２２Ｃを備えるノード２Ａ，２Ｂ，２Ｃのアドレスが設定される。本実施形態では、アドレスをＵＲＬ(Uniform Resource Locator)で記述した場合を例示している。ＡＰＩ形式５１２には、ＡＰＩのインタフェース形式が設定される。インタフェース形式は、例えば、ＳＯＡＰ、ＲＥＳＴ等が該当する。
【００３２】
ＡＰＩ名５１３には、ＡＰＩの関数名が設定される。関数名は、例えば、ＡＰＩの開発者が任意に決定した文字列であってよい。引数５１４には、ＡＰＩの関数に受け渡す引数が設定される。引数５１４は、例えば、「ｄａｔａ」、「ｔｉｍｅ」等が用いられる。バージョン（ＡＰＩ履歴情報）５１５には、ＡＰＩ部２２の最新のバージョン情報が設定される。バージョン５１５には、バージョン情報のほかに、ＡＰＩ履歴情報として更新日時等のＡＰＩ部２２が更新されたことを表す情報を用いることができる。
【００３３】
＜更新ＡＰＩ検出サーバ＞
図２は、本発明の実施形態に係る更新ＡＰＩ検出システム１の構成図である。図１と図２との違いは、図１は、更新ＡＰＩ検出システム１を構成する装置のうち、ノード２およびノード開発者端末３の機能を示したものであり、図２は、更新ＡＰＩ検出サーバ６の機能を具体的に示したものである。
【００３４】
図２に示す、更新ＡＰＩ検出サーバ（更新ＡＰＩ検出装置）６は、分散アプリケーションシステムを構成するノード２のうち、ある特定のノードを監視対象とし、監視対象のノードが備えるアプリケーション処理部２１が自己のノード以外で利用する他のノードが備えるＡＰＩ部２２の更新を検出し、監視対象のノード２のノード開発者端末３に通知する。
以下、「監視対象のノードが備えるアプリケーション処理部が自己のノード以外で利用する他のノード」のことを「外部のノード」と呼ぶときがあり、また、外部のノードが備える「アプリケーション処理部」および「ＡＰＩ部」を、「外部のアプリケーション処理部」および「外部のＡＰＩ部（外部ＡＰＩ部）」と呼ぶときがある。本実施形態では、ネットワーク７Ａ内のクライアントノード２Ａを監視対象とする場合を例に、更新ＡＰＩ検出サーバ６の機能を説明する。
【００３５】
なお、本実施形態では、更新ＡＰＩ検出サーバ６がネットワーク７Ａ内に配設され、クライアントノード２Ａを監視対象とする場合を例に挙げて説明するが、システム構成はこれに限定されない。例えば、更新ＡＰＩ検出サーバ６をネットワーク７Ｂまたは７Ｃ内に配設し、ネットワーク７Ｂ，７Ｃそれぞれのサーバノード２Ｂ，２Ｃを監視対象とすることも可能である。また、更新ＡＰＩ検出サーバ６をインターネット８上に配設し、クライアントノード２Ａ、およびサーバノード２Ｂ，２Ｃを監視対象とすることも可能である。この場合、更新ＡＰＩ検出サーバ６は、インターネット８と接続されたすべてのノード２、または、予め設定したノード２について監視対象として、更新されたＡＰＩ部２２の検出処理を行う。また、更新ＡＰＩ検出サーバ６が備える更新されたＡＰＩ部２２を検出する機能を、クライアントノード２Ａに備えるようにしてもよい。
【００３６】
図２に示す、更新ＡＰＩ検出サーバ６は、記憶部６１および制御部６３を備えて構成される。記憶部６１は、ＨＤＤ(Hard Disk Drive)等で構成され、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１のうち、監視対象であるクライアントノード２Ａが備えるアプリケーション処理部２１Ａが利用する外部のＡＰＩ部２２Ｂ，２２Ｃの情報が、外部ＡＰＩ情報６２として格納されている。外部ＡＰＩ情報６２のデータ構成は、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１が備える項目のうち、バージョン５１５についての情報を少なくとも備える構成とすればよく、ＡＰＩ情報５１と同様のデータ構成であってもかまわない。ここで、記憶部６１に格納されるバージョン５１５に対応する情報を、外部ＡＰＩ履歴情報と呼ぶ。本実施形態では、外部ＡＰＩ情報６２のデータ構成は、ＡＰＩ登録ＤＢ装置５と同様のデータ構成であるとする。
【００３７】
制御部６３は、ＣＰＵ、メモリ、およびこれらの周辺回路等（いずれも図示せず）から構成される。制御部６３は、記憶部６１に格納される図示しないプログラムをメモリに展開して実行することで機能を実現する。制御部６３は、更新ＡＰＩ検出部６４、およびＡＰＩ部６８を備える。更新ＡＰＩ検出部６４は、更新されたＡＰＩ部を検出する処理の全体を制御する。ＡＰＩ部６８は、更新されたＡＰＩ部２２を検出する処理において、外部のノード２Ｂ，２Ｃとの通信に利用される。更新ＡＰＩ検出部６４は、さらに、ＡＰＩ動作確認テスト部６５、ＡＰＩ情報確認部６６、およびイベント通知部６７を備えて構成される。
【００３８】
（ＡＰＩ動作確認テスト部）
ＡＰＩ動作確認テスト部６５は、ＡＰＩテスト関数（後記する図４参照）を用いて、監視対象であるクライアントノード２Ａが備えるアプリケーション処理部２１Ａが利用する外部のアプリケーション処理部２１Ｂ，２１Ｃおよび外部のＡＰＩ部２２Ｂ，２２Ｃが、期待通り（正常に）に動作することを確認する。ＡＰＩ動作確認テスト部６５による動作確認は、所定の間隔で行うようにするのがよい。具体的には、ＡＰＩ動作確認テスト部６５は、ＡＰＩ部６８を用いて図４に記載されるＡＰＩテスト関数を外部のサーバノード２Ｂ，２Ｃに送信する。
【００３９】
図４は、ＡＰＩ動作確認テスト部６５が用いるＡＰＩテスト関数の例を示した図である。図４に示すＡＰＩテスト関数は、スクリプト言語である「Ｒｕｂｙ」を利用して作成している。
【００４０】
図４（ａ）に示す「test＿func＿a」関数は、サーバノード２Ｂ，２ＣのＡＰＩ部２２Ｂ，２２ＣからＡＰＩ部２２Ｂ，２２Ｃが有するデータを取得し、取得したデータが期待するデータであるかどうかを確認するテスト関数である。本例では「get＿from＿api＿a」関数で、サーバノード２Ｂ，２Ｃからデータを取得している。
【００４１】
図４（ｂ）に示す「test＿func＿b」関数は、サーバノード２Ｂ，２Ｃにて処理を行い、その結果を確認するテスト関数である。本例では「do＿api＿b」関数で、サーバノード２Ｂ，２Ｃの処理を実行し、その返り値である「result」変数を確認している。
【００４２】
図４（ｃ）に示す「test＿func＿c」関数は、サーバノード２Ｂ，２Ｃの処理のレスポンス時間を確認するテスト関数である。本例では、レスポンス時間を検査する「assert＿response」関数に対して、「condition＿func＿c」関数を定義して確認条件を与える。本例では、期待するレスポンス時間１(sec)、試行回数１０(回)として確認条件を作成している。
【００４３】
（ＡＰＩ情報確認部）
図２に戻り、ＡＰＩ情報確認部６６は、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１のうち、監視対象であるクライアントノード２Ａが備えるアプリケーション処理部２１Ａが利用する外部のＡＰＩ部２２Ｂ，２２Ｃに関する情報が更新されていないかどうかを確認する。具体的には、ＡＰＩ情報確認部６６は、ＡＰＩ登録ＤＢ装置５に格納される外部のＡＰＩ部２２Ｂ，２２Ｃについてのバージョン（ＡＰＩ履歴情報）５１５が、記憶部６１に格納される外部ＡＰＩ履歴情報と比べて更新されているか否かを比較することで、更新されていないかどうかを判定する。ＡＰＩ情報確認部６６による更新確認は、所定の間隔で行う。
【００４４】
（イベント通知部）
イベント通知部（イベント出力部）６７は、ＡＰＩ動作確認テスト部６５が外部のＡＰＩ部２２Ｂ，２２Ｃの変更、および処理性能の変更などの通知すべき情報を検出した場合に、外部のＡＰＩ部２２Ｂ，２２Ｃが変更されたこと等を監視対象のクライアントノード２Ａの開発者が使用するノード開発者端末３Ａに通知する。また、イベント通知部６７は、ＡＰＩ情報確認部６６が、ＡＰＩ登録ＤＢ装置５が格納するＡＰＩ情報５１のうち、外部のＡＰＩ部２２Ｂ，２２Ｃに関する情報が更新された等の通知すべき情報を検出した場合に、外部のＡＰＩ部２２Ｂ，２２Ｃの情報が更新されたことを監視対象のクライアントノード２Ａの開発者が使用するノード開発者端末３Ａに通知する。
以上で、実施形態に係る更新ＡＰＩ検出システム１の構成の説明を終了する。
【００４５】
≪更新ＡＰＩ検出システムの動作≫
＜概要＞
図５ないし図７を参照して、実施形態に係る更新ＡＰＩ検出システム１の動作について説明する。
図１では、サーバノード２Ｂの制御部２０Ｂに、ＡＰＩ部２２Ｂが記載されているようにアプリケーション処理部２１ＢにＡＰＩ部２２Ｂが設定されている。
ここでは、アプリケーション処理部２１ＢにＡＰＩ部２２Ｂが設定されていないものと仮定して、アプリケーション処理部２１ＢにＡＰＩ部２２Ｂを追加することによるＡＰＩ登録ＤＢ装置５へのＡＰＩ部２２Ｂの情報の登録動作を図５において説明する。次に、追加されたＡＰＩ部２２Ｂが変更された場合の動作について図６において説明する。さらに、ＡＰＩ動作確認テスト部６５がＡＰＩ部２２の動作確認をしたときの通知処理を図７において説明する。
【００４６】
＜ＡＰＩ登録ＤＢ装置におけるＡＰＩ情報の登録＞
図５は、ＡＰＩ登録ＤＢ装置５におけるＡＰＩ情報５１の登録処理を示すフローチャートである。最初に、ノード２Ｂの開発者（以下、開発者Ｂと呼ぶときがある）により、ノード開発者端末３Ｂを用いてアプリケーション処理部２１Ｂに対して新たにＡＰＩ部２２Ｂが追加される（ステップＳ１０１）。
【００４７】
次に、ノード開発者端末３ＢによりＡＰＩ登録ファイル３２Ｂが作成され（ステップＳ１０２）、図示しない形式ＣＨＫプログラムを用いてＡＰＩ登録ファイル３２Ｂの形式を検査する（ステップＳ１０３）。
【００４８】
次に、ノード開発者端末３Ｂは、形式判定プログラムが検査したＡＰＩ登録ファイル３２Ｂの形式が正しいか否かを判定する（ステップＳ１０４）。正しい形式であると判定された場合（ステップＳ１０４“Ｙｅｓ”）に、処理はステップＳ１０５に進む。一方、正しい形式でないと判定された場合（ステップＳ１０４“Ｎｏ”）に、処理はステップＳ１０２に戻って、新たにＡＰＩ登録ファイル３２Ｂが作成される。
【００４９】
前記ステップＳ１０４“Ｙｅｓ”の場合に、ノード開発者端末３Ｂは、作成したＡＰＩ登録ファイル３２Ｂを、ＡＰＩ登録ＤＢ装置５に送信することで、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１に作成されたＡＰＩ登録ファイル３２Ｂの情報を登録する（ステップＳ１０５）。
以上で、ＡＰＩ登録ＤＢ装置５に対するＡＰＩ情報の登録処理の説明を終了する。
【００５０】
＜ＡＰＩ登録ＤＢ装置に登録されているＡＰＩ情報を更新したときの通知処理＞
図６は、ＡＰＩ登録ＤＢ装置５に登録されているＡＰＩ情報５１を更新したときの通知処理を示すフローチャートである。最初に、ノード開発者端末３ＢがＡＰＩ部２２Ｂを更新する（ステップＳ２０１）。
【００５１】
次に、ノード開発者端末３Ｂは、ＡＰＩ登録ファイル３２Ｂを更新し（ステップＳ２０２）、図示しない形式ＣＨＫプログラムが更新されたＡＰＩ登録ファイル３２Ｂの形式を検査する（ステップＳ２０３）。
【００５２】
次に、ノード開発者端末３Ｂは、形式判定プログラムが検査したＡＰＩ登録ファイル３２Ｂの形式が正しいか否かを判定する（ステップＳ２０４）。正しい形式であると判定された場合（ステップＳ２０４“Ｙｅｓ”）に、処理はステップＳ２０５に進む。一方、正しい形式でないと判定された場合（ステップＳ２０４“Ｎｏ”）に、処理はステップＳ２０２に戻って、再度、ＡＰＩ登録ファイル３２Ｂが更新される。
【００５３】
前記ステップＳ２０４“Ｙｅｓ”の場合に、更新されたＡＰＩ登録ファイル３２Ｂを、ノード開発者端末３ＢがＡＰＩ登録ＤＢ装置５に送信することで、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１に更新されたＡＰＩ登録ファイル３２Ｂの情報を登録する（ステップＳ２０５）。
【００５４】
次に、更新ＡＰＩ検出サーバ６のＡＰＩ情報確認部６６は、所定の間隔で、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１のうち、監視対象であるクライアントノード２Ａが備えるアプリケーション処理部２１Ａが利用する外部のＡＰＩ部２２Ｂ，２２Ｃに関する情報が更新されていないかを検出する（ステップＳ２０６）。
【００５５】
次に、更新ＡＰＩ検出サーバ６のＡＰＩ情報確認部６６が、ＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１のうち、監視対象であるクライアントノード２Ａが備えるアプリケーション処理部２１Ａが利用する外部のＡＰＩ部２２Ｂ，２２Ｃに関する情報が更新された情報を検出した場合に、イベント通知部６７は、ＡＰＩ登録ＤＢ装置５の情報が更新されたことを、監視対象のクライアントノード２Ａを開発する端末であるノード開発者端末３Ａに送信（通知）する（ステップＳ２０７）。
【００５６】
次に、ノード開発者端末３Ａによりアプリケーション処理部２１Ａが更新（修正）される（ステップＳ２０８）。
以上で、ＡＰＩ登録ＤＢ装置５に登録されているＡＰＩ情報を更新したときの通知処理の説明を終了する。
【００５７】
＜外部のＡＰＩ部の動作確認をしたときの通知処理＞
図７は、ＡＰＩ動作確認テスト部６５が外部のＡＰＩ部２２Ｂ，２２Ｃの動作確認をしたときの通知処理を示すフローチャートである。最初に、更新ＡＰＩ検出サーバ６のＡＰＩ動作確認テスト部６５は、ＡＰＩテスト関数（図４参照）を用いて動作確認処理を実行する（ステップＳ３０１）。具体的には、ＡＰＩ動作確認テスト部６５は、ＡＰＩ部６８を用いて図４に記載されるＡＰＩテスト関数を外部のサーバノード２Ｂ，２Ｃに送信する。
【００５８】
次に、更新ＡＰＩ検出サーバ６のＡＰＩ動作確認テスト部６５は、ＡＰＩテスト関数（図４参照）が期待通りに動作したか（テストをパスしたか）否かを判定する（ステップＳ３０２）。ＡＰＩ動作確認テスト部６５は、テストをパスしたと判定した場合（ステップＳ３０２“Ｙｅｓ”）に、外部のＡＰＩ部２２Ｂ，２２Ｃの動作確認処理を終了する。一方、テストをパスしないと判定された場合（ステップＳ３０２“Ｎｏ”）に、処理はステップＳ３０３に進む。
【００５９】
次に、ステップＳ３０３において、更新ＡＰＩ検出サーバ６のイベント通知部６７は、ＡＰＩ動作確認テスト部６５は、テストをパスしなかったことを、監視対象のクライアントノード２Ａを開発する端末であるノード開発者端末３Ａに送信（通知）する。
【００６０】
次に、ノード開発者端末３Ａによりアプリケーション処理部２１Ａが更新（修正）される（ステップＳ３０４）。
以上で、外部のＡＰＩ部２２Ｂ，２２Ｃの動作確認をしたときの通知処理の説明を終了する。
【００６１】
以上のように、本実施形態に係る更新ＡＰＩ検出サーバ６は、接続されるＡＰＩ登録ＤＢ装置５に格納されるＡＰＩ情報５１を参照することで外部のＡＰＩ部２２Ｂ，２２Ｃが更新されているか否かを確認することができる。よって、本実施形態に係る更新ＡＰＩ検出システム１によれば、外部のサーバノード２Ｂ，２Ｃが備えるＡＰＩ部２２Ｂ，２２Ｃの更新を検出することができる。
【００６２】
また、本実施形態に係る更新ＡＰＩ検出サーバ６は、外部のＡＰＩ部２２Ｂ，２２Ｃが備えられるサーバノード２Ｂ，２Ｃに、ＡＰＩ部２２Ｂ，２２Ｃが有するデータおよび動作のうち少なくともどちらか１つを確認するＡＰＩテスト関数を送信し、外部のＡＰＩ部２２Ｂ，２２Ｃが備えられるサーバノード２Ｂ，２ＣからＡＰＩテスト関数の結果を受信することができる。よって、本実施形態に係る更新ＡＰＩ検出システム１によれば、外部のＡＰＩ部２２Ｂ，２２Ｃの更新に伴う監視対象のクライアントノード２Ａが備えるアプリケーション処理部２１Ａへの影響を知ることができる。
【符号の説明】
【００６３】
１          更新ＡＰＩ検出システム
２Ａ        クライアントノード
２Ｂ，２Ｃ  サーバノード
２０        制御部
２１        アプリケーション処理部
２２        ＡＰＩ部
３          ノード開発者端末（開発端末）
３１        記憶部
３２        ＡＰＩ登録ファイル
４          ルータ
５          ＡＰＩ登録ＤＢ装置
５１        ＡＰＩ情報
６          更新ＡＰＩ検出サーバ（更新ＡＰＩ検出装置）
６１        記憶部
６２        外部ＡＰＩ情報
６３        制御部
６４        更新ＡＰＩ検出部
６５        ＡＰＩ動作確認テスト部
６６        ＡＰＩ情報確認部
６７        イベント通知部（イベント出力部）
６８        ＡＰＩ部
７          ネットワーク
８          インターネット
【図１】
2011257994.tif 000003
【図２】
2011257994.tif 000004
【図３】
2011257994.tif 000005
【図４】
2011257994.tif 000006
【図５】
2011257994.tif 000007
【図６】
2011257994.tif 000008
【図７】
2011257994.tif 000009