(57)【要約】【課題】  ウェブ・サービスを検出する方法およびシステムを提供する。【解決手段】  本ウェブ・サービス検出方法は、ウェブ・サービス要求を受信するステップと、要求されたウェブ・サービスのタイプを判断するステップと、ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出するステップを含み、ウェブ・サービスが固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検出するのに、テストケースを動作させ、ウェブ・サービスが非固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検出するのに、ウェブ・サービスに対して範囲テストを実行する。本発明によれば、ウェブ・サービスの変化を迅速かつ正確に検出することができる。【選択図】  図２
2010218538.tif 000002
【特許請求の範囲】
【請求項１】
ａ）ウェブ・サービス要求を受信するステップと、
ｂ）要求されたウェブ・サービスのタイプを判断するステップと、
ｃ）ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出するステップを含み、
前記ウェブ・サービスが固定タイプのウェブ・サービスである場合、前記ウェブ・サービスが変化しているかどうかを検出するのに、テストケースを動作させ、
前記ウェブ・サービスが非固定タイプのウェブ・サービスである場合、前記ウェブ・サービスが変化しているかどうかを検出するのに、前記ウェブ・サービスに対して範囲テストを実行する
ことを特徴とするウェブ・サービス検出方法。
【請求項２】
前記ステップｃ）の後、
前記テストケースまたは前記範囲テストが通過すれば、要求された前記ウェブ・サービスをユーザに出力し、
前記テストケースまたは前記範囲テストが通過しなければ、前記ウェブ・サービスが変化したことを、ユーザに対して提示することを特徴とする請求項１に記載のウェブ・サービス検出方法。
【請求項３】
前記ステップｃ）の後、
ウェブ・サービスが閉じられあるいは時間外である場合、ウェブ・サービスのエラーを位置決めしてユーザに報告することを特徴とする請求項１に記載のウェブ・サービス検出方法。
【請求項４】
前記ステップａ）とステップｂ）の間に、
前記ウェブ・サービスの状態を判断するステップを含み、
前記ウェブ・サービスが閉じられあるいは時間外である場合、ウェブ・サービスのエラーをユーザに報告し、
そうでなければ、前記ステップｂ）とステップｃ）を実施することを特徴とする請求項１に記載のウェブ・サービス検出方法。
【請求項５】
前記ステップｂ）において、要求されたウェブ・サービスのタイプをウェブ・サービス・タイプ・テーブルに基づいて判断することを特徴とする請求項１に記載のウェブ・サービス検出方法。
【請求項６】
ステップａ）の前に、
ウェブ・サービスを受信するステップと、
受信した前記ウェブ・サービスのタイプを判断するステップと、
前記ウェブ・サービスが固定タイプのウェブ・サービスならば、テストケースを記録するステップと、
前記ウェブ・サービスが非固定タイプのウェブ・サービスならば、ウェブ・サービスの正常出力範囲について統計をとるステップを含む
一連のトレーニング・ステップを有することを特徴とする請求項１に記載のウェブ・サービス検出方法。
【請求項７】
一連のトレーニング・ステップにおいて、受信したウェブ・サービスのタイプをタイプテストモデルに基づいて判断することを特徴とする請求項６に記載のウェブ・サービス検出方法。
【請求項８】
ウェブ・サービス要求の受信する第１の受信部と、
要求されたウェブ・サービスのタイプを判断する第１の判断部と、
前記ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出する変化検出部とを備え、
前記ウェブ・サービスが固定タイプのウェブ・サービスである場合、前記ウェブ・サービスが変化しているかどうかを検査するためにテストケースを動作させる値テスト部を呼び出し、
前記ウェブ・サービスが非固定タイプのウェブ・サービスである場合、前記ウェブ・サービスが変化しているかどうかを検査するためにウェブ・サービスに対して範囲テストを実行する範囲テスト部を呼び出すことを特徴とするウェブ・サービス検出システム。
【請求項９】
前記テストケースまたは前記範囲テストが通過すれば、要求された前記ウェブ・サービスをユーザに出力する出力部を呼び出し、
前記テストケースまたは前記範囲テストが通過しなければ、前記ウェブ・サービスが変化したことを、ユーザに対して提示する提示部を呼び出すことを特徴とする請求項８に記載のウェブ・サービス検出システム。
【請求項１０】
ウェブ・サービスが閉じられあるいは時間外である場合、ウェブ・サービスのエラーを位置決めしてユーザに報告する位置決め・報告部を呼び出すことを特徴とする請求項８に記載のウェブ・サービス検出システム。
【請求項１１】
前記第１の受信部と前記第１の判断部の間に、前記ウェブ・サービスの状態を判断するウェブ・サービス状態判断を備え、
前記ウェブ・サービス状態判断は、
ウェブ・サービスのエラーを位置決めしてユーザに報告する位置決め・報告部を呼び出し、
そうでなければ、前記第１の判断部を呼び出すことを特徴とすする請求項８に記載のウェブ・サービス検出システム。
【請求項１２】
前記第１の判断部は、要求されたウェブ・サービスのタイプをウェブ・サービス・タイプ・テーブルに基づいて判断することを特徴とする請求項８に記載のウェブ・サービス検出システム。
【請求項１３】
トレーニング部を備え、
前記トレーニング部は、
ウェブ・サービスを受信する第２の受信部と、
受信した前記ウェブ・サービスのタイプを判断する第２の判断部と、
前記ウェブ・サービスが固定タイプのウェブ・サービスならば、テストケースを記録するテストケース記録部と、
前記ウェブ・サービスが非固定タイプのウェブ・サービスならば、ウェブ・サービスの正常出力範囲について統計をとる出力範囲統計部を含む
ことを特徴とする請求項８に記載のウェブ・サービス検出システム。
【請求項１４】
前記第２の判断部は、受信したウェブ・サービスのタイプをタイプテストモデルに基づいて判断することを特徴とする請求項１３に記載のウェブ・サービス検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は情報技術の分野に関し、特に、Ｗｅｂサービスを検出する方法およびシステムに関する。
【背景技術】
【０００２】
多くのウェブ・サービス（例えば、天気予報サービス、足し算サービス、電子メールサービスなど）は、インターネットの発展に伴って出現し、それらのウェブ・サービスは人々の生活および仕事において重要な役割を果たしている。しかし、これらのウェブ・サービスは頻繁に変化する。例えば、位置が変化し、あるいはバージョンがアップグレードし、サービス内容が変化する。
【０００３】
通常、そのような変化は適時にかつ正確に検出することができないので、ウェブ・サービスが変化すると、ウェブ・サービスに再びアクセスするユーザは間違った返却結果を取得する可能性がある。さらに、そのような変化したウェブ・サービスが組み合わされた一連のウェブ・サービスの一部ならば、そのような変化により引き起こされたエラーはほとんど特定されないだろう。それは深刻な付随的な結果を引き起こす可能性がある。
【０００４】
ウェブ・サービスが変化しているかどうかを検出することが、ユーザが潜在的損失を回避するのを支援することになる。
【０００５】
関連技術において、ウェブ・サービスが変化しているかどうかを検知するのに主要な２種類の解決法が存在する。
【０００６】
第１の解決法においては、中国特許出願公報第ＣＮ１５１４３８１Ａ号（特許文献１）に開示されるように、各ウェブ・サービスが、サーバおよびそれを使用するユーザのクライアントに記述的なファイルを保持する。ユーザがウェブ・サービスを要求する度に、サーバとクライアントの２つのウェブ・サービス記述ファイルが同一であるかどうかを比較することにより、ウェブ・サービスが変化しているかどうかが判断される。
【０００７】
他の解決法は、「ウェブ・サービス試験のためのスイスチーズ試験事例の生成（Swiss Cheese Test Case Generation for Web
Services Testing）」（非特許文献１）および「ウェブについてのテスト・データの取得（Finding Test Data on the Web）」（非特許文献２）に開示されている。これらの文献に記載される解決法では、ウェブ・サービスに対する多数のテストケースを自動的に生成し、ユーザがウェブ・サービスを要求する度に、そのテストケースがウェブ・サービスが変化しているかどうかを判断するために用いられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】中国特許出願公報第ＣＮ１５１４３８１Ａ号
【非特許文献】
【０００９】
【非特許文献１】ウェブ・サービス試験のためのスイスチーズ試験事例の生成（Swiss Cheese Test Case Generation for Web ServicesTesting）
【非特許文献２】ウェブについてのテスト・データの取得（Finding Test Data on the Web）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１記載の解決法の欠点は、各ウェブ・サービスがサーバにその記述ファイルを保持しなければならないことである。さらに、ウェブ・サービスを使用するユーザのクライアントが、初めてウェブ・サービスにアクセスする際に、記述ファイルをローカルにコピーして格納する必要があることである。しかしながら、ウェブ・サービスにアクセスする多くのクライアントは、対応する記憶機能を有しない代表的なブラウザー（例えば、ＩＥやＦｉｒｅｆｏｘ等）である。さらに、ウェブ・サービスプロバイダは、ウェブ・サービスが変化する度に、サーバ上の記述ファイルを修正することが必要である。ウェブ・サービスプロバイダが記述ファイルを修正するのを拒絶しあるいは忘れれば、この解決方法は効果を失う。
【００１１】
非特許文献１、２に記載の解決法の欠点は、テストケースを生成するための多くの方法があるが、一般的にテストケースの生成のためのアルゴリズムが複雑であるということである。また、ユーザがあるウェブ・サービスを要求する度に、全てのテストケースを動作させるため、多くの時間を消費し、実用的でないことである。
【００１２】
本発明は、ウェブ・サービスが変化しているかどうかを迅速かつ正確に検出でき、それにより、ウェブ・サービスプロバイダーの仕事量を減少させて、ウェブ・サービスの品質およびユーザの利益を保証することができる、簡単でかつ合理的なウェブ・サービス検出方法を提供する。
【課題を解決するための手段】
【００１３】
本発明によるウェブ・サービス検出方法は、ウェブ・サービス要求を受信するステップと、要求されたウェブ・サービスのタイプを判断するステップと、ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出するステップを含み、ウェブ・サービスが固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検出するのに、テストケースを動作させ、ウェブ・サービスが非固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検出するのに、ウェブ・サービスに対して範囲テストを実行する。
【００１４】
本発明によるウェブ・サービス検出システムは、ウェブ・サービス要求の受信する第１の受信部と、要求されたウェブ・サービスのタイプを判断する第１の判断部と、ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出する変化検出部とを備え、ウェブ・サービスが固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検査するためにテストケースを動作させる値テスト部を呼び出し、ウェブ・サービスが非固定タイプのウェブ・サービスである場合、ウェブ・サービスが変化しているかどうかを検査するためにウェブ・サービスに対して範囲テストを実行する範囲テスト部を呼び出す。
【発明の効果】
【００１５】
本発明によれば、ウェブ・サービスが変化しているかどうかを迅速かつ正確に検出することができる。
【図面の簡単な説明】
【００１６】
以下の添付図面の説明と併せることによって、本発明の他の目的および効果は、本発明についての包括的な理解をもってより明確にかつ容易に理解できるであろう。
【図１】本発明を実現することが可能なシステムを示す図である。
【図２】本発明の実施の形態によるウェブ・サービス検出方法を説明するフローチャートである。
【図３】本発明の他の実施の形態によるウェブ・サービス検出方法を説明するフローチャートである。
【図４】本発明の実施の形態によるトレーニング方法を説明するフローチャートである。
【図５】本発明の実施の形態によるウェブ・サービス検出システムの構成例を示すブロック図である。
【図６】本発明の他の実施の形態によるウェブ・サービス検出システムの構成例を示すブロック図である。
【図７】本発明の実施の形態によるトレーニング部の構成例を示すブロック図である。  上記の添付図面のすべてにおいて、同じ参照番号は、同一または類似の、あるいは相応する特徴または機能を表わす。
【発明を実施するための形態】
【００１７】
図１は、本発明を実現することが可能なシステムを示す。図１に示すように、システム１００は、サーバ１１０、サーバ／クライアント１２０、クライアント１３０及びネットワーク１４０を含む。
このサーバ１１０、サーバ／クライアント１２０およびクライアント１３０は、ラップトップ型コンピュータ、小型コンピュータ、中型コンピュータ、大型コンピュータなどで実現できる。
さらに、サーバ１１０は、リンク１１２を経由してネットワーク１４０に接続され、サーバ／クライアント１２０は、リンク１２２を経由してネットワーク１４０に接続され、また、クライアント１３０は、リンク１３２を経由してネットワーク１４０に接続されている。
リンク１１２、１２２および１３２は、同軸ケーブル、光ファイバなどのような有線リンクでもよいし、あるいは衛星リンクなどのような無線リンクであってもよい。
同様に、ネットワーク１４０は、無線ネットワーク、有線ネットワークあるいはそれらの組合せであってもよい。
さらに、ネットワーク１４０は、ローカルエリアネットワーク、メトロポリタン・エリア・ネットワーク（Metropolitan Area Network）、広域ネットワークあるいはそれらの組合せであってもよい。例えば、ネットワーク１４０は、インターネットである。
【００１８】
もちろん、当業者は、ネットワーク１４０が他のクライアントおよび（または）サーバと接続されている可能性があることを理解するに違いない。さらに、相互の識別を可能にするために、クライアントとサーバは、一意にそれらを識別することができる識別子、例えば、ＩＰアドレス、ユニフォーム・リソース・ロケータ（ＵＲＬ）を有する。
【００１９】
図２は、本発明の実施の形態によるウェブ・サービス検出方法を説明するフローチャートである。
【００２０】
まず、ステップＳ２０１で、ユーザからウェブ・サービス要求を受信する。例えば、このステップでは、ユーザがアクセスしたいと望んでいるウェブ・サービスのＵＲＬ（Uniform Resource Locator：ユニフォーム・リソース・ロケータ）をユーザから受信する。
【００２１】
その後、ステップＳ２０２で、要求されたウェブ・サービスのタイプを判断する。例えば、要求されたウェブ・サービスのタイプを判断するためにウェブ・サービスタイプテーブルを調べる。このウェブ・サービスタイプテーブルは、ウェブ・サービスのＵＥＬとその対応するタイプのエントリを含む。ウェブ・サービスタイプテーブルは、以下に説明するトレーニング・ステップによって生成することができる。
【００２２】
その後、ウェブ・サービスが変化しているかどうかをウェブ・サービスタイプに基づいて検出する。
【００２３】
ウェブ・サービスが固定タイプのウェブ・サービスならば、処理はステップＳ２０３へ進む。ステップＳ２０３で、ウェブ・サービスが変化しているかどうかを検出するためにテストケースを動作させる。１つ以上のテストケースを動作させることが可能である。
【００２４】
ウェブ・サービスが非固定タイプのウェブ・サービスならば、処理はステップＳ２０４へ進む。ステップＳ２０４では、ウェブ・サービスが変化しているかどうかを検出するために、ウェブ・サービスに対して範囲テストが実行される。
【００２５】
固定タイプのウェブ・サービスとは、時間が異なっても、もし入力が同じであるならば、必ず同じ出力が得られるようなウェブ・サービスである。例えば、足し算ウェブ・サービスは固定タイプのウェブ・サービスである。別々の時間においても、入力が同じならば（例えば、１と２）、必ず同じ出力（例えば、３）が得られる。
【００２６】
しかしながら、非固定タイプのウェブ・サービスとは、異なる時間において、入力が同じであっても、出力は必ずしも同じとはならないようなウェブ・サービスである。例えば、天気予報ウェブ・サービスは、非固定タイプのウェブ・サービスである。別々の時間において（例えば、一日間隔で）、同じ内容「北京」が入力されても、出力は必ずしも同じとはならない。
【００２７】
以下に説明するトレーニング・ステップによって、範囲テストとテストケースに使用するウェブ・サービスの正常出力範囲を取得することができる。
【００２８】
ステップＳ２０３の実行は、以下の３種類の結果のうちの１つを生成する。ウェブ・サービスが閉じているか時間外である。テストケースが通過。テストケースが未通過。
同様に、ステップＳ２０４の実行も以下の３種類の結果のうちの１つを生成する。ウェブ・サービスが閉じているか時間外である。範囲テストが通過。範囲テストが未通過。
【００２９】
ウェブ・サービスは閉じているか或いは時間外ならば、つまり、範囲テストを実行し、テストケースを動作させることができない。処理はそれぞれステップＳ２０３１およびＳ２０４１に進む。ステップＳ２０３１およびＳ２０４１で、ウェブ・サービスエラーが位置決めされ、そのエラーがユーザに報告される。
【００３０】
テストケースまたは範囲テストが通過すれば、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致すると判断され、あるいは、ウェブ・サービスがユーザの入力に基づいて呼び出され、返却された結果がウェブ・サービスの正常出力範囲内であると判断される。その後、処理は、それぞれステップＳ２０３２およびＳ２０４２に進む。ステップＳ２０３２およびＳ２０４２で、要求されたウェブ・サービスが、ユーザに出力される。
言うまでもなく、当業者であれば、固定タイプであるウェブ・サービスについて、ステップＳ２０３２の前に、ユーザの入力に基づいてウェブ・サービスを呼び出すステップが必要であることを理解するに違いない。
なぜなら、ウェブ・サービスタイプが固定タイプである場合、ウェブ・サービスが変化しているかどうかを判断するステップにおいて、そのウェブ・サービスはテストケースの入力に基づいて呼び出され、ウェブ・サービスタイプが非固定形である場合はそうではなく、ウェブ・サービスが変化しているかどうかを判断するステップにおいて、ウェブ・サービスはユーザの入力に基づいて呼び出されるからである。
【００３１】
テストケースまたは範囲テストが通過しなければ、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致しないと判断され、あるいはウェブ・サービスがユーザの入力に基づいて呼び出され、返却された結果がウェブ・サービスの正常出力範囲内でないと判断される。その後、処理は、それぞれステップＳ２０３３およびＳ２０４３に進む。ステップＳ２０３３およびＳ２０４３で、ウェブ・サービスが変化したことを、ユーザに対して提示する。
【００３２】
図３は、本発明の他の実施の形態によるウェブ・サービス検出方法を説明するフローチャートを示す。
【００３３】
まず、ステップＳ３０１で、ユーザからウェブ・サービス要求を受信する。例えば、このステップでは、ユーザがアクセスしたいと望んでいるウェブ・サービスのＵＲＬをユーザから受信する。
【００３４】
その後、ステップＳ３１１で、ウェブ・サービスの状態を判断する。例えば、ウェブ・サービスがユーザの入力に基づいて呼び出され、ウェブ・サービスからタイムリーに返却結果が取得されたかどうかが判断され、これにより、そのウェブ・サービス状態が判断される。
【００３５】
返却結果がウェブ・サービスからタイムリーに取得されなければ、そのウェブ・サービスが閉じているか時間外である判断され、その後、処理がステップＳ３１２に進み、そこでウェブ・サービスエラーが特定され、そのエラーがユーザに報告される。
【００３６】
返却結果がウェブ・サービスからタイムリーに取得されれば、そのウェブ・サービスは閉じておらずかつ時間外でないと判断され、次に、処理は同時にステップＳ３１３とステップＳ３０２へ進む。
【００３７】
ステップＳ３１３で、返却された結果が格納される。
【００３８】
ステップＳ３０２で、要求されたウェブ・サービスのタイプが判断される。
前述したように、要求されたウェブ・サービスのタイプを判断するためにウェブ・サービスタイプテーブルを調べる。このウェブ・サービスタイプテーブルは、ウェブ・サービスのＵＥＬとその対応するタイプのエントリを含む。
【００３９】
その後、ウェブ・サービスが変化しているかどうかをウェブ・サービスタイプに基づいて検出する。
【００４０】
ウェブ・サービスが固定タイプのウェブ・サービスならば、処理はステップＳ３０３へ進む。ステップＳ３０３で、ウェブ・サービスが変化しているかどうかを検出するためにテストケースを動作させる。１つ以上のテストケースを動作させることが可能である。
【００４１】
ウェブ・サービスが非固定タイプのウェブ・サービスならば、処理はステップＳ３０４へ進み、ウェブ・サービスが変化しているかどうかを検出するために、ウェブ・サービスに対して範囲テストが実行される。
【００４２】
ステップＳ３０３の実行は、以下の２種類の結果のうちの１つを生成する。テストケースが通過。テストケースが未通過。
同様に、ステップＳ３０４の実行も以下の２種類の結果のうちの１つを生成する。範囲テストが通過。範囲テストが未通過。
【００４３】
テストケースまたは範囲テストが通過すれば、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースにおける対応する出力と一致すると判断され、あるいは、ステップＳ３１３で格納された返却された結果がウェブ・サービスの正常出力範囲内であると判断される。その後、処理は、それぞれステップＳ３０３２およびＳ３０４２に進む。
そして、要求されたウェブ・サービスがユーザに出力される。すなわち、ステップＳ３１３に格納された返却結果が出力される。
【００４４】
テストケースまたは範囲テストが通過しなければ、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致しないと判断され、あるいはステップＳ３１３で格納された返却された結果がウェブ・サービスの正常出力範囲内でないと判断される。
その後、処理は、それぞれステップＳ３０３３およびＳ３０４３に進む。そして、ウェブ・サービスが変化したことを、ユーザに対して提示する。
【００４５】
ちなみに、上述した方法の各ステップはクライアント１３０で実行することが可能である。
【００４６】
図４は、本発明の実施の形態によるトレーニング方法を説明するフローチャートを示している。
【００４７】
まず、ステップＳ４０１で、ウェブ・サービスを、ユーザあるいはウェブ・サービス・リストから受信する。
例えば、ウェブ・サービスのＵＲＬを受信する。
【００４８】
その後、ステップＳ４０２で、受信したウェブ・サービスのタイプを判断する。例えば、受信したウェブ・サービスのタイプはタイプテストモデルに基づいて判断される。
【００４９】
タイプテストモデルは、例えば、適切な入力（ウェブ・サービスの入力制限に適合し、所定のサンプリング規則を利用して取得される）をランダムに生成すること、その出力を記録すること、次に、一定の間隔（例えば一日）の後に同じ入力でウェブ・サービスを再び呼び出し、またその出力を記録することを記述する。
【００５０】
判断の結果、ウェブ・サービスが固定タイプのウェブ・サービスならば、処理はステップＳ４０３へ進む。
【００５１】
しかし、ウェブ・サービスが非固定タイプのウェブ・サービスならば、処理はステップＳ４０４へ進む。
【００５２】
記録した２回の出力が異なれば、ウェブ・サービスは非固定タイプのウェブ・サービスである判断され、記録した２回の出力が同一であれば、ウェブ・サービスは固定タイプのウェブ・サービスであると判断される。
【００５３】
ステップＳ４０３で、ウェブ・サービスのテストケース（入出力のペア、固定タイプのウェブ・サービスであるので、少数のテストケースを記録するだけでよい）が記録される。例えば、入力（例えば、正規分布サンプリング）が入力範囲（例えば、３０−１００）に基づいて生成され、次に、その入力がウェブ・サービスを呼び出すために使用され、対応する出力が記録される。
【００５４】
ステップＳ４０４で、ウェブ・サービスの正常出力範囲について統計を取る。例えば、異なる時間に、同じ入力を使用してウェブ・サービスを呼び出し、それぞれの対応する出力について統計を取る。
例えば、天気予報ウェブ・サービスについて、正常出力範囲が−８９．６℃から６３℃であると算出される。
【００５５】
当業者は、ステップＳ４０３とＳ４０４の後に、記録されたテストケースとウェブ・サービスの統計を取った正常出力範囲を格納するステップを含めることができること、またステップＳ４０２の後に、判断したウェブ・サービスのタイプを格納するステップ（例えば、ウェブ・サービスのＵＲＬとその対応するタイプのエントリを含むウェブ・サービスタイプ・テーブルの形式で格納する）を含めることができることを十分に理解するだろう。
【００５６】
ちなみに、上述した方法の各ステップは、それぞれサーバ／クライアント１２０上で実行することがかのうである。
【００５７】
図５は、本発明の実施の形態によるウェブ・サービス検出システムのブロック図を示す。
【００５８】
図５に示すように、システム５００は、ウェブ・サービス要求を受信するための第１の受信モジュール５１０と、要求されたウェブ・サービスのタイプを判断するための第１の判断モジュール５２０と、ウェブ・サービスのタイプに基づいてウェブ・サービスが変化しているかどうかを検出するための変化検出モジュール５３０を含む。
ウェブ・サービスが固定タイプのウェブ・サービスならば、ウェブ・サービスが変化しているかどうかを検出するためにテストケースを動作させる値テストモジュール５３１が呼び出される。
また、ウェブ・サービスが非固定タイプのウェブ・サービスならば、ウェブ・サービスが変化しているかどうかを検出するためにウェブ・サービスに対して範囲テストを実行する範囲テストモジュール５３２が呼び出される。
【００５９】
第１判断モジュール５２０は、ウェブ・サービスタイプテーブルに基づいて、要求されたウェブ・サービスのタイプを判断する。
ウェブ・サービスタイプテーブルは、ウェブ・サービスのＵＲＬとその対応するタイプのエントリを含み、以下に説明するようにトレーニング部によって維持される。
さらに、範囲テストで使用されるウェブ・サービスの正常出力範囲とテストケースは、以下に説明するようにトレーニング部によって取得される。
【００６０】
テストケースまたは範囲テストが通過すれば、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致すると判断され、あるいは、ウェブ・サービスがユーザの入力に基づいて呼び出され、返却された結果がウェブ・サービスの正常出力範囲内であると判断される。その後、出力モジュール５４０が、ユーザに要求されたウェブ・サービスを出力するために呼び出される。
テストケースまたは範囲テストが通過しなければ、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致しないと判断され、あるいはウェブ・サービスがユーザの入力に基づいて呼び出され、返却された結果がウェブ・サービスの正常出力範囲内でないと判断される。
その後、提示モジュール５５０が、ウェブ・サービスが変化したことを、ユーザに対して提示するために呼び出される。
ウェブ・サービスは閉じているか或いは時間外ならば、つまり、範囲テストを実行し、テストケースを動作させることができない。
ステップＳ２０３１およびＳ２０４１で、位置決め・報告モジュール５６０が、ウェブ・サービスのエラーを位置決めし、そのエラーをユーザに報告するために呼び出される。
【００６１】
当業者であれば、出力モジュール５４０と値テストモジュール５３１の間に、ユーザの入力に基づいてウェブ・サービスを呼び出すステップが必要であることを理解するに違いない。
なぜなら、ウェブ・サービスタイプが固定タイプである場合、ウェブ・サービスが変化しているかどうかの判断において、そのウェブ・サービスはテストケースの入力に基づいて呼び出され、ウェブ・サービスタイプが非固定形である場合はそうではなく、ウェブ・サービスが変化しているかどうかの判断において、ウェブ・サービスはユーザの入力に基づいて呼び出されるからである。
【００６２】
図６は、本発明の他の実施の形態によるウェブ・サービス検出システムのブロック図を示す。
【００６３】
図６に示すように、システム６００は、ウェブ・サービス要求を受信するための第１の受信モジュール６１０と、ウェブ・サービスの状態を判断するためのウェブ・サービス状態判断モジュール６１５とを含む。
ウェブ・サービスが閉じられあるいは時間外である場合、位置決め・報告モジュール６１７は、ウェブ・サービスのエラーを位置決めし、かつユーザにエラーを報告するために呼び出される。そうでなければ、記憶モジュール６１９は返却された結果を格納するために呼び出される。また、第１の判断モジュール６２０は要求されたウェブ・サービスのタイプを判断するために呼び出される。
システム６００は、さらに、ウェブ・サービスがウェブ・サービスのタイプに基づいて変化しているかどうかを検出するための変化検出モジュール６３０を含む。
ウェブ・サービスが固定タイプのウェブ・サービスならば、ウェブ・サービスが変化しているかどうかを検査するためにテストケースを動作させる値テストモジュール６３１が呼び出される。
また、ウェブ・サービスが非固定タイプのウェブ・サービスならば、ウェブ・サービスが変化しているかどうかを検査するためにウェブ・サービスに対して範囲テストを実行する範囲テストモジュール６３２が呼び出される。
【００６４】
第１の判断モジュール６２０は、ウェブ・サービスタイプテーブルに基づいて、要求されたウェブ・サービスのタイプを判断する。
ウェブ・サービスタイプテーブルは、以下に説明するようにトレーニング部によって維持される。
さらに、範囲テストで使用されるウェブ・サービスの正常出力範囲とテストケースは、以下に説明するようにトレーニング部によって取得される。
【００６５】
テストケースまたは範囲テストが通過すれば、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースにおける対応する出力と一致すると判断され、あるいは、記憶モジュール６１９に格納された返却された結果がウェブ・サービスの正常出力範囲内であると判断される。その後、出力モジュール６４０が、要求されたウェブ・サービスをユーザに出力するために呼び出される。すなわち、記憶モジュール６１９に格納された対応返却結果が出力される。
テストケースまたは範囲テストが通過しなければ、すなわち、ウェブ・サービスがテストケースの入力に基づいて呼び出され、返却された結果がテストケースに対応する出力と一致しないと判断され、あるいは記憶モジュール６１９に格納された返却された結果がウェブ・サービスの正常出力範囲内でないと判断される。その後、提示モジュール６５０が、ウェブ・サービスが変化したことを、ユーザに対して提示するために呼び出される。
【００６６】
図７は、本発明の実施の形態によるトレーニング部の概略構成を示すブロック図である。
【００６７】
図７に示すように、トレーニング部７００は、ユーザあるいはウェブ・サービス・リストからウェブ・サービス（例えば、ウェブ・サービスのＵＲＬ）を受信するための第２の受信モジュール７１０と、受信したウェブ・サービスのタイプを判断するための第２の判断モジュール７２０と、ウェブ・サービスが固定タイプのウェブ・サービスならば、テストケースを記録することのためのテストケース記録モジュール７３０と、ウェブ・サービスが非固定タイプのウェブ・サービスならば、ウェブ・サービスの正常出力範囲についての統計を取るための出力範囲統計モジュール７４０とを含む。
【００６８】
第２の判断モジュール７２０は、例えばタイプテストモデルに基づいて受信したウェブ・サービスのタイプを判断する。
【００６９】
タイプテストモデルは、例えば、適切な入力（ウェブ・サービスの入力制限に適合し、所定のサンプリング規則を利用して取得される）をランダムに生成すること、その出力を記録すること、次に、一定の間隔（例えば一日）の後に同じ入力でウェブ・サービスを再び呼び出し、またその出力を記録することを記述する。このタイプテストモデルは、トレーニング部７００内にローカルに格納され、あるいはトレーニング部７００の外部に格納される。
【００７０】
記録した２回の出力が異なれば、第２の判断モジュール７２０は、ウェブ・サービスが非固定タイプのウェブ・サービスであると判断し、記録した２回の出力が同一であれば、第２の判断モジュール７２０は、ウェブ・サービスが固定タイプのウェブ・サービスであると判断する。
【００７１】
テストケース記録モジュール７３０は、ウェブ・サービスのテストケース（入出力のペア、固定タイプのウェブ・サービスであるので、少数のテストケースを記録するだけでよい）が記録される。例えば、入力（例えば、正規分布サンプリング）が入力範囲（例えば、３０−１００）に基づいて生成され、次に、その入力がウェブ・サービスを呼び出すために使用され、対応する出力が記録される。
【００７２】
出力範囲統計モジュール７４０は、ウェブ・サービスの正常出力範囲について統計を取る。
例えば、異なる時間に、同じ入力を使用してウェブ・サービスを呼び出し、それぞれの対応する出力について統計を取る。
例えば、天気予報ウェブ・サービスについて、正常出力範囲が−８９．６℃から６３℃であると算出される。
【００７３】
当業者は、出力範囲統計モジュール７４０が、記録されたテストケースとウェブ・サービスの統計を取った正常出力範囲を格納するためのモジュールを含むことができること、また、判断したウェブ・サービスのタイプを格納する（例えば、ウェブ・サービスのＵＲＬとその対応するタイプのエントリを含むウェブ・サービスタイプ・テーブルの形式で格納する）ためのモジュールを含むことができることを十分に理解するだろう。
【００７４】
本発明の理解をより容易にするために、上記の説明では、当業者にとって公知であり、かつ本発明の実現に不可欠な技術的な詳細を省略している。
【００７５】
本発明の明細書を提供する目的は、図示し説明することであり、本発明を網羅的に示し本発明を開示された形態に限定することではない。多数の変形や変更が可能なことは、当該技術に精通した当業者には明らかであろう。
例えば、検出処理において、ウェブ・サービスが変化していることが検出された時、ウェブ・サービスを再トレーニングするためにトレーニング部に通知するステップを含めることが可能である。
【００７６】
したがって、上記の実施の形態の選択と説明は、本発明の原理および実際の適用をより明快に説明すると共に、本発明の精神から逸脱することなくなされた、全ての変更および改変は付記される請求項に定義される本発明の保護範囲に含まれることを、当該技術の通常の技量を有する当業者が理解することを可能にする。
【符号の説明】
【００７７】
１００：システム
１１０：サーバ
１２０：サーバ／クライアント
１３０：クライアント
１４０：ネットワーク
１１２、１２２、１３２：リンク
５００：システム
５１０：第１の受信モジュール
５２０：第１の判断モジュール
５３０：変化検出モジュール
５３１：値テストモジュール
５３２：範囲テストモジュール
５４０：出力モジュール
５５０：提示モジュール
５６０：位置決め・報告モジュール
６００：システム
６１０：第１の受信モジュール
６１５：ウェブ・サービス状態判断モジュール
６１７：位置決め・報告モジュール
６１９：記憶モジュール
６２０：第１の判断モジュール
６３０：変化検出モジュール
６３１：値テストモジュール
６３２：範囲テストモジュール
６４０：出力モジュール
６５０：提示モジュール
７００：トレーニング部
７１０：第２の受信モジュール
７２０：第２の判断モジュール
７３０：テストケース記録モジュール
７４０：出力範囲統計モジュール
【図１】
2010218538.tif 000003
【図２】
2010218538.tif 000004
【図３】
2010218538.tif 000005
【図４】
2010218538.tif 000006
【図５】
2010218538.tif 000007
【図６】
2010218538.tif 000008
【図７】
2010218538.tif 000009
【外国語明細書】
2010218538000001.pdf