(57)【要約】ウェブサービス用のインターフェイスを生成して、当該ウェブサービスをクエリ検索する方法、システム及びコンピュータ可読媒体が開示されている。１つの方法は、ウェブサービスに関連したユーザインターフェイスを生成するステップを含む。ユーザインターフェイスは、ウェブサービスに関連した１つ若しくは複数の入力パラメータオプションを有する。ユーザインターフェイスはサービス細目と当該サービス細目に付随する１つ若しくは複数のシリーズ細目とに基づいて生成される。ユーザ入力はユーザインターフェイスを介して受信され、ユーザ入力は前記１つ若しくは複数の入力パラメータオプションから選択された少なくとも１つの入力パラメータオプションを含む。ウェブサービスのクエリは受信されたユーザ入力に基づいて作成され、当該クエリは少なくとも１つの選択された入力パラメータオプションを反映する。前記方法は、ウェブサービスに関して前記作成されたクエリをインボークして結果を受信し、当該受信された結果を自動的に前記ユーザインターフェイスに加えるステップを含む。
2013511086.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリに接続されたプロセッサと、を含むシステムであって、
前記プロセッサは前記メモリから命令を取り出すことができ、
当該命令によって、インターフェイスモジュールはウェブサービスに関連する１つ以上の入力パラメータオプションを含むユーザインターフェイスを生成し、前記１つ以上の入力パラメータオプションから選んだ少なくとも１つの入力パラメータオプションを含むユーザ入力を、前記ユーザインターフェイスを介して受信し、当該受信されたユーザ入力に基づいて前記ユーザインターフェイスにおいて前記１つ以上の入力パラメータオプションを自動的にリフレッシュし、
前記命令によって、クエリモジュールは前記受信されたユーザ入力に基づいて前記ウェブサービスのクエリを作成し、前記ウェブサービスに関して前記作成されたクエリをインボークして結果を受信し、当該クエリは前記少なくとも１つの選択された入力パラメータオプションを反映しており、
前記命令によって、結果モジュールは前記受信された結果を前記ユーザインターフェイスにおいて自動的に表示する、
ことを特徴とするシステム。
【請求項２】
前記ユーザインターフェイスはサービス細目及び当該サービス細目に関連する１つ以上のシリーズ細目に基づいて生成されることを特徴とする請求項１記載のシステム。
【請求項３】
前記サービス細目及び１つ以上のシリーズ細目はＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）で表されることを特徴とする請求項２記載のシステム。
【請求項４】
前記サービス細目は、サービスページング許可、サービスタイトル、サービス説明またはこれらの任意の組み合わせを含むことを特徴とする請求項２記載のシステム。
【請求項５】
前記サービス細目は１つ以上のリストパラメータ及びシリーズＵＲＩ（ｕｎｉｆｏｒｍｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ）テンプレートを含み、前記１つ以上のリストパラメータは前記ユーザインターフェイスにおいてドロップダウンメニューとして表示され、前記１つ以上のリストパラメータの各々は１つのシリーズ識別子と１つのシリーズソース経路を含むことを特徴とする請求項２記載のシステム。
【請求項６】
前記シリーズソース経路は、前記シリーズソース経路を前記シリーズＵＲＩテンプレートに付けることによって、前記１つ以上のシリーズ細目の中の特定のシリーズ細目に関連したＵＲＩを生成するのに使用可能であることを特徴とする請求項５記載のシステム。
【請求項７】
前記１つ以上のシリーズ細目の各々は、前記クエリを作成する際に用いられる記号列パラメータ、前記クエリを作成する際に用いられる整数パラメータ、前記クエリを作成する際に用いられる小数点パラメータ、またはこれらの任意の組み合わせを含むことを特徴とする請求項２記載のシステム。
【請求項８】
前記クエリモジュールは、前記クエリをインボークするのに使用可能な１つ以上のプログラムクラスを自動的に生成することができ、前記ユーザインターフェイスは前記１つ以上のプログラムクラスを取り出すことができ、前記クエリをインボークするために前記１つ以上のプログラムクラスを使用すると、アカウントキー及びセッション識別子が前記ウェブサービスに送信されることを特徴とする請求項１記載のシステム。
【請求項９】
前記セッション識別子はＧＵＩＤ（ｇｌｏｂａｌｌｙ  ｕｎｉｑｕｅ  ｉｄｅｎｔｉｆｉｅｒ）であることを特徴とする請求項８記載のシステム。
【請求項１０】
前記クエリモジュールはＲＥＳＴ（ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  ｓｔａｔｅ  ｔｒａｎｓｆｅｒ）ＵＲＩを生成することができ、前記ＲＥＳＴ  ＵＲＩは前記クエリモジュールを動作させることなく前記クエリをインボークするのに使用可能であることを特徴とする請求項１記載のシステム。
【請求項１１】
前記クエリモジュールは複数のデータ交換フォーマットで前記クエリを選択的にインボークすることができ、前記結果モジュールは前記複数のデータ交換フォーマットのいずれかのフォーマットで前記結果を選択的に表示することができることを特徴とする請求項１記載のシステム。
【請求項１２】
前記システムはデータベースとスプレッドシートアプリケーションとをさらに含み、前記ウェブサービスは前記クエリに応じて前記データベースから前記結果を取り出すことができ、前記スプレッドシートアプリケーションは前記結果モジュールからの結果を入力データとして受け入れることを特徴とする請求項１記載のシステム。
【請求項１３】
前記受信されたユーザ入力に基づいて前記１つ以上の入力パラメータオプションを自動的にリフレッシュすることは、前記ユーザインターフェイスにおいて１つ以上のドロップダウンメニューをリフレッシュすること、前記ユーザインターフェイスにおいて１つ以上の入力パラメータ範囲を更新すること、またはこれらの組み合わせを行うこと含むことを特徴とする請求項１記載のシステム。
【請求項１４】
コンピュータシステムにおいて、ウェブサービスに関連するユーザインターフェイスを生成するステップを含む方法であって、前記ユーザインターフェイスは前記ウェブサービスに関連する１つ以上の入力パラメータオプションを含み、前記ユーザインターフェイスはＸＭＬサービス細目及び当該ＸＭＬサービス細目に関連する１つ以上のＸＭＬシリーズ細目に基づいて生成され、
前記方法はさらに、前記１つ以上の入力パラメータオプションから選んだ少なくとも１つの入力パラメータオプションを含むユーザ入力を前記ユーザインターフェイスを介して受信するステップと、
前記受信されたユーザ入力に基づいて前記ウェブサービスのクエリを作成するステップと、を含み、当該クエリは前記少なくとも１つの選択された入力パラメータオプションを反映し、
前記方法はさらに、前記ウェブサービスに関して前記作成されたクエリをインボークして結果を受信するステップと、
前記受信された結果を前記ユーザインターフェイスに自動的に加えるステップと、を含むことを特徴とする方法。
【請求項１５】
前記クエリをインボークするステップは、データベースにおいて１つ以上のデータベース処理を実行するステップを含み、前記結果は前記データベースからの１つ以上のデータアイテムを含むことを特徴とする請求項１４記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ウェブサービスは、ネットワークを介してコンピュータ同士の間の通信を行う手法として広く用いられるようになった。ウェブサービスは、典型的な場合、アプリケーションプログラミングインターフェイス（ＡＰＩ）に基づいて決められたクエリを介してアクセスされる。しかしながら、アプリケーションプログラミングインターフェイスの使い方を学ぶことは時間がかかるプロセスであり、ユーザはかなりの量のウェブサービス文書を見なければならない。さらに、ウェブサービスをホストするウェブサーバはしばしば数十個（またはそれ以上）のアプリケーションプログラミングインターフェイスを提示する。アプリケーションプログラミングインターフェイスをベースにしたウェブサービスのアクセスは、典型的な場合、コンピュータプログラミング知識を必要とする。テキストベースのコンピュータプログラムにおける可視的なフィードバックが無いので、アプリケーションプログラミングインターフェイスベースのウェブサービスアクセスは直感的に理解できるものではない。従って、ウェブサービスクエリを構成する（作り上げる）ことは、ユーザにとっては長時間で且つ色々なことを要求されるプロセスとなる。
【発明の概要】
【０００２】
本明細書はウェブサービス用の自動化されたインターフェイス作成を説明し、当該インターフェイスはユーザ入力に基づいたウェブサービスのクエリ作成を可能にする。よって、ウェブサービス処理・動作の全ては、インターフェイスにおけるユーザ入力を介して作動される。ウェブサービスインターフェイスはサービス及びシリーズ細目（例えば、ＸＭＬファイル）に基づいて生成される。ユーザ入力に応答して、ウェブサービスインターフェイスは自動的にリフレッシュされ（書き換えが行われ）、当該受信した入力を反映し、よって、ウェブサービスに対して「アクティブな」インターフェイスを提供する。ウェブサービスのクエリがインボーク（呼び出し）されると、インターフェイスは当該クエリによって生成された結果のプレビューを表示する。インターフェイスの生成及びクエリの作成・構築によって、ユーザは、複雑なアプリケーションプログラミングインターフェイスを学ぶことなくウェブサービスを活用することができるようになる。さらに、ＵＲＩ及びプログラムクラスが自動的に作成され、以前にインボークされたクエリを再度実行するためにユーザにより引き出すことができる。
【０００３】
この「発明の概要」は下記の「発明を実施するための形態」において詳述される技術思想の幾つかを簡単な形で紹介するためのものである。この「発明の概要」は特許請求の範囲に記載された発明の主要な特徴若しくは本質的な特徴を特定することを意図したものではないし、特許請求の範囲に記載された発明の範囲を限定するために用いられることを意図したものでもない。
【図面の簡単な説明】
【０００４】
【図１】図１はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するためのシステムの特定の実施形態を示す図である。
【図２】図２はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するためのシステムの他の実施形態を示す図である。
【図３】図３は図１のシステム若しくは図２のシステムにおいて使用することができるサービス細目の特定の実施形態を示す図である。
【図４】図４は図１のシステム若しくは図２のシステムにおいて使用することができるシリーズ細目の特定の実施形態を示す図である。
【図５】図５はユーザ入力に基づいてウェブサービス用インターフェイスを自動的にリフレッシュする特定の実施形態を示す図である。
【図６】図６はウェブサービスのクエリの結果のプレビューを表示することを含むウェブサービス用インターフェイスの特定の実施形態を示す図である。
【図７】図７はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するための方法の特定の実施形態を示すフローチャートである。
【図８】図８はウェブサービス用インターフェイスを受信して当該ウェブサービスのクエリを生成する方法の特定の実施形態を示すフローチャートである。
【図９】図９は図１−図８に示されたシステムコンポーネント、コンピュータプログラムプロダクト及びコンピュータ実装方法の実施形態をサポートするように作動するコンピューティング装置を含むコンピューティング環境のブロック図である。
【発明を実施するための形態】
【０００５】
ウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するシステム、方法及びコンピュータ可読媒体が開示されている。特定の実施形態において、システムはメモリと当該メモリに接続されたプロセッサとを含む。このプロセッサはメモリからの命令を取り出し（読み出し）、当該命令はインターフェイスモジュール、クエリモジュール及び結果モジュールを実行する命令である。インターフェイスモジュールはウェブサービスに関連するユーザインターフェイスを作成し、当該ユーザインターフェイスは当該ウェブサービスに関連づけられた１つ若しくは複数の入力パラメータオプションを含む。インターフェイスモジュールはユーザインターフェイスを介してユーザ入力を受信することができ、当該ユーザ入力は前記１つ若しくは複数の入力パラメータオプションから選択した少なくとも１つ入力パラメータオプションを含む。インターフェイスモジュールは、受信されたユーザ入力に基づいてユーザインターフェイスにおいて前記１つ若しくは複数の入力パラメータオプションを自動的にリフレッシュすることができる。クエリモジュールはまた、受信されたユーザ入力に基づいてウェブサービスのクエリを生成する。クエリは、前記少なくとも１つの選択された入力パラメータオプションを反映する。クエリモジュールは、結果を生成するためにウェブサービスに関して前記生成されたクエリをインボークし、結果モジュールはユーザインターフェイスにおいて当該結果を自動的に表示する。
【０００６】
他の実施形態においては、方法はウェブサービスに関連するユーザインターフェイスを生成するステップを含む。ユーザインターフェイスは、ウェブサービスに関連付けられた１つ若しくは複数の入力パラメータオプションを含む。ユーザインターフェイスは、拡張マークアップ言語（ＸＭＬ）サービス細目と当該ＸＭＬサービス細目に関連付けられた１つ以上のＸＭＬシリーズ細目に基づいて、コンピュータシステムにおいて作成される。尚、上記のようにはぜずに、細目は任意のコンピュータ認識可能言語（例えば、テキストファイル、リッチテキストフォーマット（ＲＴＦ）若しくはハイパーテキストマークアップ言語（ＨＴＭＬ））で表されてもよい。前記方法はまた、ユーザインターフェイスを介してユーザ入力を受信するステップを含み、当該ユーザ入力は前記１つ若しくは複数の入力パラメータオプションから選択した入力パラメータオプションを含む。前記方法はさらに、受信されたユーザ入力に基づいてウェブサービスのクエリを生成するステップを含み、当該クエリは前記１つ若しくは複数の入力パラメータオプションから選択した前記入力パラメータオプションを反映する。前記方法は、ウェブサービスに関して前記生成されたクエリをインボークするステップと、当該インボークしたクエリの結果をユーザインターフェイスに加えるステップを含む。
【０００７】
他の実施形態において、コンピュータ可読媒体が開示されている。コンピュータ可読媒体は命令を含み、当該命令がコンピュータによって実行されると、当該コンピュータはウェブサーバからウェブサービスに関連付けられたユーザインターフェイスを受信し、当該ユーザインターフェイスはウェブサービスに関連付けられた１つ若しくは複数の入力パラメータオプションを含む。ユーザインターフェイスは、拡張マークアップ言語（ＸＭＬ）サービス細目と当該ＸＭＬサービス細目に付随する１つ以上のＸＭＬシリーズ細目とに基づいて作成される。また、コンピュータ可読媒体は命令を含み、当該命令がコンピュータによって実行されると、コンピュータはユーザインターフェイスを表示し、当該ユーザインターフェイスにおいてユーザ入力を受信する。ユーザ入力は前記１つ若しくは複数の入力パラメータオプションから選択された少なくとも１つの入力パラメータオプションを含む。コンピュータ可読媒体はさらに他の命令を含み、当該他の命令がコンピュータによって実行されると、当該コンピュータはユーザ入力をウェブサーバに送信し、当該ウェブサーバから修正されたユーザインターフェイスを受信する。当該修正されたユーザインターフェイスはユーザ入力を反映している。コンピュータ可読媒体は別の命令を含み、当該別の命令がコンピュータによって実行されると、当該コンピュータは前記修正されたユーザインターフェイスを表示し、受信されたユーザ入力に基づいてウェブサービスのクエリを作成し、当該作成されたクエリをウェブサーバに送信する。コンピュータ可読媒体は他の命令を含み、当該他の命令がコンピュータによって実行されると、当該コンピュータはウェブサーバから前記作成されたクエリのインボークに基づく結果を受信し、当該結果を前記修正されたユーザインターフェイスに表示する。
【０００８】
図１はウェブサービス１４０のためのインターフェイス（例えば、例示的なユーザインターフェイス１１４）を生成し当該ウェブサービス１４０にクエリを行うためのシステム１００の一実施形態を示す図である。ウェブサービス１４０は通信可能にシステム１００に接続されている。ウェブサービス１４０はまた、１つ若しくは複数のデータソース（例えば、例示的なデータベース１５０）に通信可能に接続されてもよい。
【０００９】
システム１００はウェブサービス１４０のためのユーザインターフェイス１１４を生成するように構成されたインターフェイスモジュール１１０を含み、ユーザインターフェイス１１４は１つ若しくは複数の入力パラメータオプション１１６を含む。特定の実施形態において、ユーザインターフェイス１１４はウェブサービス１４０に関連付けられたサービス及びシリーズ細目１１２に基づいて作られる。例えば、サービス及びシリーズ細目１１２は、ウェブサービス１４０のクエリを作成・構築するのに使用可能な情報を含む拡張マークアップ言語（ＸＭＬ）ファイルである。ウェブサービス１４０のクエリを作成・構築するのに使用可能な情報は、例えば、ページング許可、サービスタイトル、サービスディスクリプション、リストパラメータ、シリーズＵＲＩ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ）テンプレート、シリーズ識別子、シリーズソース経路、パラメータタイプ／境界／オプション（例えば、記号列、整数、小数点及びブール値）である。サービス細目に含まれるシリーズソース経路は、特定のシリーズ細目に関連付けられたＵＲＩを作成する際に使用することができる。例えば、シリーズソース経路は特定のシリーズ細目のＵＲＩを作成するために、シリーズＵＲＩテンプレートに付けられる。例示的なＸＭＬサービス細目は図３を参照して更に説明される。例示的なＸＭＬシリーズ細目は図４を参照して更に説明される。例示的なユーザインターフェイスは図５及び図６を参照して更に説明される。
【００１０】
インターフェイスモジュール１１０はユーザインターフェイス１１４を介してユーザ入力１０４を（例えば、ユーザ１０２から）受信することもできる。ユーザ入力１０４は入力パラメータオプション１１６の中から選択した１つ若しくは複数の入力パラメータオプションを含む。ユーザ入力１０４を受信すると、インターフェイスモジュール１１０は自動的にユーザインターフェイス１１４をリフレッシュしてユーザ入力１０４を反映する。特定の実施形態において、ユーザインターフェイス１１４は前記サービス及びシリーズ細目１１２に含まれている１つ以上の自動リフレッシュＵＲＩに従ってリフレッシュされる。例えば、ユーザ入力１０４に基づいてユーザインターフェイス１１４を自動的にリフレッシュすることは、入力パラメータオプション１１６に付随するグラフィカルユーザインターフェイス（ＧＵＩ）要素の表示（例えば、リストパラメータに付随しているドロップダウンメニュー）をリフレッシュすること、または、入力パラメータオプション１１６の１つ以上の境界・範囲（例えば、数値の最低値及び最大値または記号列値の最大長さ）を更新することを含む。ウェブサービスに関連付けられたインターフェイスにおける自動リフレッシュ処理（動作）は図５を参照して更に説明される。
【００１１】
システム１００はクエリモジュール１２０を含み、当該クエリモジュールは受信したユーザ入力１０４に基づいてウェブサービス１４０のクエリ１２２を作成する。クエリ１２２は入力パラメータオプション１１６から選択された１つ以上の入力パラメータオプションを反映している。クエリモジュール１２０はクエリインボークの結果１３２を生成するためにウェブサービス１４０について前記作成されたクエリ１２２をインボークする。例えば、ウェブサービス１４０はデータベース１５０についてデータ検索能力を提供し、クエリモジュール１２０はクエリ１２２（例えば、データベース１５０の特定のテーブルをフィルタリングするクエリ）をインボークして結果１３２（例えば、データベース１５０の選択されたテーブルからの、フィルタリングされて得られたデータ）を生成する。特定の実施形態において、１つ若しくは複数のウェブサービス１４０及びデータベース１５０はシステム１００から隔てられており、１つ若しくは複数のデータ通信ネットワーク（例えば、インターネット）を介してアクセス可能である。尚、ウェブサービス１４０及びデータベース１５０は互いから隔てられて図示されているが、ウェブサービス１４０及びデータベース１５０は１つのコンピューティング装置（例えば、ウェブサーバまたはデータベースサーバ）に設けられてもよいし１箇所に設置されてもよい。
【００１２】
特定の実施形態において、クエリモジュール１２０はさらに、クエリ１２２をインボークするために使用可能である１つ以上のプログラムクラス（例えば、Ｃ＋＋クラス、Ｃ＃クラスまたはＪａｖａ（登録商標）クラス）を自動的に生成することができる。例えば、選択された１つ若しくは複数の入力パラメータオプション１１６はプログラムクラス内にカプセル化される（入れられる）か、プログラムクラスのインボーク方法の入力パラメータとして提供される。ユーザインターフェイス１１４はユーザ１０２によって操作され（例えば、ハイパーリンクを介して）、１つ若しくは複数のプログラムクラスを取り出すことができる。クエリ１２２をインボークするためにプログラムクラスを使用することは、アカウントキー及びセッション識別子（例えば、ＧＵＩＤ（ｇｌｏｂａｌｌｙ  ｕｎｉｑｕｅ  ｉｄｅｎｔｉｆｉｅｒ））等の権限付与（認可）情報をウェブサービス１４０に送信することを含む。よって、システム１００がオフライン状態にあるかパワーダウン状態にあるとき、プログラムクラスはクエリ１２２の実行を可能にする。プログラムクラスのためのハイパーリンクは図６を参照して更に説明される。
【００１３】
特定の実施形態においてクエリモジュール１２０はさらに、クエリモジュール１２０を実行することなくクエリ１２２をインボークするために使用できるＲＥＳＴ（ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  ｓｔａｔｅ  ｔｒａｎｓｆｅｒ）ＵＲＩを生成することができる。即ち、ＲＥＳＴ  ＵＲＩはいつでも（システム１００が動作していないときも含む）クエリ１２２をインボークするために用いることができる。例えば、選択された１つ若しくは複数の入力パラメータオプション１１６がＲＥＳＴ  ＵＲＩの一部としてカプセル化される（例えば、暗号化フォーマットまたはクリアテキストフォーマットで）。ＲＥＳＴ  ＵＲＩがインボークされると（例えば、ブラウザにおいて）、選択された１つ若しくは複数の入力パラメータオプション１１６はＲＥＳＴ  ＵＲＩの一部としてウェブサービスに送信される。よって、ＲＥＳＴ  ＵＲＩは、システム１００がオフライン状態若しくはパワーダウン状態にあるときに、クエリ１２２の実行を可能にする。ＲＥＳＴ  ＵＲＩは図６を参照して更に説明される。
【００１４】
システム１００は結果モジュール１３０を含み、当該結果モジュールはクエリ１２２のインボークの結果１３２を受信して、当該受信された結果１３２をユーザインターフェイス１１４において自動的に表示する。特定の実施形態において、クエリモジュール１２０は複数のデータ交換フォーマット（例えば、ＲＡＷ  ＸＭＬ、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）、またはＡＴＯＭ（Ａｔｏｍ  Ｓｙｎｄｉｃａｔｉｏｎ  Ｆｏｒｍａｔ）１．０）でクエリ１２２を選択的にインボークし、結果モジュール１３０は標準的なテーブルフォーマット（表形式のフォーマット）に加えて、前記複数のデータ交換フォーマット（例えば、ＲＡＷ  ＸＭＬ、ＪＳＯＮ及びＡＴＯＭ１．０）のいずれかで当該結果１３２を選択的にフォーマット化することができる。
【００１５】
特定の実施形態において、システム１００におけるスプレッドシートアプリケーションは前記結果１３２を入力データとして受け入れることができ、よって、当該結果１３２について分析を行う高度な分析手法を適用する能力をユーザ１０２に与える。
【００１６】
実際の動作において、インターフェイスモジュール１１０はウェブサービス１４０のためのユーザインターフェイス１１４を作成し、ユーザ１０２はユーザインターフェイス１１４とインタラクトすることによりユーザ入力１０４を提供する。ユーザ入力１０４（例えば、複数の入力パラメータオプションから選択した１つ以上の入力パラメータオプション）に基づいて、ユーザインターフェイス１１４は自動的にユーザインターフェイスをリフレッシュし、クエリモジュール１２０によって生成されたプログラムクラスのハイパーリンクをアップデート（更新）し、クエリモジュール１２０によって生成されたＲＥＳＴ  ＵＲＩの表示をアップデート（更新）する。
【００１７】
クエリモジュール１２０はユーザ入力１０４に基づいてウェブサービス１４０のクエリ１２２を作成し、当該クエリ１２２をインボークする。クエリ１２２は、入力パラメータオプション１１６からユーザが選択した１つ以上の入力パラメータオプションを反映する。ウェブサービス１４０はデータベース１５０からクエリ１２２の結果１３２を取り出す。結果モジュール１３０は当該結果１３２を受信し、当該結果１３２をユーザインターフェイス１１４において表示する。
【００１８】
尚、図１のシステム１００は、ユーザ１０２から受信したユーザ入力１０４に追従して（直ちに反応して）当該ユーザ入力を反映するためにユーザインターフェイス１１４を自動的にリフレッシュすることにより、ウェブサービスクエリ作成のための「アクティブな」インターフェイスを提供する。また、図１のシステム１００はウェブサービスクエリ作成を単純化することもできる。例えば、ウェブサービス１４０の複雑なアプリケーションプログラミングインターフェイス（ＡＰＩ）の利用方法を習得するために時間を使うのではなく、ユーザ自身が興味を持っているデータが何であるのか（例えば、どんな入力パラメータオプション１１６がクエリ１２２によって反映されるべきか）を知っているユーザであるなら、当該ユーザはユーザインターフェイス１１４を操作して、クエリ１２２をインボークするのに用いることができるＲＥＳＴ  ＵＲＩまたは動的に作成されたプログラムクラスを取り出してもよい。このような動的に作成されたプログラムクラス及びＲＥＳＴ  ＵＲＩはシステム１００が動作していないときでも使用可能である。
【００１９】
また、図１のシステム１００はクエリ修正を補助するプレビューメカニズムも提供する場合がある。例えば、ユーザ１０２は増進的な変化をクエリ１２２に与え（施し）、システム１００を使用するユーザ１０２は、クエリ１２２により生成された結果１３２における前記増進的な変化の影響のプレビューを見ることができる。尚、ウェブサービス（例えば、既存のウェブサービスまたは新たに生成されたウェブサービス）は、ウェブサービス（例えば、ウェブサービス１４０）のシリーズ及びサービス細目（例えば、細目１１２）を提供することにより図１のシステム１００のインターフェイス作成能力及びクエリ検索能力に適合するように構成される。このようなシリーズ及びサービス細目は、ウェブサービス開発者（社）によって提供されてもよい。あるいは、シリーズ及びサービス細目は自動的に生成されてもよい（例えば、ウェブサービスのデフィニションファイルまたはソースコードに基づいて）。
【００２０】
図２はウェブサービス２４０のインターフェイスを生成して当該ウェブサービス２４０をクエリ検索するシステム２００の他の実施形態を示す図である。ウェブサービス２４０は、データベース２５０及びディスプレイデバイス２０６（例えば、コンピューティング装置に接続されたディスプレイ）に通信可能に接続されたウェブサーバ２６０に設けられている。例示的な実施形態において、ウェブサービス２４０は図１のウェブサービス１４０であり、データベース２５０は図１のデータベース２５０である。
【００２１】
インターフェイスモジュール２１０はウェブサービス２４０のためのユーザインターフェイス２１４を生成し、当該ユーザインターフェイス２１４をディスプレイデバイス２０６において表示するために送信する。例えば、ユーザインターフェイス２１４はウェブサービス２４０のＸＭＬサービス及びシリーズ細目２１２に基づいて生成される。また、インターフェイスモジュール２１０はユーザインターフェイス２１４を操作しているユーザ２０２からユーザ入力２０４を受信する。ユーザ入力２０４はウェブサービス２４０に関連する入力パラメータオプションの中から選択された１つ以上の入力パラメータオプションを含み、当該入力パラメータオプションはユーザインターフェイス２１４に表示される。インターフェイスモジュール２１０はユーザ入力２０４に基づいて、自動的に修正ユーザインターフェイス２１５を作成し、当該修正ユーザインターフェイス２１５をディスプレイデバイス２０６で表示するために送信することもできる。よって、ユーザ２０２の立場で考えると、ユーザインターフェイス２１４は自動的に修正ユーザインターフェイス２１５にリフレッシュされることになる。
【００２２】
ウェブサービス２６０はまた、クエリモジュール２２０を含む。特定の実施形態においては、クエリモジュール２２０はユーザ入力２０４に基づいてウェブサービス２４０のクエリを作成する。他の実施形態にあっては、ユーザインターフェイス２１４（及び修正ユーザインターフェイス２１５）は、ユーザ入力２０４に基づいてクエリ２２２を作成して当該クエリ２２２をウェブサーバ２６０に送信するクエリ作成ロジックを含む。クエリモジュール２２０は結果２３２を生成するためにウェブサービス２４０に関するクエリ２２２をインボークし、当該結果２３２は送信されてディスプレイデバイス２０６において表示される。特定の実施形態において、前記結果２３２は、クエリ２２２の内容に基づいてウェブサービス２４０によってデータベース２５０から取り出される。
【００２３】
実際の動作において、インターフェイスモジュール２１０はウェブサービス２４０のためのユーザインターフェイス２１４を作成し、当該ユーザインターフェイス２１４を送信してディスプレイデバイス２０６に表示する。ユーザ２０２はユーザインターフェイス２１４とインタラクトすることによってユーザ入力２０４を提供する。ユーザ入力２０４に基づいて、インターフェイスモジュール２１０は修正ユーザインターフェイス２１５を作成し、当該修正ユーザインターフェイス２１５をディスプレイデバイス２０６において表示するために送信する。
【００２４】
クエリ２２２はユーザ入力２０４に基づいて作成され、クエリモジュール２２０によってインボークされて結果２３２を生成する。例えば、ウェブサービス２４０はクエリ２２２の内容に基づいてデータベース２５０から当該結果２３２を取り出す。当該結果２３２は、表示されるためにディスプレイデバイス２０６へ送信される。
【００２５】
尚、図２のシステム２００は異なるコンピューティング装置においてインターフェイス生成、インターフェイス表示及びクエリ作成を提供することもある。例えば、ウェブサービス開発者またはウェブサービス２４０及びデータベース２５０に関連する販売者はウェブサーバ２６０においてウェブサイトを立ち上げるかもしれない。当該ウェブサイトはユーザインターフェイス２１４、修正ユーザインターフェイス２１５及び結果２３２を含む。このような例においては、ユーザ２０２等のユーザは、ウェブサービスに関連した複雑なアプリケーションプログラミングインターフェイスを学習する代わりに、ウェブサイトを訪問してウェブサービスを操作することができる。図２のシステム２００を用いると、ソフトウエア開発者及びデータ販売者にとってはウェブサービス使用が簡単になる。
【００２６】
図３は図１のシステム１００若しくは図２のシステム２００において使用することができるＸＭＬサービス細目３００の実施形態を示す図である。例えば、ＸＭＬサービス細目３００は図１のサービス及びシリーズ細目１１２若しくは図２のサービス及びシリーズ細目２１２に含まれる。
【００２７】
特定の実施形態において、ＸＭＬサービス細目３００は公知の記号列（例えば、／＄ｓｅｒｖｉｃｅ）をウェブサービスの基本ＵＲＬの終端に付けることによって取得することができる。例えば、米国犯罪統計局「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｓｅｒｖｉｃｅｓ／ＵｓＣｒｉｍｅＳｅｒｖｉｃｅ．ｓｖｃ」をローカルに運営するためのサービス細目はＵＲＬ「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｓｅｒｖｉｃｅｓ／ＵｓＣｒｉｍｅＳｅｒｖｉｃｅ．ｓｖｃ／＄ｓｅｒｖｉｃｅ」で取得することができる。特定の実施形態において、サービス細目はサービスによってホストされる各データセット毎に存在する。例えば、「ｍａｊｏｒｃｒｉｍｅｓ」データセットのサービス細目はＵＲＬ「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｓｅｒｖｉｃｅｓ／ＵｓＣｒｉｍｅＳｅｒｖｉｃｅ．ｓｖｃ／ｍａｊｏｒｃｒｉｍｅｓ／＄ｓｅｒｖｉｃｅ」で取得することができる。
【００２８】
ＸＭＬサービス細目３００は複数のノードを含むこともある。例えば、サービス細目はルートノード（図３において例示的に＜ｓｅｒｖｉｃｅ＞と示されている）を含み、当該ルートノードは複数の一般ノード（例えば、ブール式ページング許可３０２、ストリング（記号列）サービスタイトル３０４、ストリングサービス説明３０６及び当該サービスに関連したロゴイメージを取り出すことができるロゴＵＲＩ）含む。
【００２９】
ルートノードはさらに、パラメータノードを含むこともある。パラメータノードは、リストパラメータ（例えば、リストパラメータ３０８）及びＵＲＩノードを含む。各リストパラメータはドロップダウンメニューとして表示される、取り得るデータ値のリストを表示する。特定の実施形態において、各リストパラメータは、ドロップダウンメニューのラベルとして使用されるディスプレイ名と、固有のシリーズ識別子（ＩＤ）３１２と、シリーズソース経路３１４とを含む。ＵＲＩノードは１つ若しくは複数のシリーズノードを含み、各シリーズノードはシリーズＵＲＩテンプレート３１０を含み、当該テンプレートは特定のシリーズ細目のためのＵＲＩを生成するために用いることができる。例えば、シリーズソース経路３１４はシリーズＵＲＩテンプレート３１０に付けられて、特定のシリーズ細目のためのＵＲＩを生成する。例えば、もし「ｓｅｒｖｉｃｅｓ」の値が４であるなら、ＵＲＩはｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｓｅｒｖｉｃｅｓ／ＵｓＣｒｉｍｅＳｅｒｖｉｃｅ．ｓｖｃ／＄ｓｅｒｉｅｓ？ｓｅｒｉｅｓ＝４となる。
【００３０】
図４は図１のシステム１００若しくは図２のシステム２００において使用されるＸＭＬシリーズ細目４００の実施形態を示す図である。例えば、ＸＭＬシリーズ細目４００は図１のサービス及びシリーズ細目１１２若しくは図２のサービス及びシリーズ細目２１２に含まれる。
【００３１】
図３を参照して説明したように、ウェブサービスは１つ若しくは複数のデータシリーズをホストする。当該１つ若しくは複数のデータシリーズの各々は、付随するシリーズ細目を有する。各シリーズ細目のＵＲＩは、サービス細目（例えば、図３のＸＭＬサービス細目３００）に含まれているシリーズＵＲＩテンプレート（例えば、図３のシリーズＵＲＩテンプレート３１０）及びシリーズソース経路（例えば、図３のシリーズソース経路３１４）に基づいて生成される。
【００３２】
シリーズ細目４００は複数のノードを含むことができる。例えば、シリーズ細目はルートノード（図４では例示的に＜ｓｅｒｉｅｓ＞と記載されている）を含み、当該ルートノードはパラメータノード、結果セットノード、アクションノード及びＵＲＩノードの１つ以上を含む。パラメータノードは、特定のシリーズのために規定されたパラメータ４０２を含むことができる。例えば、図４に示された実施形態にあっては、パラメータ「Ｓｔａｔｅ（州）」、「Ｃｉｔｙ（市）」及び「Ｙｅａｒ（年）」が米国統計局のために規定されており、これらパラメータの各々はリストパラメータである（例えば、当該サービスは複数の州、市及び年についての統計を取りだすことができる）。このようなリストパラメータの各々は、シリーズ細目４００に従って生成されたユーザインターフェイスにおいてドロップダウンリストとして表示される。パラメータ４０２はさらに、ストリング（記号列）パラメータ、整数パラメータ及び小数点パラメータを含む場合もある。
【００３３】
各リストパラメータはリストドキュメント（例えば、図４の「ｓｔａｔｅｓＬｉｓt」、「ｃｉｔｉｅｓＬｉｓｔ」及び「ｙｅａｒｓＬｉｓｔ」）を指す。各リストドキュメントはＭＸＬファイルであり、そのアイテムノードはドロップダウンメニューの値を表している。例えば、「ｓｔａｔｅｓＬｉｓｔ」ドキュメントは以下のものを含む。
【００３４】
【表１】
2013511086.tif 000003
【００３５】
結果セットノードは、クエリのインボークによって戻されて存在しているデータフィールド４０４を含む。例えば、図４に示された実施形態において、米国犯罪統計局に関するクエリをインボークすると、ストリング「Ｎａｍｅ」フィールドと「Ｖｉｏｌｅｎｔ  Ｃｒｉｍｅ」、「Ｒｏｂｂｅｒｙ」、「Ａｇｇｒａｖａｔｅｄ  Ａｓｓａｕｌｔ」、「Ｐｒｏｐｅｒｔｙ  Ｃｒｉｍｅ」、「Ｂｕｒｇｌａｒｙ」、「Ｌａｒｃｅｎｙ」、「ＭｏｔｏｒＶｅｈｉｃｌｅＴｈｅｆｔ」及び「Ａｒｓｏｎ」の整数フィールドが戻される。
【００３６】
アクションノードはパラメータ４０２の選択に基づいて実行されるアクションを含む。よって、異なるアクションがウェブサービスインターフェイスにおけるドロップダウンメニューの各リスト値に関連付けられていることもある。例えば、図４の実施形態において、アクションノードは、ユーザがパラメータ４０２の中の１つ以上のパラメータを選択すると、ＸＭＬシリーズ細目４００に従って生成されてユーザインターフェイスを自動的にリフレッシュするのに用いることができる自動リフレッシュＵＲＩ４０６を含む。例えば、もしユーザが州「Ｔｅｘａｘ（テキサス）」を選択すると、「Ｃｉｔｉｅｓ（市）」のドロップダウンメニューが自動リフレッシュＵＲＩ４０６に従って自動的にリフレッシュされる（例えば、「Ｃｉｔｉｅｓ」のドロップダウンメニューにはテキサス州の市が含まれ且つ他の州の市が含まれないように変更される）。ウェブサービスに付随したインターフェイスにおける自動リフレッシュ動作は図５に基づいてさらに説明される。
【００３７】
ＵＲＩノードは、クエリノード、分析ノード及びプレビューノードを含むこともある。クエリノードは、データについてウェブサービスをクエリ検索するのに用いることができるクエリＵＲＩ４０８を含む。分析ノードは、ウェブサービスをクエリ検索することによって生成されたデータに対して高度なデータ分析を（例えば、スプレッドシートアプリケーションにおいて）行う際に用いることができるＵＲＩを含む。プレビューノードはウェブサービスをクエリ検索することによって生成されたデータのプレビューを作成する際に用いることができる結果ＵＲＩ４１０を含む。特定の実施形態において、結果ＵＲＩは図１の結果１３２及び図２の結果２３２に関して説明されたユーザインターフェイスにおいて、結果を表示するのに用いることができる。
【００３８】
尚、ＸＭＬサービス細目３００及びＸＭＬシリーズ細目４００はＸＭＬファイルとして図３及び図４に示されているが、サービス細目及びシリーズ細目は任意のコンピュータ認識可能言語（例えば、テキストファイル、リッチテキストフォーマット（ＲＴＦ）またはＨＴＭＬ（ｈｙｐｅｒ  ｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）によって表されてもよい。
【００３９】
図５はユーザ入力に基づいてウェブサービスのためのインターフェイスを自動的にリフレッシュする実施形態５００を示す図である。図５に示された実施形態において、ユーザインターフェイス５１０はユーザインターフェイス５２０にリフレッシュされる。説明の都合上、ユーザインターフェイス５１０及び５２０は図３及び図４で説明された米国犯罪統計ウェブサービスへのインターフェイスとして図示されている。
【００４０】
ウェブサービスのためのユーザインターフェイスはユーザ入力に応じてリフレッシュされる。例えば、ユーザインターフェイス５１０における州（Ｓｔａｔｅ）ドロップダウンメニューでユーザが「Ｔｅｘａｓ」を選択したことを示すユーザ入力５０２があると、当該ユーザ入力により自動リフレッシュ動作・処理が起動される。自動リフレッシュ動作の結果がユーザインターフェイス５２０であり、市（Ｃｉｔｙ）及び年（Ｙｅａｒ）のドロップダウンメニューの範囲は、テキサス州に付随するシリーズ細目に基づいて自動的に更新される（符号５２２）。例えば、図５に示された実施形態では、当初の市（Ｃｉｔｙ）ドロップダウンメニューは米国内の市を範囲未定で（制限無しに）含んでおり、当初の年（Ｙｅａｒ）ドロップダウンメニューは所定の年（例えば、１９９０年−２０００年）を範囲未定で含んでいる。ユーザ入力５０２に応じて、市ドロップダウンメニューは自動的に「Ａｂｉｌｅｎｅ（アビリーン）」（例えば、米国犯罪統計局がデータを取り出すことができるテキサス州の市の中、アルファベット順で最初の市）に設定され、年ドロップダウンメニューは自動的に１９９５（例えば、米国犯罪統計局がテキサス州アビリーン市に関するデータを取り出すことができる最も古い年）に設定される。市ドロップダウンメニューの範囲が設定され（例えば、テキサス州の利用可能な市）、年ドロップダウンメニューの最小値／最大値も設定される（例えば、テキサス州に関連するデータが入手可能になっている最も古い年及び最も新しい年）。
【００４１】
尚、図５に示されているようにウェブサービスのためのユーザインターフェイスを自動的にリフレッシュすると、ウェブサービスクエリ生成のための「アクティブな」インターフェイスが提供される。例えば、ユーザインターフェイスはユーザから受信されたユーザ入力（例えば、ユーザ入力５０２）に追従してそれを反映するように自動的にリフレッシュされる。
【００４２】
図６はウェブサービスのためのインターフェイス６００の実施形態を示す図であり、インターフェイスがウェブサービスのクエリの結果のプレビューを表示している。インターフェイス６００は、クエリ生成エリア６１０と結果プレビューエリア６２０とウェブサービス情報エリア６３０とを含む。図６に示された実施形態において、インターフェイス６００は国連（ＵＮ）の食糧農業機関（ＦＡＯ）によって提供されるデータへのインターフェイスである。
【００４３】
ウェブサービス情報エリア６３０は、ウェブサービスのタイトル、説明及びロゴを含む。特定の実施形態においては、前記タイトル、説明及びロゴは、図３のＸＭＬサービス細目３００に関連して説明されたウェブサービスのためのサービス細目から取り出される。
【００４４】
クエリ生成エリア６１０はまた、サービス及びシリーズ細目に従う種々の入力パラメータオプション及びクエリ生成オプションを含むこともある。例えば、クエリ生成エリア６１０はサービスパラメータ６１１の表示（ディスプレイ）を含む。例えば、サービスパラメータ６１１は「Ｓｅｒｉｅｓ（シリーズ）」、「Ｃｏｕｎｔｒｙ（国）またはＡｒｅａ（エリア）」及び「Ｙｅａｒ（年）」を含む。図６に示された実施形態は、農業生産指数（Ａｇｒｉ．Ｐｒｏｄｎ．Ｉｎｄｘ.）シリーズからのユーザ選択を示す。クエリ生成エリア６１０はまた、ページング情報（例えば、ウェブサービスがページングをサポートしているか否か）の表示も含む。クエリ生成エリア６１０はさらに、Ａｃｃｏｕｎｔ  Ｋｅｙ（アカウントキー）６１３、ＳｅｓｓｉｏｎＩＤ（セッションＩＤ）６１４（例えば、ＧＵＩＤ）、ＲＥＳＴ  ＵＲＩ６１７及びプログラムクラス（例えば、プロキシＣ＃クラス）ダウンロードハイパーリンク６１６の表示を含む。クエリ作成エリア６１０はまた、複数の利用可能なデータ交換フォーマット６２２でクエリをインボークするオプションも含む。例えば、図６に示された実施形態において、ウェブサービスのクエリはＡＴＯＭ１．０フィードとしてインボークされる。あるいは、ウェブサービスのクエリは任意の他のデータ交換フォーマット（例えば、ＲＡＷ  ＸＭＬまたはＪＳＯＮ）でインボークされてもよい。
【００４５】
結果プレビューエリア６２０は、ウェブサービスのクエリをインボークすることによって生成される結果の表示を含むこともある。例えば、図６に示された実施形態においては、結果プレビューエリア６２０は農業生産指数からのデータを表示する。結果プレビューエリア６２０は複数の利用可能なデータ交換フォーマット６２２で結果を表示する。例えば、図６に示されている実施形態はテーブル形式のフォーマットで表示された結果を示しているが、当該結果はＲＡＷ  ＸＭＬフォーマット、ＪＳＯＮフォーマット若しくはＡＴＯＭ１．０フォーマットで結果プレビューエリア６２０に表示されてもよい。ユーザ入力がサービスパラメータ６１１の値を変えると、結果プレビューエリア６２０は更新されて、変更後のサービスパラメータ６１１に基づく新たな結果のプレビューを表示する。
【００４６】
図７はウェブサービスのためのインターフェイスを作成し、当該ウェブサービスをクエリ検索するための方法７００の実施形態を示すフローチャートである。例示的な実施形態において、この方法７００は図１のシステム１００によって実施される。
【００４７】
方法７００は、ステップ７０２において、ウェブサービスに関連するユーザインターフェイスを生成することを含む。ユーザインターフェイスは、ウェブサービスに関連する１つ若しくは複数の入力パラメータオプションを含み、ＸＭＬサービス細目及び当該ＸＭＬサービス細目に関連する１つ以上のＸＭＬシリーズ細目に基づいて生成される。例えば、図１において、インターフェイスモジュール１１０はサービス及びウェブサービス１４０に関連するシリーズ細目１１２に基づいてユーザインターフェイス１１４を生成し、ユーザインターフェイス１１４は入力パラメータオプション１１６を含む。他の例として、図６に示されているように、インターフェイス６００はサービスパラメータ６１１を含むように生成される。
【００４８】
方法７００はまた、ステップ７０４において、ユーザインターフェイスを介してユーザ入力を受信することを含み、当該ユーザ入力は１つ以上の入力パラメータオプションの中から選択された少なくとも１つの入力パラメータオプションを含む。例えば、図１において、ユーザ入力１０４はユーザインターフェイス１１４を介して受信され、当該ユーザ入力１０４は入力パラメータオプション１１６から選択した入力パラメータオプションである。他の例として、図６に示されているように、農業生産指数が選択される。
【００４９】
方法７００はさらに、ステップ７０６において、受信したユーザ入力に基づいてウェブサービスのクエリを作成することを含み、当該クエリは前記少なくとも１つの選択された入力パラメータオプションを反映している。例えば、図１において、クエリモジュール１２０はクエリ１２２を作成する。他の例として、図６に示されているように、農業生産指数データシリーズのクエリ（例えば、構造化照会言語（ＳＱＬ）クエリ「ｓｅｌｅｃｔ  ＊  ｆｒｏｍ  ＡｇｒｉＰｒｏｄｎＩｎｄｘ」）が作成される。
【００５０】
方法７００は、ステップ７０８において、ウェブサービスについて前記作成されたクエリをインボークして結果を受信することを含む。例えば、図１において、クエリモジュール１２０はクエリ１２２をインボークし、結果モジュール１３０が結果１３２を受信する。他の例として、図６に示されているように、農業生産指数のクエリがインボークされ、結果プレビューエリア６２０に表示された結果が受信される。
【００５１】
方法７００はまた、ステップ７１０において、前記受信した結果をユーザインターフェイスに自動的に加えることを含む。例えば、図１において、結果モジュール１３０は結果１３２をユーザインターフェイス１１４に自動的に加える。他の例として、図６に示されているように、結果はインターフェイス６００の結果プレビューエリア６２０に表示される。
【００５２】
図８はウェブサービスのためのインターフェイスを受信して当該ウェブサービスのクエリを作成する方法８００の実施形態を示すフローチャートである。例示的な実施形態にあっては、方法８００は図２のシステム２００において実施される。
【００５３】
方法８００は、ステップ８０２において、ウェブサーバからウェブサービスに関連するユーザインターフェイスを受信することと、ステップ８０４において、当該ユーザインターフェイスを表示することを含む。ユーザインターフェイスはウェブサービスに関連する１つ以上の入力パラメータオプションを含み、ＸＭＬサービス細目及び当該ＸＭＬサービス細目に関連する１つ以上のＸＭＬシリーズ細目に基づいて生成される。例えば、図２において、ウェブサービス２４０に関連するユーザインターフェイス２１４はサーバ２６０から受信され、ディスプレイデバイス２０６において表示され、当該ユーザインターフェイス２１４はシリーズ及びサービス細目２１２に基づいて生成される。他の例として、図６に示されているように、ＸＭＬサービス及びシリーズ細目に基づいて生成されるインターフェイス６００が表示される。
【００５４】
方法８００はまた、ステップ８０６において、ユーザインターフェイスでユーザ入力を受信することを含み、ステップ８０８において、当該ユーザ入力をウェブサーバに送信することを含む。ユーザ入力は前記１つ以上の入力パラメータオプションの中から選択された少なくとも１つの入力パラメータオプションを含む。例えば、図２において、ユーザ入力２０４は受信されて、ウェブサーバ２６０に送信される。他の例として、図６に示されているように、農業生産指数が選択される。
【００５５】
方法８００はさらに、ステップ８１０において、ウェブサーバから修正ユーザインターフェイスを受信することと、当該修正ユーザインターフェイスを表示することを含む。修正ユーザインターフェイスはユーザ入力を反映する。例えば、図２において、修正ユーザインターフェイス２１５はウェブサーバ２６０から受信されてディスプレイデバイス２０６で表示される。他の例として、図６に示されているように、農業生産指数の選択は、インターフェイス６００における「Ｓｅｒｉｅｓ」ドロップダウンメニューによって示される。
【００５６】
方法８００は、ステップ８１２において、受信したユーザ入力に基づいてウェブサービスのクエリを作成することを含み、当該クエリは前記少なくとも１つの選択された入力パラメータオプションを反映している。例えば、図２において、クエリ２２２が作成される。他の例として、図６に示されているように、農業生産指数データシリーズのクエリが作成される。
【００５７】
方法８００はまた、ステップ８１４において、前記作成されたクエリをウェブサーバに送信することと、当該作成されたクエリのインボークに基づく結果をウェブサーバから受信することを含む。例えば、図２において、クエリ２２２がウェブサーバ２６０に送信され、クエリ２２２のインボークに基づく結果２３２がウェブサーバ２６０から送信される。他の例として、図６に示されているように、農業生産指数のクエリがインボークされ、結果プレビューエリア６２０に表示された結果が受信される。
【００５８】
前記方法はまた、ステップ８１６において、前記修正ユーザインターフェイスに前記結果を表示することを含む。例えば、図２では、結果２３２はディスプレイデバイス２０６の修正ユーザインターフェイス２１５において表示される。他の例として、図６に示されているように、結果はインターフェイス６００の結果プレビューエリア６２０に表示されてもよい。
【００５９】
図９はコンピューティング装置９１０を含むコンピューティング環境９００のブロック図であり、当該コンピューティング環境は、本出願の開示内容に基づくコンピュータ実装方法、コンピュータプログラムプロダクト及びシステムコンポーネントの実施形態をサポートするように動作可能である。例示的な実施形態においてコンピューティング装置９１０は図１のモジュール１１０、１２０及び１３０の中の１つ若しくは複数と、図１のウェブサービス１４０と、図２のディスプレイデバイス２０６とを含む。図１のモジュール１１０、１２０、１３０、図１のウェブサービス１４０、及び図２のディスプレイデバイス２０６の各々は、コンピューティング装置９１０若しくはその一部を含むか、コンピューティング装置９１０若しくはその一部を使用して実装される。
【００６０】
コンピューティング装置９１０は少なくとも１つのプロセッサ９２０と１つのシステムメモリ９３０とを含む。コンピューティング装置の構成及びタイプによっては、システムメモリ９３０は揮発性（例えば、ＲＡＭ（ランダムアクセスメモリ））でもよく、不揮発性（例えば、ＲＯＭ（リードオンリーメモリ）、フラッシュメモリ、及びこれらと同様に電源が供給されなくても記憶データを維持するメモリデバイス）でもよく、または揮発性と不揮発性の組み合わせでもよい。システムメモリ９３０は典型的には、１つのオペレーティングシステム９３２と、１つ以上のアプリケーションプラットフォーム９３４と、１つ以上のアプリケーション９３６とを含み、前記１つ以上のアプリケーションに関連するプログラムデータ９３８も含む場合がある。
【００６１】
コンピューティング装置９１０はまた、追加の特徴若しくは機能を有してもよい。例えば、コンピューティング装置９１０は取り外し可能なデータストレージデバイス及び／または取り外し不可能なデータストレージデバイス（例えば、磁気ディクス、光学ディクス、テープ及び標準サイズの若しくは小型のフラッシュメモリカード）をさらに含んでもよい。このような追加のストレージデバイスは図９において、取り外し可能ストレージ９４０及び取り外し不可能ストレージ９５０として示されている。コンピュータ記憶媒体は揮発性記憶媒体及び／または不揮発性記憶媒体を含むと共に取り外し可能媒体及び／または取り外し不可能媒体を含む。これら媒体は、コンピュータ可読命令、データ構造、プログラムコンポーネントまたは他のデータ等の情報記憶のための手段・技術に実装される。システムメモリ９３０、取り外し可能ストレージ９４０及び取り外し不可能ストレージ９５０は全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、フラッシュメモリその他のメモリ手段・装置、コンパクトディクス（ＣＤ）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）その他の光学ストレージ、磁気カセット、磁気テープ、磁気ディクスストレージその他の磁気記憶手段・装置、または情報を記憶するのに使用することができ且つコンピューティング装置９１０によってアクセス可能な他の任意の媒体を含む（これらに限定されるわけではないが）。このようなコンピュータ記憶媒体はコンピューティング装置９１０の一部であってもよい。コンピューティング装置９１０はまた、入力デバイス（単数または複数）９６０を有してもよい（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等）。ディスプレイ、スピーカ、プリンタ等の出力デバイス（単数または複数）９７０も含まれてもよい。ユーザ９０２は前記入力デバイス（単数または複数）９６０及び出力デバイス（単数または複数）９７０を介してコンピューティング装置９１０とインタラクトすることができる場合もある。
【００６２】
コンピューティング装置９１０はまた、１つ以上の通信接続部９８０を含んでもよく、当該通信接続部によってコンピューティング装置９１０は他のコンピューティング装置（例えば、ウェブサーバ９９０及びデータベース９９２）と有線ネットワーク若しくは無線ネットワークを介して通信することができる。例示的な実施形態において、ウェブサーバ９９０は図１のウェブサーバ２６０であり、データベース９９２は図１のデータベース１５０若しくは図２のデータベース２５０である。
【００６３】
尚、本明細書に説明された実施形態をサポートするのに、図９に示されているか上記段落において説明されたコンポーネント若しくはデバイスの全てが必要というわけではない。例えば、取り外し可能ストレージ９４０は必須ではない。
【００６４】
本明細書において説明された実施形態の記載は、種々の実施形態の構造・構成の全般的な理解を提供しようとするものである。上記記載は本明細書に説明された構造・構成若しくは方法を使用する装置及びシステムの要素及び特徴の全てを説明するものではない。本出願の開示内容を見たならば、当業者には多くの他の実施形態が明らかになるであろう。本出願の開示内容の範囲から離れることなく構造的な置換や変更並びに論理的な置換や変更を加えた他の実施形態も使用することができるであろうし、本出願の開示内容から、そのような実施形態を導き出すことができるであろう。よって、本出願の開示内容及び図面は、制限的な意味を持たず例示的な意味を持つものであると理解されるべきである。
【００６５】
当業者であれば更に、本明細書に記載された実施形態との関連で説明された種々の例示的な論理ブロック、構成、モジュール及び方法ステップ若しくは命令は電子ハードウエア、コンピュータソフトウエア若しくはハードウエアとソフトウエアの組み合わせとして実装可能であることが理解できるであろう。種々の例示的なコンポーネント、ブロック、構成、モジュール若しくはステップは概してそれらの機能の視点から説明されている。そのような機能がハードウエアで実装されるかソフトウエアで実装されるかは、システム全体に与えられる（課される）アプリケーション及び設計制限・条件によって決まる。当業者であれば、それぞれのアプリケーションに合うように、本明細書に記載された機能を種々の異なった形・方式で実施・実装するであろうが、そのような実施・実装の決定・採用は本明細書の開示内容から離れたものであると解釈されるべきではない。
【００６６】
本明細書に開示された実施形態との関連で記載された方法のステップは、ハードウエア、プロセッサにより実行されるソフトウエアモジュール、またはこれらの組み合わせにおいて直接具現化することができる。ソフトウエアモジュールはコンピュータ可読媒体内に存在してもよい。コンピュータ可読媒体は例えば、ＲＡＭ、フラッシュメモリ、ＲＯＭ、レジスタ、ハードディクス、取り外し可能ディクス、ＣＤ−ＲＯＭ、または当該技術分野において公知のその他の記憶媒体である。典型的な記憶媒体はプロセッサに接続され、当該プロセッサは当該記憶媒体から情報を読み出すこと及び当該記憶媒体に情報を書き込むことができる。代替実施形態において、前記記憶媒体はプロセッサに一体化されるか、プロセッサ及び記憶媒体がコンピューティング装置若しくはコンピュータシステム内のディスクリートコンポーネント（個別・離散コンポーネント）として存在する。
【００６７】
本明細書において特定の実施形態が図示されて説明されてきたが、同じ目的若しくは同様な目的を達成するように構成された今後の装置・構成・方法が上記の図示実施形態の代替として用いられることもあるだろう。本出願の開示内容は、いかなる代替または実施形態の変更も全て包含するものである。
【００６８】
要約書は、特許請求の範囲の意味若しくは範囲を解釈若しくは限定するために用いられないという理解の下に提供されている。また、上記の「発明を実施するための形態」において、効率的な開示をするという目的のために、種々の特徴がまとめて記載されていたり、１つの実施形態の中に説明されているかもしれない。このような開示は、クレームアップされた実施形態が各請求項に明記された特徴・構成（発明特定事項）より多くの特徴・構成を必要とするという意図を反映するとして解釈されるべきではない。即ち、特許請求の範囲に記載されているように、発明の主題は開示された各実施形態の全特徴・全構成よりも少ない特徴・構成に係る場合もある。
【００６９】
実施形態の上記説明は、当業者が当該実施形態を実施（製造または使用）できるようにするために提供されている。これら実施形態に対する種々の変更・修正は当業者には容易に考えつくであろうし、本明細書に記載された包括的な原理（技術思想）は、本出願の開示範囲から離れることなく他の実施形態に適用可能である。従って、本出願の開示内容は図示された実施形態に限定されるという意図はなく、特許請求の範囲に記載された技術思想及び新規な特徴に合致する最も広い範囲を包含するものである。
【図１】
2013511086.tif 000004
【図２】
2013511086.tif 000005
【図３】
2013511086.tif 000006
【図４】
2013511086.tif 000007
【図５】
2013511086.tif 000008
【図６】
2013511086.tif 000009
【図７】
2013511086.tif 000010
【図８】
2013511086.tif 000011
【図９】
2013511086.tif 000012
【国際調査報告】
2013511086.tif 000013
2013511086.tif 000014