JP5693600B2 - ウェブサービスインターフェイス及びクエリ検索 - Google Patents

ウェブサービスインターフェイス及びクエリ検索 Download PDF

Info

Publication number
JP5693600B2
JP5693600B2 JP2012538847A JP2012538847A JP5693600B2 JP 5693600 B2 JP5693600 B2 JP 5693600B2 JP 2012538847 A JP2012538847 A JP 2012538847A JP 2012538847 A JP2012538847 A JP 2012538847A JP 5693600 B2 JP5693600 B2 JP 5693600B2
Authority
JP
Japan
Prior art keywords
query
user interface
series
service
web service
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.)
Active
Application number
JP2012538847A
Other languages
English (en)
Other versions
JP2013511086A (ja
JP2013511086A5 (ja
Inventor
リエンズバーガー クリスチャン
リエンズバーガー クリスチャン
コースラヴィ ムー
コースラヴィ ムー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013511086A publication Critical patent/JP2013511086A/ja
Publication of JP2013511086A5 publication Critical patent/JP2013511086A5/ja
Application granted granted Critical
Publication of JP5693600B2 publication Critical patent/JP5693600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

ウェブサービスは、ネットワークを介してコンピュータ同士の間の通信を行う手法として広く用いられるようになった。ウェブサービスは、典型的な場合、アプリケーションプログラミングインターフェイス(API)に基づいて決められたクエリを介してアクセスされる。しかしながら、アプリケーションプログラミングインターフェイスの使い方を学ぶことは時間がかかるプロセスであり、ユーザはかなりの量のウェブサービス文書を見なければならない。さらに、ウェブサービスをホストするウェブサーバはしばしば数十個(またはそれ以上)のアプリケーションプログラミングインターフェイスを提示する。アプリケーションプログラミングインターフェイスをベースにしたウェブサービスのアクセスは、典型的な場合、コンピュータプログラミング知識を必要とする。テキストベースのコンピュータプログラムにおける可視的なフィードバックが無いので、アプリケーションプログラミングインターフェイスベースのウェブサービスアクセスは直感的に理解できるものではない。従って、ウェブサービスクエリを構成する(作り上げる)ことは、ユーザにとっては長時間で且つ色々なことを要求されるプロセスとなる。
本明細書はウェブサービス用の自動化されたインターフェイス作成を説明し、当該インターフェイスはユーザ入力に基づいたウェブサービスのクエリ作成を可能にする。よって、ウェブサービス処理・動作の全ては、インターフェイスにおけるユーザ入力を介して作動される。ウェブサービスインターフェイスはサービス及びシリーズ細目(例えば、XMLファイル)に基づいて生成される。ユーザ入力に応答して、ウェブサービスインターフェイスは自動的にリフレッシュされ(書き換えが行われ)、当該受信した入力を反映し、よって、ウェブサービスに対して「アクティブな」インターフェイスを提供する。ウェブサービスのクエリがインボーク(呼び出し)されると、インターフェイスは当該クエリによって生成された結果のプレビューを表示する。インターフェイスの生成及びクエリの作成・構築によって、ユーザは、複雑なアプリケーションプログラミングインターフェイスを学ぶことなくウェブサービスを活用することができるようになる。さらに、URI及びプログラムクラスが自動的に作成され、以前にインボークされたクエリを再度実行するためにユーザにより引き出すことができる。
この「発明の概要」は下記の「発明を実施するための形態」において詳述される技術思想の幾つかを簡単な形で紹介するためのものである。この「発明の概要」は特許請求の範囲に記載された発明の主要な特徴若しくは本質的な特徴を特定することを意図したものではないし、特許請求の範囲に記載された発明の範囲を限定するために用いられることを意図したものでもない。
図1はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するためのシステムの特定の実施形態を示す図である。 図2はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するためのシステムの他の実施形態を示す図である。 図3は図1のシステム若しくは図2のシステムにおいて使用することができるサービス細目の特定の実施形態を示す図である。 図4は図1のシステム若しくは図2のシステムにおいて使用することができるシリーズ細目の特定の実施形態を示す図である。 図5はユーザ入力に基づいてウェブサービス用インターフェイスを自動的にリフレッシュする特定の実施形態を示す図である。 図6はウェブサービスのクエリの結果のプレビューを表示することを含むウェブサービス用インターフェイスの特定の実施形態を示す図である。 図7はウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するための方法の特定の実施形態を示すフローチャートである。 図8はウェブサービス用インターフェイスを受信して当該ウェブサービスのクエリを生成する方法の特定の実施形態を示すフローチャートである。 図9は図1−図8に示されたシステムコンポーネント、コンピュータプログラムプロダクト及びコンピュータ実装方法の実施形態をサポートするように作動するコンピューティング装置を含むコンピューティング環境のブロック図である。
ウェブサービス用インターフェイスを生成して当該ウェブサービスにクエリを実行するシステム、方法及びコンピュータ可読媒体が開示されている。特定の実施形態において、システムはメモリと当該メモリに接続されたプロセッサとを含む。このプロセッサはメモリからの命令を取り出し(読み出し)、当該命令はインターフェイスモジュール、クエリモジュール及び結果モジュールを実行する命令である。インターフェイスモジュールはウェブサービスに関連するユーザインターフェイスを作成し、当該ユーザインターフェイスは当該ウェブサービスに関連づけられた1つ若しくは複数の入力パラメータオプションを含む。インターフェイスモジュールはユーザインターフェイスを介してユーザ入力を受信することができ、当該ユーザ入力は前記1つ若しくは複数の入力パラメータオプションから選択した少なくとも1つ入力パラメータオプションを含む。インターフェイスモジュールは、受信されたユーザ入力に基づいてユーザインターフェイスにおいて前記1つ若しくは複数の入力パラメータオプションを自動的にリフレッシュすることができる。クエリモジュールはまた、受信されたユーザ入力に基づいてウェブサービスのクエリを生成する。クエリは、前記少なくとも1つの選択された入力パラメータオプションを反映する。クエリモジュールは、結果を生成するためにウェブサービスに関して前記生成されたクエリをインボークし、結果モジュールはユーザインターフェイスにおいて当該結果を自動的に表示する。
他の実施形態においては、方法はウェブサービスに関連するユーザインターフェイスを生成するステップを含む。ユーザインターフェイスは、ウェブサービスに関連付けられた1つ若しくは複数の入力パラメータオプションを含む。ユーザインターフェイスは、拡張マークアップ言語(XML)サービス細目と当該XMLサービス細目に関連付けられた1つ以上のXMLシリーズ細目に基づいて、コンピュータシステムにおいて作成される。尚、上記のようにはぜずに、細目は任意のコンピュータ認識可能言語(例えば、テキストファイル、リッチテキストフォーマット(RTF)若しくはハイパーテキストマークアップ言語(HTML))で表されてもよい。前記方法はまた、ユーザインターフェイスを介してユーザ入力を受信するステップを含み、当該ユーザ入力は前記1つ若しくは複数の入力パラメータオプションから選択した入力パラメータオプションを含む。前記方法はさらに、受信されたユーザ入力に基づいてウェブサービスのクエリを生成するステップを含み、当該クエリは前記1つ若しくは複数の入力パラメータオプションから選択した前記入力パラメータオプションを反映する。前記方法は、ウェブサービスに関して前記生成されたクエリをインボークするステップと、当該インボークしたクエリの結果をユーザインターフェイスに加えるステップを含む。
他の実施形態において、コンピュータ可読媒体が開示されている。コンピュータ可読媒体は命令を含み、当該命令がコンピュータによって実行されると、当該コンピュータはウェブサーバからウェブサービスに関連付けられたユーザインターフェイスを受信し、当該ユーザインターフェイスはウェブサービスに関連付けられた1つ若しくは複数の入力パラメータオプションを含む。ユーザインターフェイスは、拡張マークアップ言語(XML)サービス細目と当該XMLサービス細目に付随する1つ以上のXMLシリーズ細目とに基づいて作成される。また、コンピュータ可読媒体は命令を含み、当該命令がコンピュータによって実行されると、コンピュータはユーザインターフェイスを表示し、当該ユーザインターフェイスにおいてユーザ入力を受信する。ユーザ入力は前記1つ若しくは複数の入力パラメータオプションから選択された少なくとも1つの入力パラメータオプションを含む。コンピュータ可読媒体はさらに他の命令を含み、当該他の命令がコンピュータによって実行されると、当該コンピュータはユーザ入力をウェブサーバに送信し、当該ウェブサーバから修正されたユーザインターフェイスを受信する。当該修正されたユーザインターフェイスはユーザ入力を反映している。コンピュータ可読媒体は別の命令を含み、当該別の命令がコンピュータによって実行されると、当該コンピュータは前記修正されたユーザインターフェイスを表示し、受信されたユーザ入力に基づいてウェブサービスのクエリを作成し、当該作成されたクエリをウェブサーバに送信する。コンピュータ可読媒体は他の命令を含み、当該他の命令がコンピュータによって実行されると、当該コンピュータはウェブサーバから前記作成されたクエリのインボークに基づく結果を受信し、当該結果を前記修正されたユーザインターフェイスに表示する。
図1はウェブサービス140のためのインターフェイス(例えば、例示的なユーザインターフェイス114)を生成し当該ウェブサービス140にクエリを行うためのシステム100の一実施形態を示す図である。ウェブサービス140は通信可能にシステム100に接続されている。ウェブサービス140はまた、1つ若しくは複数のデータソース(例えば、例示的なデータベース150)に通信可能に接続されてもよい。
システム100はウェブサービス140のためのユーザインターフェイス114を生成するように構成されたインターフェイスモジュール110を含み、ユーザインターフェイス114は1つ若しくは複数の入力パラメータオプション116を含む。特定の実施形態において、ユーザインターフェイス114はウェブサービス140に関連付けられたサービス及びシリーズ細目112に基づいて作られる。例えば、サービス及びシリーズ細目112は、ウェブサービス140のクエリを作成・構築するのに使用可能な情報を含む拡張マークアップ言語(XML)ファイルである。ウェブサービス140のクエリを作成・構築するのに使用可能な情報は、例えば、ページング許可、サービスタイトル、サービスディスクリプション、リストパラメータ、シリーズURI(uniform resource identifier)テンプレート、シリーズ識別子、シリーズソース経路、パラメータタイプ/境界/オプション(例えば、記号列、整数、小数点及びブール値)である。サービス細目に含まれるシリーズソース経路は、特定のシリーズ細目に関連付けられたURIを作成する際に使用することができる。例えば、シリーズソース経路は特定のシリーズ細目のURIを作成するために、シリーズURIテンプレートに付けられる。例示的なXMLサービス細目は図3を参照して更に説明される。例示的なXMLシリーズ細目は図4を参照して更に説明される。例示的なユーザインターフェイスは図5及び図6を参照して更に説明される。
インターフェイスモジュール110はユーザインターフェイス114を介してユーザ入力104を(例えば、ユーザ102から)受信することもできる。ユーザ入力104は入力パラメータオプション116の中から選択した1つ若しくは複数の入力パラメータオプションを含む。ユーザ入力104を受信すると、インターフェイスモジュール110は自動的にユーザインターフェイス114をリフレッシュしてユーザ入力104を反映する。特定の実施形態において、ユーザインターフェイス114は前記サービス及びシリーズ細目112に含まれている1つ以上の自動リフレッシュURIに従ってリフレッシュされる。例えば、ユーザ入力104に基づいてユーザインターフェイス114を自動的にリフレッシュすることは、入力パラメータオプション116に付随するグラフィカルユーザインターフェイス(GUI)要素の表示(例えば、リストパラメータに付随しているドロップダウンメニュー)をリフレッシュすること、または、入力パラメータオプション116の1つ以上の境界・範囲(例えば、数値の最低値及び最大値または記号列値の最大長さ)を更新することを含む。ウェブサービスに関連付けられたインターフェイスにおける自動リフレッシュ処理(動作)は図5を参照して更に説明される。
システム100はクエリモジュール120を含み、当該クエリモジュールは受信したユーザ入力104に基づいてウェブサービス140のクエリ122を作成する。クエリ122は入力パラメータオプション116から選択された1つ以上の入力パラメータオプションを反映している。クエリモジュール120はクエリインボークの結果132を生成するためにウェブサービス140について前記作成されたクエリ122をインボークする。例えば、ウェブサービス140はデータベース150についてデータ検索能力を提供し、クエリモジュール120はクエリ122(例えば、データベース150の特定のテーブルをフィルタリングするクエリ)をインボークして結果132(例えば、データベース150の選択されたテーブルからの、フィルタリングされて得られたデータ)を生成する。特定の実施形態において、1つ若しくは複数のウェブサービス140及びデータベース150はシステム100から隔てられており、1つ若しくは複数のデータ通信ネットワーク(例えば、インターネット)を介してアクセス可能である。尚、ウェブサービス140及びデータベース150は互いから隔てられて図示されているが、ウェブサービス140及びデータベース150は1つのコンピューティング装置(例えば、ウェブサーバまたはデータベースサーバ)に設けられてもよいし1箇所に設置されてもよい。
特定の実施形態において、クエリモジュール120はさらに、クエリ122をインボークするために使用可能である1つ以上のプログラムクラス(例えば、C++クラス、C#クラスまたはJava(登録商標)クラス)を自動的に生成することができる。例えば、選択された1つ若しくは複数の入力パラメータオプション116はプログラムクラス内にカプセル化される(入れられる)か、プログラムクラスのインボーク方法の入力パラメータとして提供される。ユーザインターフェイス114はユーザ102によって操作され(例えば、ハイパーリンクを介して)、1つ若しくは複数のプログラムクラスを取り出すことができる。クエリ122をインボークするためにプログラムクラスを使用することは、アカウントキー及びセッション識別子(例えば、GUID(globally unique identifier))等の権限付与(認可)情報をウェブサービス140に送信することを含む。よって、システム100がオフライン状態にあるかパワーダウン状態にあるとき、プログラムクラスはクエリ122の実行を可能にする。プログラムクラスのためのハイパーリンクは図6を参照して更に説明される。
特定の実施形態においてクエリモジュール120はさらに、クエリモジュール120を実行することなくクエリ122をインボークするために使用できるREST(representational state transfer)URIを生成することができる。即ち、REST URIはいつでも(システム100が動作していないときも含む)クエリ122をインボークするために用いることができる。例えば、選択された1つ若しくは複数の入力パラメータオプション116がREST URIの一部としてカプセル化される(例えば、暗号化フォーマットまたはクリアテキストフォーマットで)。REST URIがインボークされると(例えば、ブラウザにおいて)、選択された1つ若しくは複数の入力パラメータオプション116はREST URIの一部としてウェブサービスに送信される。よって、REST URIは、システム100がオフライン状態若しくはパワーダウン状態にあるときに、クエリ122の実行を可能にする。REST URIは図6を参照して更に説明される。
システム100は結果モジュール130を含み、当該結果モジュールはクエリ122のインボークの結果132を受信して、当該受信された結果132をユーザインターフェイス114において自動的に表示する。特定の実施形態において、クエリモジュール120は複数のデータ交換フォーマット(例えば、RAW XML、JSON(JavaScript(登録商標) Object Notation)、またはATOM(Atom Syndication Format)1.0)でクエリ122を選択的にインボークし、結果モジュール130は標準的なテーブルフォーマット(表形式のフォーマット)に加えて、前記複数のデータ交換フォーマット(例えば、RAW XML、JSON及びATOM1.0)のいずれかで当該結果132を選択的にフォーマット化することができる。
特定の実施形態において、システム100におけるスプレッドシートアプリケーションは前記結果132を入力データとして受け入れることができ、よって、当該結果132について分析を行う高度な分析手法を適用する能力をユーザ102に与える。
実際の動作において、インターフェイスモジュール110はウェブサービス140のためのユーザインターフェイス114を作成し、ユーザ102はユーザインターフェイス114とインタラクトすることによりユーザ入力104を提供する。ユーザ入力104(例えば、複数の入力パラメータオプションから選択した1つ以上の入力パラメータオプション)に基づいて、ユーザインターフェイス114は自動的にユーザインターフェイスをリフレッシュし、クエリモジュール120によって生成されたプログラムクラスのハイパーリンクをアップデート(更新)し、クエリモジュール120によって生成されたREST URIの表示をアップデート(更新)する。
クエリモジュール120はユーザ入力104に基づいてウェブサービス140のクエリ122を作成し、当該クエリ122をインボークする。クエリ122は、入力パラメータオプション116からユーザが選択した1つ以上の入力パラメータオプションを反映する。ウェブサービス140はデータベース150からクエリ122の結果132を取り出す。結果モジュール130は当該結果132を受信し、当該結果132をユーザインターフェイス114において表示する。
尚、図1のシステム100は、ユーザ102から受信したユーザ入力104に追従して(直ちに反応して)当該ユーザ入力を反映するためにユーザインターフェイス114を自動的にリフレッシュすることにより、ウェブサービスクエリ作成のための「アクティブな」インターフェイスを提供する。また、図1のシステム100はウェブサービスクエリ作成を単純化することもできる。例えば、ウェブサービス140の複雑なアプリケーションプログラミングインターフェイス(API)の利用方法を習得するために時間を使うのではなく、ユーザ自身が興味を持っているデータが何であるのか(例えば、どんな入力パラメータオプション116がクエリ122によって反映されるべきか)を知っているユーザであるなら、当該ユーザはユーザインターフェイス114を操作して、クエリ122をインボークするのに用いることができるREST URIまたは動的に作成されたプログラムクラスを取り出してもよい。このような動的に作成されたプログラムクラス及びREST URIはシステム100が動作していないときでも使用可能である。
また、図1のシステム100はクエリ修正を補助するプレビューメカニズムも提供する場合がある。例えば、ユーザ102は増進的な変化をクエリ122に与え(施し)、システム100を使用するユーザ102は、クエリ122により生成された結果132における前記増進的な変化の影響のプレビューを見ることができる。尚、ウェブサービス(例えば、既存のウェブサービスまたは新たに生成されたウェブサービス)は、ウェブサービス(例えば、ウェブサービス140)のシリーズ及びサービス細目(例えば、細目112)を提供することにより図1のシステム100のインターフェイス作成能力及びクエリ検索能力に適合するように構成される。このようなシリーズ及びサービス細目は、ウェブサービス開発者(社)によって提供されてもよい。あるいは、シリーズ及びサービス細目は自動的に生成されてもよい(例えば、ウェブサービスのデフィニションファイルまたはソースコードに基づいて)。
図2はウェブサービス240のインターフェイスを生成して当該ウェブサービス240をクエリ検索するシステム200の他の実施形態を示す図である。ウェブサービス240は、データベース250及びディスプレイデバイス206(例えば、コンピューティング装置に接続されたディスプレイ)に通信可能に接続されたウェブサーバ260に設けられている。例示的な実施形態において、ウェブサービス240は図1のウェブサービス140であり、データベース250は図1のデータベース250である。
インターフェイスモジュール210はウェブサービス240のためのユーザインターフェイス214を生成し、当該ユーザインターフェイス214をディスプレイデバイス206において表示するために送信する。例えば、ユーザインターフェイス214はウェブサービス240のXMLサービス及びシリーズ細目212に基づいて生成される。また、インターフェイスモジュール210はユーザインターフェイス214を操作しているユーザ202からユーザ入力204を受信する。ユーザ入力204はウェブサービス240に関連する入力パラメータオプションの中から選択された1つ以上の入力パラメータオプションを含み、当該入力パラメータオプションはユーザインターフェイス214に表示される。インターフェイスモジュール210はユーザ入力204に基づいて、自動的に修正ユーザインターフェイス215を作成し、当該修正ユーザインターフェイス215をディスプレイデバイス206で表示するために送信することもできる。よって、ユーザ202の立場で考えると、ユーザインターフェイス214は自動的に修正ユーザインターフェイス215にリフレッシュされることになる。
ウェブサービス260はまた、クエリモジュール220を含む。特定の実施形態においては、クエリモジュール220はユーザ入力204に基づいてウェブサービス240のクエリを作成する。他の実施形態にあっては、ユーザインターフェイス214(及び修正ユーザインターフェイス215)は、ユーザ入力204に基づいてクエリ222を作成して当該クエリ222をウェブサーバ260に送信するクエリ作成ロジックを含む。クエリモジュール220は結果232を生成するためにウェブサービス240に関するクエリ222をインボークし、当該結果232は送信されてディスプレイデバイス206において表示される。特定の実施形態において、前記結果232は、クエリ222の内容に基づいてウェブサービス240によってデータベース250から取り出される。
実際の動作において、インターフェイスモジュール210はウェブサービス240のためのユーザインターフェイス214を作成し、当該ユーザインターフェイス214を送信してディスプレイデバイス206に表示する。ユーザ202はユーザインターフェイス214とインタラクトすることによってユーザ入力204を提供する。ユーザ入力204に基づいて、インターフェイスモジュール210は修正ユーザインターフェイス215を作成し、当該修正ユーザインターフェイス215をディスプレイデバイス206において表示するために送信する。
クエリ222はユーザ入力204に基づいて作成され、クエリモジュール220によってインボークされて結果232を生成する。例えば、ウェブサービス240はクエリ222の内容に基づいてデータベース250から当該結果232を取り出す。当該結果232は、表示されるためにディスプレイデバイス206へ送信される。
尚、図2のシステム200は異なるコンピューティング装置においてインターフェイス生成、インターフェイス表示及びクエリ作成を提供することもある。例えば、ウェブサービス開発者またはウェブサービス240及びデータベース250に関連する販売者はウェブサーバ260においてウェブサイトを立ち上げるかもしれない。当該ウェブサイトはユーザインターフェイス214、修正ユーザインターフェイス215及び結果232を含む。このような例においては、ユーザ202等のユーザは、ウェブサービスに関連した複雑なアプリケーションプログラミングインターフェイスを学習する代わりに、ウェブサイトを訪問してウェブサービスを操作することができる。図2のシステム200を用いると、ソフトウエア開発者及びデータ販売者にとってはウェブサービス使用が簡単になる。
図3は図1のシステム100若しくは図2のシステム200において使用することができるXMLサービス細目300の実施形態を示す図である。例えば、XMLサービス細目300は図1のサービス及びシリーズ細目112若しくは図2のサービス及びシリーズ細目212に含まれる。
特定の実施形態において、XMLサービス細目300は公知の記号列(例えば、/$service)をウェブサービスの基本URLの終端に付けることによって取得することができる。例えば、米国犯罪統計局「http://localhost/services/UsCrimeService.svc」をローカルに運営するためのサービス細目はURL「http://localhost/services/UsCrimeService.svc/$service」で取得することができる。特定の実施形態において、サービス細目はサービスによってホストされる各データセット毎に存在する。例えば、「majorcrimes」データセットのサービス細目はURL「http://localhost/services/UsCrimeService.svc/majorcrimes/$service」で取得することができる。
XMLサービス細目300は複数のノードを含むこともある。例えば、サービス細目はルートノード(図3において例示的に<service>と示されている)を含み、当該ルートノードは複数の一般ノード(例えば、ブール式ページング許可302、ストリング(記号列)サービスタイトル304、ストリングサービス説明306及び当該サービスに関連したロゴイメージを取り出すことができるロゴURI)含む。
ルートノードはさらに、パラメータノードを含むこともある。パラメータノードは、リストパラメータ(例えば、リストパラメータ308)及びURIノードを含む。各リストパラメータはドロップダウンメニューとして表示される、取り得るデータ値のリストを表示する。特定の実施形態において、各リストパラメータは、ドロップダウンメニューのラベルとして使用されるディスプレイ名と、固有のシリーズ識別子(ID)312と、シリーズソース経路314とを含む。URIノードは1つ若しくは複数のシリーズノードを含み、各シリーズノードはシリーズURIテンプレート310を含み、当該テンプレートは特定のシリーズ細目のためのURIを生成するために用いることができる。例えば、シリーズソース経路314はシリーズURIテンプレート310に付けられて、特定のシリーズ細目のためのURIを生成する。例えば、もし「services」の値が4であるなら、URIはhttp://localhost/services/UsCrimeService.svc/$series?series=4となる。
図4は図1のシステム100若しくは図2のシステム200において使用されるXMLシリーズ細目400の実施形態を示す図である。例えば、XMLシリーズ細目400は図1のサービス及びシリーズ細目112若しくは図2のサービス及びシリーズ細目212に含まれる。
図3を参照して説明したように、ウェブサービスは1つ若しくは複数のデータシリーズをホストする。当該1つ若しくは複数のデータシリーズの各々は、付随するシリーズ細目を有する。各シリーズ細目のURIは、サービス細目(例えば、図3のXMLサービス細目300)に含まれているシリーズURIテンプレート(例えば、図3のシリーズURIテンプレート310)及びシリーズソース経路(例えば、図3のシリーズソース経路314)に基づいて生成される。
シリーズ細目400は複数のノードを含むことができる。例えば、シリーズ細目はルートノード(図4では例示的に<series>と記載されている)を含み、当該ルートノードはパラメータノード、結果セットノード、アクションノード及びURIノードの1つ以上を含む。パラメータノードは、特定のシリーズのために規定されたパラメータ402を含むことができる。例えば、図4に示された実施形態にあっては、パラメータ「State(州)」、「City(市)」及び「Year(年)」が米国統計局のために規定されており、これらパラメータの各々はリストパラメータである(例えば、当該サービスは複数の州、市及び年についての統計を取りだすことができる)。このようなリストパラメータの各々は、シリーズ細目400に従って生成されたユーザインターフェイスにおいてドロップダウンリストとして表示される。パラメータ402はさらに、ストリング(記号列)パラメータ、整数パラメータ及び小数点パラメータを含む場合もある。
各リストパラメータはリストドキュメント(例えば、図4の「statesList」、「citiesList」及び「yearsList」)を指す。各リストドキュメントはXMLファイルであり、そのアイテムノードはドロップダウンメニューの値を表している。例えば、「statesList」ドキュメントは以下のものを含む。
Figure 0005693600
結果セットノードは、クエリのインボークによって戻されて存在しているデータフィールド404を含む。例えば、図4に示された実施形態において、米国犯罪統計局に関するクエリをインボークすると、ストリング「Name」フィールドと「Violent Crime」、「Robbery」、「Aggravated Assault」、「Property Crime」、「Burglary」、「Larceny」、「MotorVehicleTheft」及び「Arson」の整数フィールドが戻される。
アクションノードはパラメータ402の選択に基づいて実行されるアクションを含む。よって、異なるアクションがウェブサービスインターフェイスにおけるドロップダウンメニューの各リスト値に関連付けられていることもある。例えば、図4の実施形態において、アクションノードは、ユーザがパラメータ402の中の1つ以上のパラメータを選択すると、XMLシリーズ細目400に従って生成されてユーザインターフェイスを自動的にリフレッシュするのに用いることができる自動リフレッシュURI406を含む。例えば、もしユーザが州「Texax(テキサス)」を選択すると、「Cities(市)」のドロップダウンメニューが自動リフレッシュURI406に従って自動的にリフレッシュされる(例えば、「Cities」のドロップダウンメニューにはテキサス州の市が含まれ且つ他の州の市が含まれないように変更される)。ウェブサービスに付随したインターフェイスにおける自動リフレッシュ動作は図5に基づいてさらに説明される。
URIノードは、クエリノード、分析ノード及びプレビューノードを含むこともある。クエリノードは、データについてウェブサービスをクエリ検索するのに用いることができるクエリURI408を含む。分析ノードは、ウェブサービスをクエリ検索することによって生成されたデータに対して高度なデータ分析を(例えば、スプレッドシートアプリケーションにおいて)行う際に用いることができるURIを含む。プレビューノードはウェブサービスをクエリ検索することによって生成されたデータのプレビューを作成する際に用いることができる結果URI410を含む。特定の実施形態において、結果URIは図1の結果132及び図2の結果232に関して説明されたユーザインターフェイスにおいて、結果を表示するのに用いることができる。
尚、XMLサービス細目300及びXMLシリーズ細目400はXMLファイルとして図3及び図4に示されているが、サービス細目及びシリーズ細目は任意のコンピュータ認識可能言語(例えば、テキストファイル、リッチテキストフォーマット(RTF)またはHTML(hyper text markup language)によって表されてもよい。
図5はユーザ入力に基づいてウェブサービスのためのインターフェイスを自動的にリフレッシュする実施形態500を示す図である。図5に示された実施形態において、ユーザインターフェイス510はユーザインターフェイス520にリフレッシュされる。説明の都合上、ユーザインターフェイス510及び520は図3及び図4で説明された米国犯罪統計ウェブサービスへのインターフェイスとして図示されている。
ウェブサービスのためのユーザインターフェイスはユーザ入力に応じてリフレッシュされる。例えば、ユーザインターフェイス510における州(State)ドロップダウンメニューでユーザが「Texas」を選択したことを示すユーザ入力502があると、当該ユーザ入力により自動リフレッシュ動作・処理が起動される。自動リフレッシュ動作の結果がユーザインターフェイス520であり、市(City)及び年(Year)のドロップダウンメニューの範囲は、テキサス州に付随するシリーズ細目に基づいて自動的に更新される(符号522)。例えば、図5に示された実施形態では、当初の市(City)ドロップダウンメニューは米国内の市を範囲未定で(制限無しに)含んでおり、当初の年(Year)ドロップダウンメニューは所定の年(例えば、1990年−2000年)を範囲未定で含んでいる。ユーザ入力502に応じて、市ドロップダウンメニューは自動的に「Abilene(アビリーン)」(例えば、米国犯罪統計局がデータを取り出すことができるテキサス州の市の中、アルファベット順で最初の市)に設定され、年ドロップダウンメニューは自動的に1995(例えば、米国犯罪統計局がテキサス州アビリーン市に関するデータを取り出すことができる最も古い年)に設定される。市ドロップダウンメニューの範囲が設定され(例えば、テキサス州の利用可能な市)、年ドロップダウンメニューの最小値/最大値も設定される(例えば、テキサス州に関連するデータが入手可能になっている最も古い年及び最も新しい年)。
尚、図5に示されているようにウェブサービスのためのユーザインターフェイスを自動的にリフレッシュすると、ウェブサービスクエリ生成のための「アクティブな」インターフェイスが提供される。例えば、ユーザインターフェイスはユーザから受信されたユーザ入力(例えば、ユーザ入力502)に追従してそれを反映するように自動的にリフレッシュされる。
図6はウェブサービスのためのインターフェイス600の実施形態を示す図であり、インターフェイスがウェブサービスのクエリの結果のプレビューを表示している。インターフェイス600は、クエリ生成エリア610と結果プレビューエリア620とウェブサービス情報エリア630とを含む。図6に示された実施形態において、インターフェイス600は国連(UN)の食糧農業機関(FAO)によって提供されるデータへのインターフェイスである。
ウェブサービス情報エリア630は、ウェブサービスのタイトル、説明及びロゴを含む。特定の実施形態においては、前記タイトル、説明及びロゴは、図3のXMLサービス細目300に関連して説明されたウェブサービスのためのサービス細目から取り出される。
クエリ生成エリア610はまた、サービス及びシリーズ細目に従う種々の入力パラメータオプション及びクエリ生成オプションを含むこともある。例えば、クエリ生成エリア610はサービスパラメータ611の表示(ディスプレイ)を含む。例えば、サービスパラメータ611は「Series(シリーズ)」、「Country(国)またはArea(エリア)」及び「Year(年)」を含む。図6に示された実施形態は、農業生産指数(Agri.Prodn.Indx.)シリーズからのユーザ選択を示す。クエリ生成エリア610はまた、ページング情報(例えば、ウェブサービスがページングをサポートしているか否か)の表示も含む。クエリ生成エリア610はさらに、Account Key(アカウントキー)613、SessionID(セッションID)614(例えば、GUID)、REST URI617及びプログラムクラス(例えば、プロキシC#クラス)ダウンロードハイパーリンク616の表示を含む。クエリ作成エリア610はまた、複数の利用可能なデータ交換フォーマット622でクエリをインボークするオプションも含む。例えば、図6に示された実施形態において、ウェブサービスのクエリはATOM1.0フィードとしてインボークされる。あるいは、ウェブサービスのクエリは任意の他のデータ交換フォーマット(例えば、RAW XMLまたはJSON)でインボークされてもよい。
結果プレビューエリア620は、ウェブサービスのクエリをインボークすることによって生成される結果の表示を含むこともある。例えば、図6に示された実施形態においては、結果プレビューエリア620は農業生産指数からのデータを表示する。結果プレビューエリア620は複数の利用可能なデータ交換フォーマット622で結果を表示する。例えば、図6に示されている実施形態はテーブル形式のフォーマットで表示された結果を示しているが、当該結果はRAW XMLフォーマット、JSONフォーマット若しくはATOM1.0フォーマットで結果プレビューエリア620に表示されてもよい。ユーザ入力がサービスパラメータ611の値を変えると、結果プレビューエリア620は更新されて、変更後のサービスパラメータ611に基づく新たな結果のプレビューを表示する。
図7はウェブサービスのためのインターフェイスを作成し、当該ウェブサービスをクエリ検索するための方法700の実施形態を示すフローチャートである。例示的な実施形態において、この方法700は図1のシステム100によって実施される。
方法700は、ステップ702において、ウェブサービスに関連するユーザインターフェイスを生成することを含む。ユーザインターフェイスは、ウェブサービスに関連する1つ若しくは複数の入力パラメータオプションを含み、XMLサービス細目及び当該XMLサービス細目に関連する1つ以上のXMLシリーズ細目に基づいて生成される。例えば、図1において、インターフェイスモジュール110はサービス及びウェブサービス140に関連するシリーズ細目112に基づいてユーザインターフェイス114を生成し、ユーザインターフェイス114は入力パラメータオプション116を含む。他の例として、図6に示されているように、インターフェイス600はサービスパラメータ611を含むように生成される。
方法700はまた、ステップ704において、ユーザインターフェイスを介してユーザ入力を受信することを含み、当該ユーザ入力は1つ以上の入力パラメータオプションの中から選択された少なくとも1つの入力パラメータオプションを含む。例えば、図1において、ユーザ入力104はユーザインターフェイス114を介して受信され、当該ユーザ入力104は入力パラメータオプション116から選択した入力パラメータオプションである。他の例として、図6に示されているように、農業生産指数が選択される。
方法700はさらに、ステップ706において、受信したユーザ入力に基づいてウェブサービスのクエリを作成することを含み、当該クエリは前記少なくとも1つの選択された入力パラメータオプションを反映している。例えば、図1において、クエリモジュール120はクエリ122を作成する。他の例として、図6に示されているように、農業生産指数データシリーズのクエリ(例えば、構造化照会言語(SQL)クエリ「select * from AgriProdnIndx」)が作成される。
方法700は、ステップ708において、ウェブサービスについて前記作成されたクエリをインボークして結果を受信することを含む。例えば、図1において、クエリモジュール120はクエリ122をインボークし、結果モジュール130が結果132を受信する。他の例として、図6に示されているように、農業生産指数のクエリがインボークされ、結果プレビューエリア620に表示された結果が受信される。
方法700はまた、ステップ710において、前記受信した結果をユーザインターフェイスに自動的に加えることを含む。例えば、図1において、結果モジュール130は結果132をユーザインターフェイス114に自動的に加える。他の例として、図6に示されているように、結果はインターフェイス600の結果プレビューエリア620に表示される。
図8はウェブサービスのためのインターフェイスを受信して当該ウェブサービスのクエリを作成する方法800の実施形態を示すフローチャートである。例示的な実施形態にあっては、方法800は図2のシステム200において実施される。
方法800は、ステップ802において、ウェブサーバからウェブサービスに関連するユーザインターフェイスを受信することと、ステップ804において、当該ユーザインターフェイスを表示することを含む。ユーザインターフェイスはウェブサービスに関連する1つ以上の入力パラメータオプションを含み、XMLサービス細目及び当該XMLサービス細目に関連する1つ以上のXMLシリーズ細目に基づいて生成される。例えば、図2において、ウェブサービス240に関連するユーザインターフェイス214はサーバ260から受信され、ディスプレイデバイス206において表示され、当該ユーザインターフェイス214はシリーズ及びサービス細目212に基づいて生成される。他の例として、図6に示されているように、XMLサービス及びシリーズ細目に基づいて生成されるインターフェイス600が表示される。
方法800はまた、ステップ806において、ユーザインターフェイスでユーザ入力を受信することを含み、ステップ808において、当該ユーザ入力をウェブサーバに送信することを含む。ユーザ入力は前記1つ以上の入力パラメータオプションの中から選択された少なくとも1つの入力パラメータオプションを含む。例えば、図2において、ユーザ入力204は受信されて、ウェブサーバ260に送信される。他の例として、図6に示されているように、農業生産指数が選択される。
方法800はさらに、ステップ810において、ウェブサーバから修正ユーザインターフェイスを受信することと、当該修正ユーザインターフェイスを表示することを含む。修正ユーザインターフェイスはユーザ入力を反映する。例えば、図2において、修正ユーザインターフェイス215はウェブサーバ260から受信されてディスプレイデバイス206で表示される。他の例として、図6に示されているように、農業生産指数の選択は、インターフェイス600における「Series」ドロップダウンメニューによって示される。
方法800は、ステップ812において、受信したユーザ入力に基づいてウェブサービスのクエリを作成することを含み、当該クエリは前記少なくとも1つの選択された入力パラメータオプションを反映している。例えば、図2において、クエリ222が作成される。他の例として、図6に示されているように、農業生産指数データシリーズのクエリが作成される。
方法800はまた、ステップ814において、前記作成されたクエリをウェブサーバに送信することと、当該作成されたクエリのインボークに基づく結果をウェブサーバから受信することを含む。例えば、図2において、クエリ222がウェブサーバ260に送信され、クエリ222のインボークに基づく結果232がウェブサーバ260から送信される。他の例として、図6に示されているように、農業生産指数のクエリがインボークされ、結果プレビューエリア620に表示された結果が受信される。
前記方法はまた、ステップ816において、前記修正ユーザインターフェイスに前記結果を表示することを含む。例えば、図2では、結果232はディスプレイデバイス206の修正ユーザインターフェイス215において表示される。他の例として、図6に示されているように、結果はインターフェイス600の結果プレビューエリア620に表示されてもよい。
図9はコンピューティング装置910を含むコンピューティング環境900のブロック図であり、当該コンピューティング環境は、本出願の開示内容に基づくコンピュータ実装方法、コンピュータプログラムプロダクト及びシステムコンポーネントの実施形態をサポートするように動作可能である。例示的な実施形態においてコンピューティング装置910は図1のモジュール110、120及び130の中の1つ若しくは複数と、図1のウェブサービス140と、図2のディスプレイデバイス206とを含む。図1のモジュール110、120、130、図1のウェブサービス140、及び図2のディスプレイデバイス206の各々は、コンピューティング装置910若しくはその一部を含むか、コンピューティング装置910若しくはその一部を使用して実装される。
コンピューティング装置910は少なくとも1つのプロセッサ920と1つのシステムメモリ930とを含む。コンピューティング装置の構成及びタイプによっては、システムメモリ930は揮発性(例えば、RAM(ランダムアクセスメモリ))でもよく、不揮発性(例えば、ROM(リードオンリーメモリ)、フラッシュメモリ、及びこれらと同様に電源が供給されなくても記憶データを維持するメモリデバイス)でもよく、または揮発性と不揮発性の組み合わせでもよい。システムメモリ930は典型的には、1つのオペレーティングシステム932と、1つ以上のアプリケーションプラットフォーム934と、1つ以上のアプリケーション936とを含み、前記1つ以上のアプリケーションに関連するプログラムデータ938も含む場合がある。
コンピューティング装置910はまた、追加の特徴若しくは機能を有してもよい。例えば、コンピューティング装置910は取り外し可能なデータストレージデバイス及び/または取り外し不可能なデータストレージデバイス(例えば、磁気ディクス、光学ディクス、テープ及び標準サイズの若しくは小型のフラッシュメモリカード)をさらに含んでもよい。このような追加のストレージデバイスは図9において、取り外し可能ストレージ940及び取り外し不可能ストレージ950として示されている。コンピュータ記憶媒体は揮発性記憶媒体及び/または不揮発性記憶媒体を含むと共に取り外し可能媒体及び/または取り外し不可能媒体を含む。これら媒体は、コンピュータ可読命令、データ構造、プログラムコンポーネントまたは他のデータ等の情報記憶のための手段・技術に実装される。システムメモリ930、取り外し可能ストレージ940及び取り外し不可能ストレージ950は全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM(electrically erasable programmable read−only memory)、フラッシュメモリその他のメモリ手段・装置、コンパクトディクス(CD)、DVD(digital versatile disk)その他の光学ストレージ、磁気カセット、磁気テープ、磁気ディクスストレージその他の磁気記憶手段・装置、または情報を記憶するのに使用することができ且つコンピューティング装置910によってアクセス可能な他の任意の媒体を含む(これらに限定されるわけではないが)。このようなコンピュータ記憶媒体はコンピューティング装置910の一部であってもよい。コンピューティング装置910はまた、入力デバイス(単数または複数)960を有してもよい(例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等)。ディスプレイ、スピーカ、プリンタ等の出力デバイス(単数または複数)970も含まれてもよい。ユーザ902は前記入力デバイス(単数または複数)960及び出力デバイス(単数または複数)970を介してコンピューティング装置910とインタラクトすることができる場合もある。
コンピューティング装置910はまた、1つ以上の通信接続部980を含んでもよく、当該通信接続部によってコンピューティング装置910は他のコンピューティング装置(例えば、ウェブサーバ990及びデータベース992)と有線ネットワーク若しくは無線ネットワークを介して通信することができる。例示的な実施形態において、ウェブサーバ990は図1のウェブサーバ260であり、データベース992は図1のデータベース150若しくは図2のデータベース250である。
尚、本明細書に説明された実施形態をサポートするのに、図9に示されているか上記段落において説明されたコンポーネント若しくはデバイスの全てが必要というわけではない。例えば、取り外し可能ストレージ940は必須ではない。
本明細書において説明された実施形態の記載は、種々の実施形態の構造・構成の全般的な理解を提供しようとするものである。上記記載は本明細書に説明された構造・構成若しくは方法を使用する装置及びシステムの要素及び特徴の全てを説明するものではない。本出願の開示内容を見たならば、当業者には多くの他の実施形態が明らかになるであろう。本出願の開示内容の範囲から離れることなく構造的な置換や変更並びに論理的な置換や変更を加えた他の実施形態も使用することができるであろうし、本出願の開示内容から、そのような実施形態を導き出すことができるであろう。よって、本出願の開示内容及び図面は、制限的な意味を持たず例示的な意味を持つものであると理解されるべきである。
当業者であれば更に、本明細書に記載された実施形態との関連で説明された種々の例示的な論理ブロック、構成、モジュール及び方法ステップ若しくは命令は電子ハードウエア、コンピュータソフトウエア若しくはハードウエアとソフトウエアの組み合わせとして実装可能であることが理解できるであろう。種々の例示的なコンポーネント、ブロック、構成、モジュール若しくはステップは概してそれらの機能の視点から説明されている。そのような機能がハードウエアで実装されるかソフトウエアで実装されるかは、システム全体に与えられる(課される)アプリケーション及び設計制限・条件によって決まる。当業者であれば、それぞれのアプリケーションに合うように、本明細書に記載された機能を種々の異なった形・方式で実施・実装するであろうが、そのような実施・実装の決定・採用は本明細書の開示内容から離れたものであると解釈されるべきではない。
本明細書に開示された実施形態との関連で記載された方法のステップは、ハードウエア、プロセッサにより実行されるソフトウエアモジュール、またはこれらの組み合わせにおいて直接具現化することができる。ソフトウエアモジュールはコンピュータ可読媒体内に存在してもよい。コンピュータ可読媒体は例えば、RAM、フラッシュメモリ、ROM、レジスタ、ハードディクス、取り外し可能ディクス、CD−ROM、または当該技術分野において公知のその他の記憶媒体である。典型的な記憶媒体はプロセッサに接続され、当該プロセッサは当該記憶媒体から情報を読み出すこと及び当該記憶媒体に情報を書き込むことができる。代替実施形態において、前記記憶媒体はプロセッサに一体化されるか、プロセッサ及び記憶媒体がコンピューティング装置若しくはコンピュータシステム内のディスクリートコンポーネント(個別・離散コンポーネント)として存在する。
本明細書において特定の実施形態が図示されて説明されてきたが、同じ目的若しくは同様な目的を達成するように構成された今後の装置・構成・方法が上記の図示実施形態の代替として用いられることもあるだろう。本出願の開示内容は、いかなる代替または実施形態の変更も全て包含するものである。
要約書は、特許請求の範囲の意味若しくは範囲を解釈若しくは限定するために用いられないという理解の下に提供されている。また、上記の「発明を実施するための形態」において、効率的な開示をするという目的のために、種々の特徴がまとめて記載されていたり、1つの実施形態の中に説明されているかもしれない。このような開示は、クレームアップされた実施形態が各請求項に明記された特徴・構成(発明特定事項)より多くの特徴・構成を必要とするという意図を反映するとして解釈されるべきではない。即ち、特許請求の範囲に記載されているように、発明の主題は開示された各実施形態の全特徴・全構成よりも少ない特徴・構成に係る場合もある。
実施形態の上記説明は、当業者が当該実施形態を実施(製造または使用)できるようにするために提供されている。これら実施形態に対する種々の変更・修正は当業者には容易に考えつくであろうし、本明細書に記載された包括的な原理(技術思想)は、本出願の開示範囲から離れることなく他の実施形態に適用可能である。従って、本出願の開示内容は図示された実施形態に限定されるという意図はなく、特許請求の範囲に記載された技術思想及び新規な特徴に合致する最も広い範囲を包含するものである。

Claims (20)

  1. メモリと、
    前記メモリに接続されたプロセッサと、
    を含むシステムであって、前記プロセッサは前記メモリから命令を取り出すように構成され、当該命令によって、前記システムは、インターフェイスモジュール、クエリモジュール及び結果モジュールとして機能し、
    前記インターフェイスモジュールは、
    ウェブサービスに関連しシリーズ識別子を参照するサービス細目に基づきユーザインターフェイスを生成し、前記インターフェイスモジュールは、前記ユーザインターフェイスに表示される入力パラメータオプションを生成し、該入力パラメータオプションは、前記サービス細目が参照する前記シリーズ識別子に関連した1つ又は複数のシリーズ細目によって定められ、
    記入力パラメータオプションのうちの少なくとも1つの選択を含むユーザ入力を、前記ユーザインターフェイスを介して受信し、
    受信された当該ユーザ入力に基づいて前記ユーザインターフェイスにおいて前記入力パラメータオプションを自動的にリフレッシュする
    ように構成され、
    前記クエリモジュールは、前記入力パラメータオプションのうちの少なくとも1つの前記選択に応じて前記ウェブサービスに関するクエリを自動的に生成し当該クエリは前記入力パラメータオプションのうちの少なくとも1つの前記選択に基づき生成される
    ように構成され、
    前記結果モジュールは、前記クエリの結果を前記ユーザインターフェイスに自動的に追加するように構成され、
    前記ユーザインターフェイスは、プログラムクラスのダウンロードのハイパーリンクの表示を含み、前記プログラムクラスは、該プログラムクラスを用いて、生成された前記クエリを当該システムを用いずにインボーク可能であるように構成されることを更に特徴とするシステム
  2. 前記ユーザインターフェイスはサービス細目及び当該サービス細目に関連する1つ以上のシリーズ細目に基づいて生成され、前記サービス細目及び1つ又は複数のシリーズ細目は、ウェブサービスのソースコードまたはデフィニションファイルに基づき自動的に生成されることを特徴とする請求項1記載のシステム。
  3. 前記サービス細目及び1つ以上のシリーズ細目はXML(extensible markup language)で表され、前記サービス細目は、サービス識別子の記号列をウェブサービスの基本URLの終端に付けることによって取得されることを特徴とする請求項2記載のシステム。
  4. 前記インターフェイスモジュールは、前記ユーザインターフェイスを、前記1つ又は複数のシリーズ細目にアクセスするための前記シリーズ識別子を使用することによって生成またはリフレッシュするように更に構成され、アクセスされる前記1つ又は複数のシリーズ細目はインターフェイスモジュールの細目を定め、該インターフェイスモジュールの細目は、ページング許可、ストリングサービス名、ストリングサービス説明、表示可能イメージ、ドロップダウンメニューリストに表示可能な値を表すリストパラメータ、及び、ユーザ入力に基づくアクションのうちの少なくとも1つを含むことを特徴とする請求項1記載のシステム。
  5. 前記ユーザインターフェイスは、前記ユーザ入力に応じて、前記ユーザインターフェイスを自動的に更新し、前記クエリモジュールが生成したプログラムクラスに対するハイパーリンクを更新し、前記クエリモジュールが生成したREST(representational state transfer)URIの表示を更新するように構成されることを特徴とする請求項記載のシステム。
  6. 前記1つ又は複数のシリーズ細目のうちの少なくとも1つは、パラメータノードと、結果セットノードと、アクションノードと、URI(uniform resource identifier)ノードとのうちの1つ又は複数を含む複数のノードを定め、前記URIノードは、クエリノードと、分析ノードと、プレビューノードとのうちの1つ又は複数を含み、前記プレビューノードは、前記ウェブサービスをクエリ検索することにより生成されるデータのプレビューを生成するために使用可能である結果URI(uniform resource identifier)を含むことを特徴とする請求項記載のシステム。
  7. 前記アクションノードは、選択された少なくとも1つの前記入力パラメータオプションに基づき実行されるアクションに対応することを特徴とする請求項に記載のシステム。
  8. 前記ユーザインターフェイスは先に生成されたクエリを取り出し前記先に生成されたクエリを再実行するように動作可能であることを特徴とする請求項1記載のシステム。
  9. 前記ユーザインターフェイスは、アカウントキーと、セッション識別子と、REST(representational state transfer)URI(uniform resource identifier)とのうちの少なくとも1つの表示を含むことを特徴とする請求項1記載のシステム。
  10. 前記セッション識別子はGUID(globally unique identifier)であることを特徴とする請求項9記載のシステム。
  11. 前記クエリモジュールはREST(representational state transfer)URI(uniform resource identifier)を生成するように更に構成され、前記REST URIは前記クエリをインボークするのに使用可能であることを特徴とする請求項1記載のシステム。
  12. 前記クエリは少なくとも1つの選択された前記入力パラメータオプションを前記REST URIの一部としてカプセル化し、カプセル化された少なくとも1つの選択された前記入力パラメータオプションは、クリアテキストフォーマット又は暗号化フォーマットであることを特徴とする請求項11記載のシステム。
  13. ータベースであって、前記ウェブサービスは前記クエリに応じて前記データベースから前記結果を取り出すように構成される、データベースと、
    記結果モジュールからの結果を入力データとして受け入れるように構成されるスプレッドシートアプリケーションと
    を更に含むことを特徴とする請求項1記載のシステム。
  14. 前記サービス細目及び前記1つ又は複数のシリーズ細目は、ウェブサービスのソースコード又はデフィニションファイルに基づき自動的に生成されることを特徴とする請求項2に記載のシステム。
  15. コンピュータシステムにおいて、
    ウェブサービスに関連しシリーズ識別子を参照するサービス細目に基づきユーザインターフェイスを生成するステップであって、前記ユーザインターフェイスは入力パラメータオプションを含み、該入力パラメータオプションは、前記サービス細目が参照する前記シリーズ識別子に関連した1つ又は複数のシリーズ細目によって定められ、前記サービス細目は、XML(extensible markup language)サービス細目であり、前記1つ又は複数のシリーズ細目は、前記XMLサービス細目において識別された前記シリーズ識別子に関連したXMLシリーズ細目であり、前記ユーザインターフェイスは、プログラムクラスのダウンロードのハイパーリンクの表示を含むクエリ生成エリアを含み、前記プログラムクラスのダウンロードのハイパーリンクは、前記入力パラメータオプションのうちの少なくとも1つの選択をカプセル化するプログラムクラスを取り出すために選択可能である、ステップと、
    前記入力パラメータオプションのうちの少なくとも1つの前記選択を含むユーザ入力を、前記ユーザインターフェイスを介して受信するステップであって、前記入力パラメータオプションは、前記1つ又は複数のシリーズ細目に基づき生成された、ステップと、
    受信した前記ユーザ入力に基づき前記ウェブサービスのクエリを生成するステップであって、前記クエリは前記入力パラメータオプションのうちの少なくとも1つの前記選択を反映した、ステップと、
    前記ウェブサービスに関する前記クエリをインボークして結果を受信するステップと、
    受信した前記結果を前記ユーザインターフェイスに自動的に追加するステップと
    を含み、前記プログラムクラスは、該プログラムクラスを用いて、生成された前記クエリを前記コンピュータシステムを用いずにインボーク可能であるように構成されることを特徴とする方法。
  16. 前記クエリをインボークするステップは、データベースにおいて1つ又は複数のデータベース処理を実行するステップを含み、前記結果は前記データベースからの1つ又は複数のデータ項目を含むことを特徴とする請求項15記載の方法。
  17. コンピュータプログラムであって、
    ウェブサーバによるウェブサービスに関連しシリーズ識別子を参照するサービス細目に基づきユーザインターフェイスを生成するステップであって、前記ユーザインターフェイスは1つ又は複数の入力パラメータオプションを含み、該入力パラメータオプションは、前記サービス細目が参照する前記シリーズ識別子に関連した1つ又は複数のシリーズ細目によって定められ、前記サービス細目は、XML(extensible markup language)サービス細目であり、前記1つ又は複数のシリーズ細目の各々は、前記XMLサービス細目が参照する前記シリーズ識別子に関連したXMLシリーズ細目であり、前記ユーザインターフェイスは、プログラムクラスのダウンロードのハイパーリンクの表示を含むクエリ生成エリアを含み、前記プログラムクラスのダウンロードのハイパーリンクは、前記1つ又は複数の入力パラメータオプションのうちの少なくとも1つの選択をカプセル化するプログラムクラスを取り出すために選択可能である、ステップと、
    前記1つ又は複数の入力パラメータオプションのうちの少なくとも1つの選択を含むユーザ入力を、前記ユーザインターフェイスを介して受信するステップと、
    修正されたユーザインターフェイスを生成するステップであって、前記修正されたユーザインターフェイスは、前記ユーザ入力を反映する、ステップと、
    受信した前記ユーザ入力に基づき前記ウェブサービスのクエリを生成するステップであって、前記クエリは前記1つ又は複数の入力パラメータオプションのうちの少なくとも1つの前記選択を反映した、ステップと、
    生成された前記クエリを前記ウェブサーバに送信するステップと、
    生成された前記クエリのインボークに基づく結果を、前記ウェブサーバから受信するステップと、
    前記結果を前記修正されたユーザインターフェイスに追加するステップと
    をコンピュータに実行させ、前記プログラムクラスは、該プログラムクラスを用いて、生成された前記クエリを前記コンピュータを用いずにインボーク可能であるように構成されることを特徴するコンピュータプログラム
  18. 前記修正されたユーザインターフェイスは、前記ユーザ入力に応じて、前記ユーザインターフェイスを自動的にリフレッシュし、前記プログラムクラスのダウンロードのハイパーリンクを更新し、REST(representational state transfer)URI(uniform resource identifier)の表示を更新するように構成されることを特徴とする請求項17に記載のコンピュータプログラム
  19. 増進的な変化を前記クエリに加えて修正されたクエリを形成し、前記増進的な変化の影響を前記修正されたクエリにより生成される結果を表示することによってプレビューするように構成されるプレビューメカニズムをさらに含み、前記結果は、前記増進的な変化に対応するユーザ入力に応じて生成されることを特徴とする請求項1に記載のシステム。
  20. 前記1つ又は複数のシリーズ細目のうちの少なくとも1つは、パラメータノードと、結果セットノードと、アクションノードと、URI(uniform resource identifier)ノードとを含む複数のノードを含み、前記URIノードは、クエリノードと、分析ノードと、プレビューノードとを含み、前記プレビューノードは、前記ウェブサービスをクエリ検索することにより生成されるデータのプレビューを生成するために使用可能である結果URI(uniform resource identifier)を含むことを特徴とする請求項15に記載の方法。
JP2012538847A 2009-11-12 2010-10-28 ウェブサービスインターフェイス及びクエリ検索 Active JP5693600B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/616,796 US8812962B2 (en) 2009-11-12 2009-11-12 Web service interface and querying
US12/616,796 2009-11-12
PCT/US2010/054574 WO2011059775A2 (en) 2009-11-12 2010-10-28 Web service interface and querying

Publications (3)

Publication Number Publication Date
JP2013511086A JP2013511086A (ja) 2013-03-28
JP2013511086A5 JP2013511086A5 (ja) 2013-11-21
JP5693600B2 true JP5693600B2 (ja) 2015-04-01

Family

ID=43975079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012538847A Active JP5693600B2 (ja) 2009-11-12 2010-10-28 ウェブサービスインターフェイス及びクエリ検索

Country Status (5)

Country Link
US (5) US8812962B2 (ja)
EP (1) EP2499578A4 (ja)
JP (1) JP5693600B2 (ja)
CN (1) CN102612687A (ja)
WO (1) WO2011059775A2 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8812962B2 (en) * 2009-11-12 2014-08-19 Microsoft Corporation Web service interface and querying
US9130975B2 (en) * 2010-06-02 2015-09-08 Avaya Inc. Generation of macros
US20120323950A1 (en) * 2011-06-16 2012-12-20 Microsoft Corporation Embedded query formulation service
CN102819534A (zh) * 2011-09-21 2012-12-12 金蝶软件(中国)有限公司 数据系统中数据展示的方法及装置
US8595251B2 (en) * 2011-11-16 2013-11-26 Verizon Patent And Licensing Inc. Flexible interface module
KR20130101864A (ko) * 2012-03-06 2013-09-16 삼성전자주식회사 클라이언트 장치, 클라이언트의 제어 방법, 서버 및 서버의 영상 제공 방법
US20130290851A1 (en) * 2012-04-30 2013-10-31 Microsoft Corporation User interface web services
CN103810173B (zh) * 2012-11-06 2017-08-18 深圳市金蝶天燕中间件股份有限公司 分页数据处理方法和系统
CN103020142A (zh) * 2012-11-21 2013-04-03 北京小米科技有限责任公司 一种信息配置及获取网络服务的方法及装置
US9898263B2 (en) * 2013-04-09 2018-02-20 Level 3 Communications, Llc System and method for resource-definition-oriented software generation and development
CN104424288B (zh) * 2013-08-30 2018-04-27 腾讯科技(深圳)有限公司 一种网页的3d显示方法及装置
US20150205464A1 (en) * 2014-01-22 2015-07-23 Microsoft Corporation Updating a user interface to a service
US9294543B2 (en) 2014-04-09 2016-03-22 International Business Machines Corporation Generation of representational state transfer interface from application programming interfaces
US9158811B1 (en) 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface
US10209956B2 (en) 2014-10-09 2019-02-19 Splunk Inc. Automatic event group actions
US10305758B1 (en) 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode
US11200130B2 (en) 2015-09-18 2021-12-14 Splunk Inc. Automatic entity control in a machine data driven service monitoring system
US9146954B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Creating entity definition from a search result set
US20160103918A1 (en) * 2014-10-09 2016-04-14 Splunk Inc. Associating entities with services using filter criteria
US11671312B2 (en) 2014-10-09 2023-06-06 Splunk Inc. Service detail monitoring console
US11455590B2 (en) 2014-10-09 2022-09-27 Splunk Inc. Service monitoring adaptation for maintenance downtime
US9760240B2 (en) 2014-10-09 2017-09-12 Splunk Inc. Graphical user interface for static and adaptive thresholds
US10417108B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Portable control modules in a machine data driven service monitoring system
US9146962B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Identifying events using informational fields
US10417225B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Entity detail monitoring console
US9210056B1 (en) 2014-10-09 2015-12-08 Splunk Inc. Service monitoring interface
US10505825B1 (en) 2014-10-09 2019-12-10 Splunk Inc. Automatic creation of related event groups for IT service monitoring
US10536353B2 (en) 2014-10-09 2020-01-14 Splunk Inc. Control interface for dynamic substitution of service monitoring dashboard source data
US9491059B2 (en) 2014-10-09 2016-11-08 Splunk Inc. Topology navigator for IT services
US20160105329A1 (en) 2014-10-09 2016-04-14 Splunk Inc. Defining a service-monitoring dashboard using key performance indicators derived from machine data
US10193775B2 (en) 2014-10-09 2019-01-29 Splunk Inc. Automatic event group action interface
US11087263B2 (en) 2014-10-09 2021-08-10 Splunk Inc. System monitoring with key performance indicators from shared base search of machine data
US11755559B1 (en) 2014-10-09 2023-09-12 Splunk Inc. Automatic entity control in a machine data driven service monitoring system
US10198155B2 (en) 2015-01-31 2019-02-05 Splunk Inc. Interface for automated service discovery in I.T. environments
US9948698B2 (en) * 2015-06-04 2018-04-17 International Business Machines Corporation Web services documentation
US10901756B2 (en) * 2016-05-06 2021-01-26 Fujitsu Limited Context-aware application
US10942960B2 (en) 2016-09-26 2021-03-09 Splunk Inc. Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
US10942946B2 (en) 2016-09-26 2021-03-09 Splunk, Inc. Automatic triage model execution in machine data driven monitoring automation apparatus
US10185556B2 (en) * 2017-02-22 2019-01-22 Sap Se Interactive software development kit documentation tool
US11093518B1 (en) 2017-09-23 2021-08-17 Splunk Inc. Information technology networked entity monitoring with dynamic metric and threshold selection
US11106442B1 (en) 2017-09-23 2021-08-31 Splunk Inc. Information technology networked entity monitoring with metric selection prior to deployment
US11159397B2 (en) 2017-09-25 2021-10-26 Splunk Inc. Lower-tier application deployment for higher-tier system data monitoring
CN108427550B (zh) * 2018-02-13 2021-09-03 深圳太极云软技术有限公司 一种Web服务生成方法、装置及设备
CN110300320B (zh) * 2018-03-22 2022-01-21 杭州海康威视数字技术股份有限公司 一种视频播放方法、装置、电子设备及存储介质
CN110704735B (zh) * 2019-09-24 2022-01-28 贝壳技术有限公司 一种列表页的前端实现方法和装置
CN111368226A (zh) * 2020-03-12 2020-07-03 北京金山安全软件有限公司 一种筛选方法、装置、电子设备及计算机可读存储介质
US11204975B1 (en) * 2020-08-10 2021-12-21 Coupang Corp. Program interface remote management and provisioning
US11341200B1 (en) * 2020-11-06 2022-05-24 Capital One Services, Llc System and method for facilitating presentation modification of a user interface
US11676072B1 (en) 2021-01-29 2023-06-13 Splunk Inc. Interface for incorporating user feedback into training of clustering model
US20240094996A1 (en) * 2022-09-15 2024-03-21 International Business Machines Corporation Auto-wrappering tools with guidance from exemplar commands

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3147262B2 (ja) * 1993-03-22 2001-03-19 日本電信電話株式会社 知識出力装置
US6256623B1 (en) 1998-06-22 2001-07-03 Microsoft Corporation Network search access construct for accessing web-based search services
US6167383A (en) 1998-09-22 2000-12-26 Dell Usa, Lp Method and apparatus for providing customer configured machines at an internet site
US7937325B2 (en) * 1998-12-08 2011-05-03 Yodlee.Com, Inc. Interactive bill payment center
JP4136271B2 (ja) * 2000-05-16 2008-08-20 住友電気工業株式会社 アプリケーションサーバシステム
US7278103B1 (en) * 2000-06-28 2007-10-02 Microsoft Corporation User interface to display and manage an entity and associated resources
JP2002014864A (ja) * 2000-06-29 2002-01-18 Nec Soft Ltd データベース連携Webページ構築システム
US7487182B2 (en) * 2001-01-23 2009-02-03 Conformia Software, Inc. Systems and methods for managing the development and manufacturing of a drug
US7073133B2 (en) * 2001-05-16 2006-07-04 William Hughes Objects and methods for accessing a data source and enhancing an application
WO2003005337A2 (en) 2001-06-30 2003-01-16 Cokinetics Systems An internet interface & integration language system and method
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20030188039A1 (en) * 2002-03-26 2003-10-02 Liu James C. Method and apparatus for web service aggregation
TW200515208A (en) 2003-10-24 2005-05-01 Hon Hai Prec Ind Co Ltd System and method for querying inventory
JP2006004152A (ja) * 2004-06-17 2006-01-05 Sony Corp 検索装置、検索方法、情報処理システム
JP4502763B2 (ja) * 2004-09-22 2010-07-14 株式会社野村総合研究所 データベース利用システム
US20060165040A1 (en) 2004-11-30 2006-07-27 Rathod Yogesh C System, method, computer program products, standards, SOA infrastructure, search algorithm and a business method thereof for AI enabled information communication and computation (ICC) framework (NetAlter) operated by NetAlter Operating System (NOS) in terms of NetAlter Service Browser (NSB) to device alternative to internet and enterprise & social communication framework engrossing universally distributed grid supercomputing and peer to peer framework
US7908286B2 (en) 2004-12-08 2011-03-15 Oracle International Corporation Techniques for providing XQuery access using web services
JP4593335B2 (ja) 2005-03-28 2010-12-08 株式会社くろがね工作所 南京錠保管箱
US7865399B2 (en) 2005-04-22 2011-01-04 Google Inc. Distributed electronic commerce system with centralized point of purchase
US7877678B2 (en) 2005-08-29 2011-01-25 Edgar Online, Inc. System and method for rendering of financial data
US7356767B2 (en) * 2005-10-27 2008-04-08 International Business Machines Corporation Extensible resource resolution framework
US20070157078A1 (en) 2005-12-30 2007-07-05 Discovery Productions, Inc. Method for combining input data with run-time parameters into xml output using xsl/xslt
US20070214408A1 (en) 2006-03-07 2007-09-13 Optimus Corporation Declarative web application for search and retrieval
US7716234B2 (en) 2006-05-26 2010-05-11 Business Objects, S.A. Apparatus and method for querying databases via a web service
US8024666B2 (en) * 2006-06-30 2011-09-20 Business Objects Software Ltd. Apparatus and method for visualizing data
US20080065605A1 (en) 2006-09-08 2008-03-13 Group 1 Software Inc. Rich browser-based interface for address standardization and geocoding
US8321402B2 (en) 2006-12-14 2012-11-27 Sap Ag Generic application interface for searching
US20080172621A1 (en) 2007-01-11 2008-07-17 International Business Machines Corporation Augmenting service description with expected usage information
US20080201338A1 (en) * 2007-02-16 2008-08-21 Microsoft Corporation Rest for entities
US7941755B2 (en) * 2007-04-19 2011-05-10 Art Technology Group, Inc. Method and apparatus for web page co-browsing
US7827286B1 (en) * 2007-06-15 2010-11-02 Amazon Technologies, Inc. Providing enhanced access to stored data
US9785916B2 (en) * 2007-10-12 2017-10-10 Yahoo Holdings, Inc. Integrating rich media into a web-based calendar
US8090754B2 (en) * 2007-12-07 2012-01-03 Sap Ag Managing relationships of heterogeneous objects
US8051491B1 (en) * 2007-12-10 2011-11-01 Amazon Technologies, Inc. Controlling use of computing-related resources by multiple independent parties
US8271878B2 (en) * 2007-12-28 2012-09-18 Amazon Technologies, Inc. Behavior-based selection of items to present on affiliate sites
US8326873B2 (en) 2008-01-09 2012-12-04 Credit Suisse Securities (Usa) Llc Enterprise architecture system and method
US8589955B2 (en) * 2008-02-12 2013-11-19 Nuance Communications, Inc. System and method for building applications, such as customized applications for mobile devices
CN102027721B (zh) * 2008-04-02 2015-05-13 特维里奥公司 处理电话会话的系统和方法
US8812962B2 (en) * 2009-11-12 2014-08-19 Microsoft Corporation Web service interface and querying

Also Published As

Publication number Publication date
EP2499578A4 (en) 2013-07-03
US20140331155A1 (en) 2014-11-06
US10423612B2 (en) 2019-09-24
US20110113341A1 (en) 2011-05-12
US20160364443A1 (en) 2016-12-15
WO2011059775A2 (en) 2011-05-19
EP2499578A2 (en) 2012-09-19
US10803056B2 (en) 2020-10-13
US20170329819A1 (en) 2017-11-16
US9471690B2 (en) 2016-10-18
JP2013511086A (ja) 2013-03-28
US9740733B2 (en) 2017-08-22
US20190377730A1 (en) 2019-12-12
CN102612687A (zh) 2012-07-25
WO2011059775A3 (en) 2011-09-29
US8812962B2 (en) 2014-08-19

Similar Documents

Publication Publication Date Title
JP5693600B2 (ja) ウェブサービスインターフェイス及びクエリ検索
US9665256B2 (en) Identifying selected dynamic content regions
JP6761112B2 (ja) 提示するためのネイティブコンテンツをサーバ側でレンダリングするための方法およびシステム
US9124589B2 (en) RSS feed generation using objects
JP5809328B2 (ja) ウィジェットフレームワーク、リアルタイムサービス統合およびリアルタイムリソース集約
US8621376B2 (en) Developer interface and associated methods for system for querying and consuming web-based data
US8103673B2 (en) Systems and methods for provisioning content from multiple sources to a computing device
US20020169789A1 (en) System and method for accessing, organizing, and presenting data
US20080141136A1 (en) Clipping Synchronization and Sharing
EP1258819A2 (en) System and method for providing a file in multiple languages
AU2008216396A1 (en) Web data usage platform
US9081865B2 (en) Identifying selected elements in dynamic content
US20230351097A1 (en) Systems and methods for integrating application components in a web application
US8244705B1 (en) Rating system and spatial searching therein
Morikawa et al. A proposal of user profile management framework for context-aware service
US8271885B2 (en) User interface customization using evaluation data
Kotaru Creating the Entities Use Case
Yapa et al. Advanced Liquid Templates
Carneiro Jr et al. Designing Your APIs
Daggolu Designing an AJAX-based web application restfully
AKIN et al. Development of mobile search applications over structured web data through domain specific modeling languages
Gilmore Creating Ajax-enhanced Features with jQuery and PHP
Overfield et al. Uploading and Working with Files
Root et al. Creating Reports with SSRS

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150203

R150 Certificate of patent or registration of utility model

Ref document number: 5693600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250