クライアントにウェブ・サービスを提供するための方法、コンピュータ・プログラム及びシステム
【課題】ウェブ・サービスにアクセスするためのコンピュータ実装能力を提供すること。
【解決手段】
クライアント・コンピュータには、複数のウェブ・サービスを識別するリスト情報を含む、ウェブ・サービスの相互依存型リストが供給される。前記リスト情報は、前記複数のウェブ・サービスのうち第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関連づける。ウェブ・サービス要求の結果は、前記リスト情報によって提供される関係を利用する前記クライアント・コンピュータによって、他のウェブ・サービス要求に提供される。好ましくは、前記リスト情報及び前記クライアント・コンピュータからのウェブサービス・メッセージは、XMLステートメントから成る。汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)は、前記クライアント・コンピュータ及びそれぞれのウェブ・サービスの間の通信を構成し且つ転送する。
【解決手段】
クライアント・コンピュータには、複数のウェブ・サービスを識別するリスト情報を含む、ウェブ・サービスの相互依存型リストが供給される。前記リスト情報は、前記複数のウェブ・サービスのうち第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関連づける。ウェブ・サービス要求の結果は、前記リスト情報によって提供される関係を利用する前記クライアント・コンピュータによって、他のウェブ・サービス要求に提供される。好ましくは、前記リスト情報及び前記クライアント・コンピュータからのウェブサービス・メッセージは、XMLステートメントから成る。汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)は、前記クライアント・コンピュータ及びそれぞれのウェブ・サービスの間の通信を構成し且つ転送する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はウェブ・サービスに係り、さらに詳細に説明すれば、パーベイシブ装置のためにウェブ・サービスへの効率的なクライアント・アクセスを提供することに係る。
【背景技術】
【0002】
パーベイシブ装置が普及し且つ無線通信の帯域幅が増加するにつれて、ユーザは、PCなしで旅行する間に指先を使ってより多くのサービスにアクセスすることを望んでいる。例えば、巡回販売員は、会社目録の検索、顧客の注文状況のチェック、顧客のアドレスの検索等のサービスを必要とすることがある。
【0003】
ウェブ・サービスは、URIによって識別されるソフトウェア・システムであり、そのパブリック・インタフェース及びバインディングはXMLを使用して定義及び記述される。その定義は、他のソフトウェア・システムによって見つけることができる。その後、これらのシステムは、インターネット・プロトコルによって伝えられるXMLに基づくメッセージを使用して、その定義によって規定されたやり方でウェブ・サービスと対話することができる。
【0004】
伝統的に、開発者は、ウェブ・サービスへのアクセスを可能にするためのプログラムを書かなければならなかった。非開発者にとっては、彼らがアクセスする必要のある各ウェブ・サービス用のプログラムを見つけるのは非常に難しい。さらに、各ウェブ用のプログラムを独自に書くようにすると、相当な開発及びサポート用のコストを負担しなければならない。特に、パーベイシブ装置のユーザにとって、構成可能で且つ継続的な態様で多数のウェブ・サービスを利用する効率的な方法は存在しない。
【0005】
「DYNAMIC EXTENSIBLE LIGHTWEIGHT ACCESS TO WEB SERVICES FORPERVASIVE DEVICES」と題する、米国特許出願公開第2006/0190580号(2005年2月23日出願)は、モバイル・クライアントに対しウェブ・サービスへのアクセスを提供する汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)を開示する。GMWSMは、ウェブ・サービスとモバイル・クライアント(例えば、携帯用PDA)の間のインタフェースを提供する。GMWSMは、サポートされるウェブ・サービスのレジストリを保持するとともに、ウェブ・サービス及びモバイル・クライアントに関するメタデータ属性をも保持する。GMWSMに利用可能な属性に基づいて、GMWSMを介して、情報がクライアントと登録されたウェブ・サービスの間で転送される。
【0006】
「SYSTEM, METHODS, AND ARTICLES OF MANUFACTURE FORDYNAMICALLY PROVIDING WEB SERVICES」と題する、米国特許出願公開第2005/0015491号(2003年5月16日出願)は、分散型システムにおいてウェブ・サービスを動的に提供することを開示する。1つの実施形態では、配信サーバは、汎用インタフェースを使用して、クライアント・システムにおけるユーザ要求に基づき、複数のウェブ・サービスのうちの任意の1つを呼び出す。配信サーバが、コンテンツ情報を提供するのに対し、クライアント・システムは、コンテンツ情報を使用して許可されたユーザ用のカスタマイズされたウェブ・ページを表示する。ユーザが、ウェブ・サービスに関連するカスタマイズされたウェブ・ページ上のコンテンツを選択する場合、クライアントのシステムは、1つ以上の隠しフィールドにデータ値をセットし且つ当該フィールドを配信サーバに供給する。配信サーバは、結果データを生成するように、フィールド情報を選択されたウェブ・サービスに渡す。配信サーバは、結果データ及び収集したフォーマット・データを使用することにより、許可されたユーザ用のカスタマイズされたウェブ・ページを生成するために使用されるコンテンツ情報を生成することができる。この発明は、ウェブ・サービスの如何なる消費者も再プログラムする必要なしに、分散システムがウェブ・サービスを修正することを可能にする。また、配信サーバを適切に構成することにより、ユーザがアクセス可能な任意のウェブ・サービスを動的に且つ自動的に決定するとともに、汎用インタフェースを通して許可されたウェブ・サービスへのアクセスを提供することができる。
【0007】
「MOBILE WEB SERVICES」と題する、米国特許出願公開第2002/0174117号(2001年5月15出願)は、携帯電話又は無線PDAが、UDDI(Universal Description, Discovery andIntegration)にアクセスすることにより、インターネット・ビジネス及びサービスを見つけるための方法を開示する。この方法は、無線装置のユーザが、UDDIレジストリへの照会を形成することを容易にする。この方法は、ユーザのUDDI検索戦略及びインターネット・アクセス優先順位に関する、個人用のユーザ・プロファイルを構築する。ユーザ・プロファイルは、UDDIレジストリへのオンライン又はオフライン照会のためのショートカットとして、或いは無線装置へのユーザの短縮入力に応答して、ウェブ・サイトからページをアクセスするためのショートカットとして、これを使用することができる。この方法は、UDDIレジストリに問い合わせるためにユーザの無線装置内で実行可能なプログラム命令として具体化される。代替的に、この方法は、ユーザの無線装置からのコマンドに応答してUDDIレジストリに問い合わせるために、別個の知識エンジン・サーバ内で実行可能なプログラム命令として具体化される。サーバは、ユーザの無線装置に選択的に転送するために、ウェブ・サイトからアクセスされたファイルをキャッシュするために使用することができる。
【0008】
「SYSTEMS, APPARATUS, AND METHOD FOR PROVIDING WEB SAERVICESON MOBILE DEVICES」と題する、米国特許出願公開第2005/0071423号(2003年9月26日出願)は、モバイル装置からウェブ・サービスを提供する。1つの構成は、第1のネットワーク・エンティティにおいてウェブ・サービス・メッセージを形成することを含む。ウェブ・サービス・メッセージは、モバイル端末を目標とする。ウェブ・サービス・メッセージを処理するのを支援するため、要求がロケータ機構に向けられる。ウェブ・サービス・メッセージは、ロケータ機構を利用して、モバイル端末へ送信される。ウェブ・サービス・メッセージは、モバイル・サービス・トランスポート・プロトコルを使用して、モバイル端末へ送信され、そこで処理される。
【0009】
ブラウザは、ウェブ・サービスを直接アクセスするための手段を提供しない。アクセスすべき各ウェブ・サービスごとに、カスタマイズされたウェブ・ページ及びプログラムを開発しなければならない。このことは、開発及びサポートにおける相当なコストに帰着する。さらに、ウェブ・ページからウェブ・サービスをアクセスするためにブラウザを使用すると、ブラウザがウェブ・サービスにアクセスする前に、カスタマイズされたウェブ・ページ及びプログラムをダウンロードしなければならず、その結果、余分なネットワークRTT(ラウンド・トリップ時間)を要する。パーベイシブ装置に対する通信帯域幅の制限が存在するために、余分なRTTは、システムの性能に望ましくない影響を及ぼす。
【0010】
他のアプローチは、各ウェブ・サービスごとにそのサービスと対話する、カスタマイズされたクライアント・アプリケーションを作成することである。このアプローチの欠点は、サービスが増加するとともに、アプリケーションの数が増えすぎて、装置のメモリ/記憶域の限界よりも大きくなるということである。各アプリケーションを開発し、サポートし、購入するための総コストは相当なものである。
【0011】
SOA(サービス指向アーキテクチャ)は、ソフトウェア・ユーザの要件をサポートするためにサービスの使用を定義する、ソフトウェア・アーキテクチャの設計手法を提供する。SOA環境では、ネットワーク上の資源は、それらのプラットフォーム実装についての知識なしでアクセス可能な、独立のサービスとして利用可能になる。一般に、SOAは、産業界の広汎な承認を獲得したウェブ・サービスの標準(例えば、SOAP又はRESTを使用すること)に基づいている。これらの標準は、より大きな相互運用性を提供するだけでなく、所有権を主張できるベンダ・ソフトウェアに束縛されるという問題からある程度の保護を提供する。本発明は、パーベイシブ(モバイル)装置上でSOAを使用可能にすることを意図する。本発明は、単純な構成を通して、統合及び継続的なウェブ・サービスの呼び出しを可能にする。
【0012】
種々のベンダによって、パーベイシブ装置からのウェブ・サービス・アクセスを可能にするための解決方法が提案されている。例えば、RESEARCH IN MOTION 社から提供される「BlackBerry(商標)MobileData System v.4.1」は、生成済みのウェブ・サービス・クライアントをモバイル装置にプッシュすることにより、ユーザがこのクライアントを使用して対応するウェブ・サービスにアクセスすることを可能にする。IBM社の「Web Services Tool Kit」は、小さなモバイル装置、ゲートウェイ・デバイス及びインテリジェント・コントローラ上でウェブ・サービスを使用するようなアプリケーションの開発を可能にする、「ツール及びランタイム環境」を提供する。
【0013】
【特許文献1】米国特許出願公開第2006/0190580号(2005年2月23日出願)
【特許文献2】米国特許出願公開第2005/0015491号(2003年5月16日出願)
【特許文献3】米国特許出願公開第2002/0174117号(2001年5月15出願)
【特許文献4】米国特許出願公開第2005/0071423号(2003年9月26日出願)
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかし、既存のツール又は製品は、クライアント/装置が、以前のウェブ・サービス・アクセスから戻された結果を使用して、他のウェブ・サービスを呼び出すための機構を提供しない。
【課題を解決するための手段】
【0015】
本発明は、サービス及びパーベイシブ装置上で実行中のクライアントに提供されるサービスの呼び出しの関係と関係する、関連するメタデータを備えたサービスのリストを提供する。その後、パーベイシブ装置上で実行中のクライアントは、第1のウェブ・サービスを呼び出し、第1のウェブ・サービスの結果を獲得し、第1のウェブ・サービスから受信した情報の文脈内で、第2のウェブ・サービスを呼び出すことができる。同様に、第2のウェブ・サービスの結果がクライアントに戻る場合、クライアントは、第2のウェブ・サービスから戻された情報の文脈内で、第3のウェブ・サービスを呼び出すことができる。本明細書に開示する本発明の概念に従った変形例には、単一のウェブ・サービスからの結果に応じて複数のウェブ・サービスにアクセスすることが含まれる。
【0016】
本発明の1つの側面に従って、呼び出し順序は、これをサーバ側で動的に構成した後、クライアントに供給することができる。パーベイシブ装置上で実行中のクライアントを変更する必要はない。
【0017】
従って、本発明の目的は、ウェブ・サービスにアクセスするためのコンピュータ実装能力を提供することである。この能力は、複数のウェブ・サービスの相互依存型リスト(interdependent list)を有するクライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含む。相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものである。前記リスト情報に従い、前記選択ステップに応答して、第1のウェブ・サービス要求が、前記クライアント・コンピュータから前記第1のウェブ・サービスに送信される。当該送信ステップに応答して、前記第1のウェブ・サービスからの第1の情報が、前記クライアント・コンピュータにおいて受信される。ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスが選択される。前記リスト情報に従い、前記受信された第1の情報が、前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するために利用される。前記形成された第2のウェブ・サービス要求は、前記クライアント・コンピュータから前記第2のウェブ・サービスに送信される。最後に、当該送信ステップに応答して、前記第2のウェブ・サービスからの第2の情報が、前記クライアント・コンピュータにおいて受信される。
【0018】
本発明の他の目的は、前記リスト情報に従い、ユーザ入力に応答して、前記相互依存型リストから第3のウェブ・サービスを選択するステップを含む。前記リスト情報に従い、前記受信された第2の情報又は前記受信された第1の情報のうちの1つが、第3のウェブ・サービス要求を形成するために利用される。当該形成された第3のウェブ・サービス要求は、前記クライアント・コンピュータから前記第3のウェブ・サービスに送信される。当該送信ステップに応答して、前記第3のウェブ・サービスからの第3の情報が、前記クライアント・コンピュータにおいて受信される。
【0019】
本発明の他の目的は、1つ以上の追加のウェブ・サービス要求を送信することである。
【0020】
本発明の他の目的は、前記クライアント・コンピュータにおいて、前記リスト情報を受信することである。前記相互依存型リストは、メタデータを含み、前記リスト情報は、構成可能な相互依存型リスト及びこれに関連するメタデータからGMWSMサーバによって構成される。前記相互依存型リストに従った構成に基づいて、前記複数のウェブ・サービスのうち1つ以上の表現が、ユーザに表示される。前記第1のウェブ・サービス要求又は前記第2のウェブ・サービス要求のうちの任意の1つを形成するときに、前記相互依存型リストの前記受信されたメタデータが使用される。また、ボタン又はメニューのうちの任意の1つを含むクライアント・グラフィカル・ユーザ・インタフェースであって、前記第1のウェブ・サービスの結果の表示から前記第2のウェブ・サービスの入力の表示にナビゲートする能力を含むクライアント・グラフィカル・ユーザ・インタフェースを作成するときに、前記相互依存型リストの前記受信されたメタデータが利用される。
【0021】
本発明の他の側面では、前記クライアント・コンピュータが、前記第1のウェブ・サービス要求を汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)に送信し、前記クライアント・コンピュータが、前記第2のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記GMWSMから前記相互依存型リスト及びこれに関連するメタデータを受信し、前記クライアント・コンピュータが、前記GMWSMから前記第1の情報を受信し、前記GMWSMが、前記クライアント・コンピュータを代表してウェブ・サービスと通信する。
【0022】
本発明の他の目的は、前記クライアント・コンピュータにおいて、XMLステートメントから成る前記相互依存型リスト及びこれに関連する前記メタデータを提供することである。
【0023】
本発明の他の目的は、前記クライアント・コンピュータが、前記リスト情報に従って、ユーザに対し、ウェブ・サービスの選択候補を示すプロンプト表示を前記ユーザに提示することである。前記クライアント・コンピュータは、前記リスト情報に従って、前記ユーザが行った前記選択の結果を前記ユーザに提示する。前記ユーザへの提示のために使用されるインタフェースは、GUI、音声、キーパッド、マウス又は機械的な動作のうちの任意の1つから成る。
【0024】
本発明の他の目的は、前記第1のウェブ・サービス要求、前記受信された第1の情報及び前記第2のウェブ・サービス要求の各々を、XMLステートメントの形態で提供することである。
【発明を実施するための最良の形態】
【0025】
技術の定常的な進歩に起因して、モバイル・コンピュータは、携帯情報端末(PDA)、車載装置、ビジネス・オルガナイザ等の、パームトップ又は携帯用装置として利用可能になってきた。また、多くの人は、携帯電話を利用して、インターネットにアクセスしたり、他の種々の計算機能を行うようになってきた。パームトップ、PDA及び携帯電話等を含む、ポータブル計算装置は、「パーベイシブ」又は「モバイル」計算装置と総称されることが多い。
【0026】
図1は、本発明を実施することができる、代表的なワークステーション(又はパーソナル・コンピュータ若しくはサーバ)のハードウェア・システム100を示す。図1のシステム100は、ワークステーション101を含み、当該ワークステーション101は、オプションの周辺装置を含む。ワークステーション101は、1つ以上のプロセッサ106と、当該プロセッサ106及びワークステーション101の他のコンポーネントを接続し且つこれらの間の通信を可能にするために使用されるバスを含む。このバスは、プロセッサ106をメモリ105及び永続記憶装置107に接続する。永続記憶装置107は、ハードディスク・ドライブ、ディスケット・ドライブ又はテープ・ドライブを含むことができる。また、ワークステーション101は、プロセッサ106をバスを介してキーボード104、マウス103、プリンタ/スキャナ110等に接続するための、ユーザ・インタフェース・アダプタを含むことができる。さらに、バスは、表示装置102を表示アダプタを介してプロセッサ106に接続する。
【0027】
ワークステーション101は、ネットワーク109と通信することができるネットワーク・アダプタを介して、他のコンピュータ又はコンピュータ・ネットワークと通信することができる。ネットワーク・アダプタの例には、通信チャネル、トークン・リング、イーサネット(登録商標)又はモデムがある。代替的に、ワークステーション101は、CDPD(Cellular Digital Packet Data)カードのような無線インタフェースを使用して通信することができる。ワークステーション101は、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)を介して他のコンピュータに関連づけることができる。或いは、ワークステーション101は、他のコンピュータを備えたクライアント/サーバ構成内のクライアントとして位置づけることができる。これらの全ての構成、並びに適切な通信ハードウェア及びソフトウェアは、当分野において公知である。
【0028】
図2は、本発明を実施することができる、データ処理ネットワーク200を示す。データ処理ネットワーク200は、無線ネットワーク及び有線ネットワークのような複数の個別ネットワークを含み、その各々は、複数の個別ワークステーション101を含むことができる。また、当業者には明らかなように、1つ以上のLANを含めることができ、その場合には、各LANを使用して、複数の知的ワークステーションをホスト・プロセッサに結合することができる。
【0029】
また、図2のネットワークは、ゲートウェイ(クライアント・サーバ206)又はアプリケーション・サーバ(データ・リポジトリをアクセスすることができる遠隔サーバ208)のような、メインフレーム・コンピュータ又はサーバを含むことができる。ゲートウェイ206は、各ネットワーク207への入口として作用する。ゲートウェイが必要となるのは、或るネットワーキング・プロトコルを他のネットワーキング・プロトコルに接続する場合である。好ましくは、ゲートウェイ206は、通信リンクを介して、他のネットワーク(例えば、インターネット207)に結合される。また、ゲートウェイ206は、通信リンクを使用して、1つ以上のワークステーション101に直接的に結合することができる。ゲートウェイ106は、IBM社から入手可能な「IBM eServer zSeries(登録商標)900」サーバを利用して実装することができる。
【0030】
一般に、本発明を具体化するコンピュータ・プログラム111(図1)は、CD−ROMドライブ又はハードディスク・ドライブのような永続記憶装置107からワークステーション101のプロセッサ106によってアクセスされる。コンピュータ・プログラム111は、データ処理システムによって使用するための、ディスケット、ハード・ディスク又はCD−ROMのような種々の媒体上に記録することができる。コンピュータ・プログラム111は、かかる媒体上に記録した形態で配布したり、或いは1つのコンピュータ・システムのメモリ又は記憶装置からネットワークを介して他のコンピュータ・システムに配布することができる。
【0031】
代替的に、コンピュータ・プログラム111は、プロセッサ106がプロセッサ・バスを使用してアクセスできるように、メモリ105内に記録することができる。コンピュータ・プログラム111は、種々のコンピュータ・コンポーネントの機能及び相互作用を制御するオペレーティング・システムと、1つ以上のアプリケーションとを含む。一般に、コンピュータ・プログラムは、永続記憶装置107から高速メモリ105にページされると、そこでプロセッサ106による処理のために利用可能となる。コンピュータ・プログラムをメモリ内又は物理媒体上に記録したり、ネットワークを介して配布するための技術及び方法は、当分野では周知であるから、それ以上の説明は省略する。
【0032】
推奨実施形態では、本発明は、1つ以上のコンピュータ・プログラム111として実装される。本発明に従ったコンピュータ・プログラム111は、要求時に呼び出される1つ以上のモジュール又はアプリケーション111(「コード・サブルーチン」又はオブジェクト指向プログラミングの「オブジェクト」と呼ばれるもの)として、ユーザのワークステーション上で稼働することができる。代替的に、コンピュータ・プログラム111は、ネットワーク内のサーバ上で稼働するか、又はコンピュータ・プログラム111を実行することができる任意の装置内で稼働することができる。本発明を実装する論理は、本明細書に開示した本発明の概念から逸脱することなく、アプリケーションのコード内に統合されるか、又は当該アプリケーションによって呼び出される1つ以上の別個のユーティリィティ・モジュールとして実装することができる。アプリケーション111はウェブ環境内で実行することができ、そのような環境では、ウェブ・サーバは、インターネットを通して接続されるクライアントからの要求に応答してサービスを提供する。他の実施形態では、アプリケーションは、企業のイントラネット若しくはエクストラネット、又は他のネットワーク環境内で実行することができる。かかる環境のための構成は、クライアント/サーバ・ネットワーク、ピアツーピア・ネットワーク(クライアントが、クライアント及びサーバ機能の両方を行うことにより、直接的に対話するもの)、並びに多層環境を含む。これらの環境及び構成は、当分野において周知である。
【0033】
本発明は、サーバ・アプリケーションを介して、ウェブ・サービスをモバイル・クライアント装置に提供する。このサーバ・アプリケーションは、クライアント装置からのキーワードを解釈して、これを所望のウェブ・サービスと互換性のある形式に変換する。従って、サーバ・アプリケーションがインタフェースを管理するので、クライアント装置は、ウェブ・サービスに関する最小限のソフトウェア知識を必要とするに過ぎない。好ましくは、このサーバ・アプリケーションは、サポートされるウェブ・サービスのリスト(レジストリ)を有し、このリストをクライアント装置に供給することができる。推奨実施形態では、クライアント装置からの種々の通信形式がサポートされる。例えば、テキスト又は音声がサポートされる場合、サーバ・アプリケーションは、音声をテキストに変換するか、又はテキストを音声に変換するための変換手段を提供する。
【0034】
図19を参照するに、モバイル・クライアント装置1510と通信関係にある汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)のサーバ・アプリケーション1520は、XMLメタデータをクライアント装置1510にダウンロードする。クライアント装置1510は、このメタデータを使用して、プロンプト表示を提示するとともに、ウェブ・サービス1531〜1534に対するウェブ・サービス要求メッセージを形成する。これらのウェブ・サービス要求メッセージがサーバ1520に送信されると、サーバ1520は、クライアント1511を代表して、ネットワーク1500を介してこれらのウェブ・サービス要求を行う。また、GMWSM 1520は、XMLメタデータを利用して、クライアント1511と授受されるメッセージの形成及び処理を行う。
【0035】
ここで、図3を参照すると、ユーザは、そのモバイル(クライアント)装置上のGUIプロンプト表示301を提示される。GUIプロンプト表示301は、好ましくは、1つ以上のトピック302及びサービス303〜306のリストを含む。GUIプロンプト表示301は、オプションとして、ウィジェット、番号付け、プルダウン・メニュー等を使用して、トピック及びサービスを提示する。この例では、GUIプロンプト表示301は、「Services(サービス)」というトピックを提示し、ユーザは、キーパッド、カーソル、タッチ・スクリーン又は音声動作等を使用して、GUIプロンプト表示301上の1つの項目(サービス)を選択する。この場合、ユーザは、GUIプロンプト表示301上の「Customer Information(顧客情報)」サービス303を選択する。GUIプロンプト表示301は、選択された「Customer Information」サービス303を下線で強調表示するように更新される。
【0036】
このユーザの選択(及びクライアントのメタデータ)に基づいて、ユーザのモバイル装置は、「Customer Information」403というトピックと、「CustomerName(顧客名)」404及び「Customer ID(顧客ID)」405という項目のリストとを有する、新しいGUIプロンプト表示401(図4)にナビゲートする。ユーザは、適切な項目内に情報を記入する(この例では、ユーザは、項目「Customer Name」404内に「Acme」を記入する)。ユーザは、クライアントが提供した「Invoke(呼び出し)」ボタン402を選択することにより、ウェブ・サービスを呼び出す。GUIプロンプト表示401は、「Invoke」ボタン402の選択を下線で強調表示するように更新される。「Invoke」ボタン402の選択に応答して、クライアントは、「Acme」メタデータを含むウェブ・サービス要求を、GMWSMサーバを介して、「Customer Information」ウェブ・サービスに送信する。
【0037】
呼び出されたウェブ・サービスの応答がモバイル装置によって受信される場合、クライアントは、この情報をモバイル装置のプロンプト表示501(図5)に提示する。このプロンプト表示501は、トピック「Customer Information」504、並びにこのトピックに関係する項目505〜510を含む結果と、以前に呼び出され且つナビゲーション項目「Account Rep(アカウント担当者)」502及び「Purchase History(購入履歴)」503として提示されたウェブ・サービスに依存する機能とを含む。次に、ユーザは、「Customer ID: 001」506を選択することにより、他のプロンプト表示にナビゲートすることができる。「Customer ID: 001」506が強調表示された後、適切なナビゲーション項目「Account Rep」502を選択する。このナビゲーション項目502を選択することにより、メタデータ「ID: 001」506を含む「Account Rep」ウェブ・サービス要求が呼び出される。
【0038】
「Account Rep」ウェブ・サービス要求は、GMWSMサーバを介して、クライアントに情報を戻し、クライアントは、新しいモバイル装置のプロンプト表示「Account Rep」601(図6)にナビゲートする。プロンプト表示601は、ナビゲーション項目602及び603、新しいトピック604、「Account Rep」ウェブ・サービスから抽出された情報を含む新しい項目605〜612を提示する。ユーザは、「Email:jssmith@acme.com」という項目606及び「EmployeeInformation(従業員情報)」というメニュー項目を選択する。このアクションは、メタデータ「Email:jsmith@acme.com」606を「EmployeeInformation」ウェブ・サービスに送信する。
【0039】
このウェブ・サービスからの応答は、クライアントのプロンプト表示を新しいプロンプト表示701(図7)にナビゲートさせる。 新しいプロンプト表示701は、「Employee Information」703というトピックと、項目704〜712のリストとを含む。
【0040】
図8及び図9は、前述の実施形態のフローを示す。図8を参照するに、モバイル・クライアント801は、GMWSMサーバ802からXMLサービスを受信する。このXMLサービスは、サービスのリスト及び当該サービスのリストをサポートするXMLメタデータを含む。サービスのリストは、ユーザ800に対するプロンプト表示として提示される(804)。ユーザ800は、「Customer Information(顧客情報)」サービスを選択し(805a)、このサービスのためのプロンプト表示を提示される(805b)。ユーザ800は、「Customer Information」の「Acme」を入力し、「Invoke(呼び出し)」ボタンを選択する。その結果、クライアント801は、GMWSMサーバ802を介して、「Customer Information」ウェブ・サービス810からの情報を要求する(808)。GMWSMサーバ802は、「Customer Information」ウェブ・サービス810からの顧客情報をクライアント801に戻し(809)、この顧客情報は、ユーザ800に対するプロンプト表示内で提示される(807)。
【0041】
次に、図9を参照するに、ユーザは、プロンプト表示においてID=「001」の項目を選択し(811)、「Account Rep」ウェブ・サービスを選択した後(812)、クライアント801及びGMWSMサーバ804を介して、「Account Rep」ウェブ・サービス821からの情報を要求する(817)。GMWSMサーバ804は、「Account Rep」ウェブ・サービス821からの情報をクライアント801に戻し(818)、クライアント801は、ユーザ800に対する「Account Rep」ウェブ・サービスのプロンプト表示を作成する(813)。次に、ユーザ800は、このプロンプト表示内の電子メール項目を選択し、クライアント801に対する「Employee Information」サービス要求を開始する(815)。クライアント801は、ユーザ要求からのメタデータを組込み、GMWSMサーバ804を介して、「Employee Information」ウェブ・サイト822からの情報を要求する(819)。GMWSMサーバ804は、「Employee Information」ウェブ・サービスからの従業員情報をクライアント801に戻し(820)、クライアント801は、この従業員情報をユーザに提示する(816)。好ましくは、GMWSMサーバ804は、クライアントを代表して、要求及び応答に関する機能を行う。かかる機能は、データのフォーマットを行うこと、GUIのフォーマットを行うこと、テキストと音声又は画像の間の情報変換を行うこと、単一のクライアント要求に応答して多数のウェブ・サービスを呼び出すこと、プロトコルの変換を行うこと等を含む。
【0042】
好ましくは、サービス及びサービスの関係に関するメタデータ(図10〜図12)は、動的に構成可能なサーバ上に維持され、クライアントには、このメタデータのサブセット(図13及び図14)が供給される。
【0043】
図10〜図12は、図13及び図14の対応するクライアント・メタデータを有する、本発明に従ったサーバ・メタデータの例を示す。XMLメタデータ内の「サービス」要素として構成される、5つのウェブ・サービスがある。これらのウェブ・サービスは、「Customer Information(顧客情報)」2、「EmployeeInformation(従業員情報)」14、「Account Rep(アカウント担当者)」22、「Sales Report(販売報告)」35及び「Purchase History(購入履歴)」43である。これらのウェブ・サービスの各々は、当該各ウェブ・サービスを一意に識別するための「id」属性3、15、23、36及び43を有する。「url」属性4、16、24、37及び45と、「urn」属性5、17、25、38及び46と、「method(メソッド)」属性6、18、26、39及び47は、ウェブ・サービスを見つけて呼び出すために使用される。「service」内の「list」属性7、19、27、40及び48は、サービスが図3に示すようなサービスの最初のリスト・ビュー内に表示されるか否かを表す。全てのサービスは、ユーザにとってこれらのサービスを最も効率的に使用する方法は何かということに依存して、最初のリスト・ビュー内で可視又は不可視の何れかとなるように構成することができる。「param(パラメータ)」要素8、9、20、28、41、49及び50は、クライアント・モバイル装置上のUIコンポーネントを定義するために使用される。
【0044】
呼び出し順序は、「service」要素内に「menu(メニュー)」10、11、18、29及び31を追加することにより構成される。「action(アクション)」属性12、30及び32は、XMLで定義されるウェブ・サービスのidを表す。例えば、「Customer Information」サービスは、2つのメニューとして、「Account Rep」10及び「Purchase History」11を有する。このようにして、「Customer Information」ウェブ・サービスの結果が戻された後、「Account Rep」及び「Purchase History」ウェブ・サービスがユーザに利用可能となる。「input(入力)」属性10及び11は、コンマで区切られた属性名のリストを含む。これは、第1のウェブ・サービスから戻されるどの部分が、第2のウェブ・サービス要求で使用されるかを定義する。クライアントは、対応する「input」フィールドを取り、これをGMWSMへの要求に含めて送信する。「menu」要素10及び11内の「pipe(パイプ)」属性は、第2のウェブ・サービスへ渡すべき(順序を含む)引き数を定義するために使用される。例えば、「$0、$1」は、第1のウェブ・サービスの応答からの第1及び第2の「input」属性を、その通りの順序で、次のウェブ・サービス要求へ渡すことを意味する。これに対し、「$1、$0」は、第1のウェブ・サービスの応答からの第1及び第2の「input」属性を、その逆の順序で、次のウェブ・サービス要求へ渡すことを意味する。「Purchase History」11の場合は、顧客「ID」としての「001」である「$0」と、「history」のための5が、第2のウェブ・サービスに渡される。「パイピング」はGMWSM側でだけ生ずるので、「pipe」はクライアントには供給されない。
【0045】
図13及び図14は、モバイル・クライアントに供給されるXMLメタデータの例を示す。この例から分かるように、XMLのクライアント・バージョンは、汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)のサーバ・バージョンとは異なる。すなわち、クライアントXMLは、「url」属性4、16、24、37及び45と、「urn」属性5、17、25、38及び46と、「method」属性6、18、26、39及び47を含んでおらず、「menu」ステートメント10、11、12及び18内に「pipe」情報も含んでいないからである。
【0046】
図15は、クライアントからGMWSMに送信される、第1の引き数「Acme」及びヌルの第2の引き数を有する「Customer Information」ウェブ・サービス用のXML要求の例を示す。前述のように、「Acme」は、クライアント・コンピュータにおいてユーザによって提供されたものである。
【0047】
図16は、GMWSMからクライアントに送信される、「Customer Information」ウェブ・サービスのXML応答の例を示す。2つの「Acme」1203及び1208によって表される2人の顧客に関する情報が、異なる「ID」1204及び1209、並びに「Address(住所)」1205及び1210を伴って、戻されている。
【0048】
図17は、クライアントからGMWSMに送信される、「Account Rep」ウェブ・サービス1301のXML要求の例を示す。この要求に含まれる引き数1302は、以前の「Customer Information」ウェブ・サービスから戻された、選択されたID「001」である。
【0049】
図18は、GMWSMからクライアントに送信される、「Account Rep」ウェブ・サービスのXML応答の例を示す。この応答は、2人のアカウント担当者1403及び1409に関する情報として、それぞれの「Email(電子メール・アドレス)」1404及び1410、「Tel(電話番号)」1405及び1411、並びに「Title(肩書き)」1406及び1412を含む。
【0050】
図19を参照するに、本発明の1つの実施形態は、汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)1520と通信関係にあるクライアント装置1510(例えば、モバイル携帯用コンピュータ又はPDA)上で実装される。GMWSM 1520は、ウェブ・サービス1530及びUDDIレジストリ1540に対するネットワーク・アクセス1500を有する。好ましくは、ネットワーク1500はインターネットから成る。通信プロトコルは、SOAP 1501プロトコルである。
【0051】
SOAPインターネット・ドラフト(search.ietf.org/internet-drafts/draft-box-http-soap-01.txt)は、SOAP要求の次の例を提供する。
1. POST /StockQuote HTTP/1.1
2. Host: www.stckquoteserver.com
3. Content-Type:text/xml
4. Content-Length: nnnn
5. SOAPMethodName: Some-Namespace-URI#GetLastTradePrice
6. <SOAP:Envelopexmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
7. <SOAP:Body>
8. <m:GetLastTradePrice xmlns:m="Some-Namespace-URI">
9. <symbol>DIS</symbol>
10. </m:GetLastTradePrice>
11. </SOAP:Body>
12.</SOAP:Envelope>
この要求は、次の2つの部分に分割することができる。
HTTPヘッダ(1行〜5行)
XML−RPCペイロード(6行〜12行、SOAP:Envelope 要素)
【0052】
クライアント装置1510は、好ましくは、MICROSOFT Windows(登録商標)(商標)、MICROSOFTWindows(登録商標) CE、PALM OS(商標)及びBLACKBERRY(商標)のようなオペレーティング・システムを使用する。
【0053】
汎用モバイル・ウェブ・サービス・クライアント(GMWSC)1511は、クライアント装置1510内に常駐する。GMWSC 1511は、GMWSM 1520からウェブサービスのメタデータを獲得し、クライアント装置1510上のユーザのためのユーザ・インタフェースを生成する。また、GMWSC 1511は、ウェブ・サービス要求をGMWSM 1520に送信する。
【0054】
GMWSC 1511は、好ましくは、クライアント装置1510上にインストールされるスタンド・アロンのアプリケーションとしてJava(登録商標)(商標)プログラミング言語で実装され、Java(登録商標)仮想コンピュータであるJVM(商標)を提供する。
【0055】
GMWSM 1520は、好ましくは、4つのコンポーネント、すなわち音声転写サービス1521、高速パス解析サービス1522、ウェブ・サービス・ディスパッチャ(WSD)1523及びウェブ・サービス・レジストリ(WSR)1524を含む。
【0056】
GMWSM 1520は、好ましくは、IBM社のWEBSPHERE(商標)のようなアプリケーション・サーバ内で実行されるサーバ・アプリケーションとしてJava(登録商標)プログラミング言語で実装される。
【0057】
高速パス解析サービス1522は、クライアント1511から受信された高速パス・コマンドを解析し且つこれをXMLフォーマットに変換するために使用される。高速パス・コマンドは半自然言語の文である。これは、ウェブ・サービス用のキーワード及び幾つかの入力属性を有する。多語属性は、引用符で囲まなければならない。キーワード及びコマンド・フォーマットの一方又は両方は、GMWSMの高速パス解析サービス1522には既知である。
【0058】
ウェブ・サービス・レジストリ(WSR)1524は、管理されるモバイル・ウェブ・サービスのメタデータ情報を保持する。利用可能なウェブ・サービスは、1つ以上のウェブ・サービス1530を含むことができる。各ウェブ・サービス1530は、次のメタデータを提供することにより、ウェブ・サービス・レジストリ(WSR)1524に登録することができる。
1. ウェブ・サービスの名前
2. ウェブ・サービスのカテゴリ
3. ウェブ・サービスの端点
4. ウェブ・サービスの動作
5. ウェブ・サービスの説明
6. 入力及び出力フィールドの名前
7. 入力及び出力フィールドのタイプ
8. 入力フィールドのデフォルト値(適用可能な場合)
9. 第1のウェブ・サービスのキーワード
10.フィールドをクライアント装置上のユーザへの表示すべきか否かを識別するフラグ
11.出力変換のためのXSLスタイル・シート(適用可能な場合)
12.高速パス・コマンド解析用のテンプレート
13.第1のウェブ・サービスのセキュリティ要件
【0059】
もし、ウェブ・サービスがUDDIエントリを有していれば、前記の項目1〜8は、UDDIレジストリ1540からも獲得することができる。ウェブ・サービス・レジストリ(WSR)1524は、UDDIエントリから、要求/応答メッセージのフォーマット、サービス・アドレス等の情報を獲得するであろう。高速パス解析用のテンプレートは、正規表現として実装することができる。
【0060】
また、ウェブ・サービス・ディスパッチャ(WSD)1523は、クライアント1511から要求を受信した後に、ウェブ・サービスを呼び出すことに責任を負う。ウェブ・サービスを呼び出す前に、事前プロセスを適用して任意の隠し入力フィールドを追加することができる。応答をウェブ・サービスから受信した後、ウェブ・サービス・ディスパッチャ(WSD)1523を用いて、この応答をクライアントによって受理可能な形式に変換し、次に、クライアント1511に戻すことができる。
【0061】
他の実施形態の例として、クライアント1511は、GMWSM 1520にログインする。ユーザは、そのクライアント装置においてGMWSCアプリケーション1511を開始する。ユーザは、そのクレデンシャル(ID及びパスワード)を提供する(かかるクレデンシャルは、これがクライアント・ソフトウェアによって自動的に提供されるように、クライアントにおいて保存することができる)。クライアントは、ユーザの事前に定義したプロファイルを用いて、GMWSM 1520からウェブ・サービス1531〜1534のリストを要求する。クライアントは、GMWSMからウェブ・サービスのリスト及びメタデータを受信する。クライアント1511は、受信されたメタデータを使用して、GMWSM 1520との間の通信を形成するとともに、GUI構造を提供する。好ましくは、ユーザは、特定のウェブ・サービスを選択することによって、ウェブ・サービスにアクセスするための多くの通信手段のうちの1つ(例えば、音声、高速パス(所定の構文則テキスト)又は自然言語)を選択することができる。
【0062】
ユーザは、GMWSM 1520との通信のために、音声入力又は特定のウェブ・サービスを選択することができる。音声入力の場合には、クライアントは、音声転写コンポーネントを呼び出し、オプションとして、その音声呼び出しのテキスト・バージョンを受信する(これに代えて、ユーザは、テキスト応答の音声バージョンを受信することができる)。また、ユーザは、その応答テキストに照らして、彼のオリジナルの構文に対する調節を行うことができる。システムは、その選択されたウェブ・サービスのための音声入力インタフェースを生成する。クライアントは、ウェブ・サービス・ディスパッチャ(WSD)1523にユーザ入力を送信する。その後、クライアントは、応答を受信し、GUI表示又は音声出力を生成する。また、図8及び図9を参照して説明したフローと同様に、第1のウェブ・サービスからの戻り情報は、第2のウェブ・サービスへの入力として使用することができる。
【0063】
オプションとして、ユーザは、特定のウェブ・サービス1531を選択する。システムは、そのウェブ・サービスのための入力インタフェースを生成する。クライアントは、ユーザが提供する入力を使用して、XML入力を生成するとともに、XML入力についてウェブ・サービス・ディスパッチャ(WSD)1523を呼び出す。その後、クライアントは、応答を受信し、GUI表示を生成する。図8及び図9を参照して説明したフローと同様に、第1のウェブ・サービスからの戻り情報は、第2のウェブ・サービスへの入力として使用することができる。
【0064】
本発明の能力は、ソフトウェア、ファームウェア、ハードウェア又はその特定の組み合わせの形態で実装することができる。
【0065】
1例として、本発明の1つ以上の側面は、例えば、コンピュータ使用可能な媒体を有する製品(例えば、1つ以上のコンピュータ・プログラム製品)に含めることができる。かかる媒体の内部には、例えば、本発明の能力を提供し且つ支援するためのコンピュータ読み取り可能なプログラム・コード手段が具体化される。かかる製品は、コンピュータ・システムの一部として含まれるか、又は別個に販売することができる。
【0066】
また、本発明の能力を遂行するようにコンピュータによって実行可能な命令の少なくとも1つのプログラムを有形的に具体化する、コンピュータによって読み取り可能な少なくとも1つのプログラム記憶装置を提供することができる。
【0067】
添付の図面を参照して本明細書で説明したステップ(又は動作)は、単なる例であるに過ぎない。本発明の精神から逸脱することなく、これらのステップ(又は動作)に対し種々の変形を施すことができる。例えば、これらのステップを異なる順序で実行することができ、或いは特定のステップの追加、削除又は修正を行うことができる。これらの全ての変形は、本発明の一部であると考えられる。
【0068】
前述の説明は、本発明の推奨実施形態に向けられているが、本発明が本明細書に開示した構成それ自体に限定されないことは明らかである。本発明の範囲は、請求項の記載に基づいて決定されるべきものである。
【図面の簡単な説明】
【0069】
【図1】従来技術に従ったコンピュータ・システムの諸要素を示す図である。
【図2】従来技術に従ったコンピュータ・ネットワークの諸要素を示す図である。
【図3】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図4】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図5】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図6】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図7】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図8】本発明の実施形態に従った連続的アクションのフローを示す図である。
【図9】本発明の実施形態に従った連続的アクションのフローを示す図である。
【図10】GMWSM(汎用モバイル・ウェブ・サービス・マネージャ)上で構成されるXMLメタデータを示す図である。
【図11】GMWSM上で構成されるXMLメタデータを示す図である。
【図12】GMWSM上で構成されるXMLメタデータを示す図である。
【図13】モバイル・クライアントに供給されるXMLメタデータを示す図である。
【図14】モバイル・クライアントに供給されるXMLメタデータを示す図である。
【図15】クライアントからGMWSMに送信される「Customer Information」の要求を示す図である。
【図16】GMWSMからクライアントに送信される「Customer Information」の応答を示す図である。
【図17】クライアントからGMWSMに送信される「Account Rep」の要求を示す図である。
【図18】GMWSMからクライアントに送信される「Account Rep」の応答を示す図である。
【図19】ウェブ・サービス・コンピュータ・ネットワークの諸要素を示す図である。
【技術分野】
【0001】
本発明はウェブ・サービスに係り、さらに詳細に説明すれば、パーベイシブ装置のためにウェブ・サービスへの効率的なクライアント・アクセスを提供することに係る。
【背景技術】
【0002】
パーベイシブ装置が普及し且つ無線通信の帯域幅が増加するにつれて、ユーザは、PCなしで旅行する間に指先を使ってより多くのサービスにアクセスすることを望んでいる。例えば、巡回販売員は、会社目録の検索、顧客の注文状況のチェック、顧客のアドレスの検索等のサービスを必要とすることがある。
【0003】
ウェブ・サービスは、URIによって識別されるソフトウェア・システムであり、そのパブリック・インタフェース及びバインディングはXMLを使用して定義及び記述される。その定義は、他のソフトウェア・システムによって見つけることができる。その後、これらのシステムは、インターネット・プロトコルによって伝えられるXMLに基づくメッセージを使用して、その定義によって規定されたやり方でウェブ・サービスと対話することができる。
【0004】
伝統的に、開発者は、ウェブ・サービスへのアクセスを可能にするためのプログラムを書かなければならなかった。非開発者にとっては、彼らがアクセスする必要のある各ウェブ・サービス用のプログラムを見つけるのは非常に難しい。さらに、各ウェブ用のプログラムを独自に書くようにすると、相当な開発及びサポート用のコストを負担しなければならない。特に、パーベイシブ装置のユーザにとって、構成可能で且つ継続的な態様で多数のウェブ・サービスを利用する効率的な方法は存在しない。
【0005】
「DYNAMIC EXTENSIBLE LIGHTWEIGHT ACCESS TO WEB SERVICES FORPERVASIVE DEVICES」と題する、米国特許出願公開第2006/0190580号(2005年2月23日出願)は、モバイル・クライアントに対しウェブ・サービスへのアクセスを提供する汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)を開示する。GMWSMは、ウェブ・サービスとモバイル・クライアント(例えば、携帯用PDA)の間のインタフェースを提供する。GMWSMは、サポートされるウェブ・サービスのレジストリを保持するとともに、ウェブ・サービス及びモバイル・クライアントに関するメタデータ属性をも保持する。GMWSMに利用可能な属性に基づいて、GMWSMを介して、情報がクライアントと登録されたウェブ・サービスの間で転送される。
【0006】
「SYSTEM, METHODS, AND ARTICLES OF MANUFACTURE FORDYNAMICALLY PROVIDING WEB SERVICES」と題する、米国特許出願公開第2005/0015491号(2003年5月16日出願)は、分散型システムにおいてウェブ・サービスを動的に提供することを開示する。1つの実施形態では、配信サーバは、汎用インタフェースを使用して、クライアント・システムにおけるユーザ要求に基づき、複数のウェブ・サービスのうちの任意の1つを呼び出す。配信サーバが、コンテンツ情報を提供するのに対し、クライアント・システムは、コンテンツ情報を使用して許可されたユーザ用のカスタマイズされたウェブ・ページを表示する。ユーザが、ウェブ・サービスに関連するカスタマイズされたウェブ・ページ上のコンテンツを選択する場合、クライアントのシステムは、1つ以上の隠しフィールドにデータ値をセットし且つ当該フィールドを配信サーバに供給する。配信サーバは、結果データを生成するように、フィールド情報を選択されたウェブ・サービスに渡す。配信サーバは、結果データ及び収集したフォーマット・データを使用することにより、許可されたユーザ用のカスタマイズされたウェブ・ページを生成するために使用されるコンテンツ情報を生成することができる。この発明は、ウェブ・サービスの如何なる消費者も再プログラムする必要なしに、分散システムがウェブ・サービスを修正することを可能にする。また、配信サーバを適切に構成することにより、ユーザがアクセス可能な任意のウェブ・サービスを動的に且つ自動的に決定するとともに、汎用インタフェースを通して許可されたウェブ・サービスへのアクセスを提供することができる。
【0007】
「MOBILE WEB SERVICES」と題する、米国特許出願公開第2002/0174117号(2001年5月15出願)は、携帯電話又は無線PDAが、UDDI(Universal Description, Discovery andIntegration)にアクセスすることにより、インターネット・ビジネス及びサービスを見つけるための方法を開示する。この方法は、無線装置のユーザが、UDDIレジストリへの照会を形成することを容易にする。この方法は、ユーザのUDDI検索戦略及びインターネット・アクセス優先順位に関する、個人用のユーザ・プロファイルを構築する。ユーザ・プロファイルは、UDDIレジストリへのオンライン又はオフライン照会のためのショートカットとして、或いは無線装置へのユーザの短縮入力に応答して、ウェブ・サイトからページをアクセスするためのショートカットとして、これを使用することができる。この方法は、UDDIレジストリに問い合わせるためにユーザの無線装置内で実行可能なプログラム命令として具体化される。代替的に、この方法は、ユーザの無線装置からのコマンドに応答してUDDIレジストリに問い合わせるために、別個の知識エンジン・サーバ内で実行可能なプログラム命令として具体化される。サーバは、ユーザの無線装置に選択的に転送するために、ウェブ・サイトからアクセスされたファイルをキャッシュするために使用することができる。
【0008】
「SYSTEMS, APPARATUS, AND METHOD FOR PROVIDING WEB SAERVICESON MOBILE DEVICES」と題する、米国特許出願公開第2005/0071423号(2003年9月26日出願)は、モバイル装置からウェブ・サービスを提供する。1つの構成は、第1のネットワーク・エンティティにおいてウェブ・サービス・メッセージを形成することを含む。ウェブ・サービス・メッセージは、モバイル端末を目標とする。ウェブ・サービス・メッセージを処理するのを支援するため、要求がロケータ機構に向けられる。ウェブ・サービス・メッセージは、ロケータ機構を利用して、モバイル端末へ送信される。ウェブ・サービス・メッセージは、モバイル・サービス・トランスポート・プロトコルを使用して、モバイル端末へ送信され、そこで処理される。
【0009】
ブラウザは、ウェブ・サービスを直接アクセスするための手段を提供しない。アクセスすべき各ウェブ・サービスごとに、カスタマイズされたウェブ・ページ及びプログラムを開発しなければならない。このことは、開発及びサポートにおける相当なコストに帰着する。さらに、ウェブ・ページからウェブ・サービスをアクセスするためにブラウザを使用すると、ブラウザがウェブ・サービスにアクセスする前に、カスタマイズされたウェブ・ページ及びプログラムをダウンロードしなければならず、その結果、余分なネットワークRTT(ラウンド・トリップ時間)を要する。パーベイシブ装置に対する通信帯域幅の制限が存在するために、余分なRTTは、システムの性能に望ましくない影響を及ぼす。
【0010】
他のアプローチは、各ウェブ・サービスごとにそのサービスと対話する、カスタマイズされたクライアント・アプリケーションを作成することである。このアプローチの欠点は、サービスが増加するとともに、アプリケーションの数が増えすぎて、装置のメモリ/記憶域の限界よりも大きくなるということである。各アプリケーションを開発し、サポートし、購入するための総コストは相当なものである。
【0011】
SOA(サービス指向アーキテクチャ)は、ソフトウェア・ユーザの要件をサポートするためにサービスの使用を定義する、ソフトウェア・アーキテクチャの設計手法を提供する。SOA環境では、ネットワーク上の資源は、それらのプラットフォーム実装についての知識なしでアクセス可能な、独立のサービスとして利用可能になる。一般に、SOAは、産業界の広汎な承認を獲得したウェブ・サービスの標準(例えば、SOAP又はRESTを使用すること)に基づいている。これらの標準は、より大きな相互運用性を提供するだけでなく、所有権を主張できるベンダ・ソフトウェアに束縛されるという問題からある程度の保護を提供する。本発明は、パーベイシブ(モバイル)装置上でSOAを使用可能にすることを意図する。本発明は、単純な構成を通して、統合及び継続的なウェブ・サービスの呼び出しを可能にする。
【0012】
種々のベンダによって、パーベイシブ装置からのウェブ・サービス・アクセスを可能にするための解決方法が提案されている。例えば、RESEARCH IN MOTION 社から提供される「BlackBerry(商標)MobileData System v.4.1」は、生成済みのウェブ・サービス・クライアントをモバイル装置にプッシュすることにより、ユーザがこのクライアントを使用して対応するウェブ・サービスにアクセスすることを可能にする。IBM社の「Web Services Tool Kit」は、小さなモバイル装置、ゲートウェイ・デバイス及びインテリジェント・コントローラ上でウェブ・サービスを使用するようなアプリケーションの開発を可能にする、「ツール及びランタイム環境」を提供する。
【0013】
【特許文献1】米国特許出願公開第2006/0190580号(2005年2月23日出願)
【特許文献2】米国特許出願公開第2005/0015491号(2003年5月16日出願)
【特許文献3】米国特許出願公開第2002/0174117号(2001年5月15出願)
【特許文献4】米国特許出願公開第2005/0071423号(2003年9月26日出願)
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかし、既存のツール又は製品は、クライアント/装置が、以前のウェブ・サービス・アクセスから戻された結果を使用して、他のウェブ・サービスを呼び出すための機構を提供しない。
【課題を解決するための手段】
【0015】
本発明は、サービス及びパーベイシブ装置上で実行中のクライアントに提供されるサービスの呼び出しの関係と関係する、関連するメタデータを備えたサービスのリストを提供する。その後、パーベイシブ装置上で実行中のクライアントは、第1のウェブ・サービスを呼び出し、第1のウェブ・サービスの結果を獲得し、第1のウェブ・サービスから受信した情報の文脈内で、第2のウェブ・サービスを呼び出すことができる。同様に、第2のウェブ・サービスの結果がクライアントに戻る場合、クライアントは、第2のウェブ・サービスから戻された情報の文脈内で、第3のウェブ・サービスを呼び出すことができる。本明細書に開示する本発明の概念に従った変形例には、単一のウェブ・サービスからの結果に応じて複数のウェブ・サービスにアクセスすることが含まれる。
【0016】
本発明の1つの側面に従って、呼び出し順序は、これをサーバ側で動的に構成した後、クライアントに供給することができる。パーベイシブ装置上で実行中のクライアントを変更する必要はない。
【0017】
従って、本発明の目的は、ウェブ・サービスにアクセスするためのコンピュータ実装能力を提供することである。この能力は、複数のウェブ・サービスの相互依存型リスト(interdependent list)を有するクライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含む。相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものである。前記リスト情報に従い、前記選択ステップに応答して、第1のウェブ・サービス要求が、前記クライアント・コンピュータから前記第1のウェブ・サービスに送信される。当該送信ステップに応答して、前記第1のウェブ・サービスからの第1の情報が、前記クライアント・コンピュータにおいて受信される。ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスが選択される。前記リスト情報に従い、前記受信された第1の情報が、前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するために利用される。前記形成された第2のウェブ・サービス要求は、前記クライアント・コンピュータから前記第2のウェブ・サービスに送信される。最後に、当該送信ステップに応答して、前記第2のウェブ・サービスからの第2の情報が、前記クライアント・コンピュータにおいて受信される。
【0018】
本発明の他の目的は、前記リスト情報に従い、ユーザ入力に応答して、前記相互依存型リストから第3のウェブ・サービスを選択するステップを含む。前記リスト情報に従い、前記受信された第2の情報又は前記受信された第1の情報のうちの1つが、第3のウェブ・サービス要求を形成するために利用される。当該形成された第3のウェブ・サービス要求は、前記クライアント・コンピュータから前記第3のウェブ・サービスに送信される。当該送信ステップに応答して、前記第3のウェブ・サービスからの第3の情報が、前記クライアント・コンピュータにおいて受信される。
【0019】
本発明の他の目的は、1つ以上の追加のウェブ・サービス要求を送信することである。
【0020】
本発明の他の目的は、前記クライアント・コンピュータにおいて、前記リスト情報を受信することである。前記相互依存型リストは、メタデータを含み、前記リスト情報は、構成可能な相互依存型リスト及びこれに関連するメタデータからGMWSMサーバによって構成される。前記相互依存型リストに従った構成に基づいて、前記複数のウェブ・サービスのうち1つ以上の表現が、ユーザに表示される。前記第1のウェブ・サービス要求又は前記第2のウェブ・サービス要求のうちの任意の1つを形成するときに、前記相互依存型リストの前記受信されたメタデータが使用される。また、ボタン又はメニューのうちの任意の1つを含むクライアント・グラフィカル・ユーザ・インタフェースであって、前記第1のウェブ・サービスの結果の表示から前記第2のウェブ・サービスの入力の表示にナビゲートする能力を含むクライアント・グラフィカル・ユーザ・インタフェースを作成するときに、前記相互依存型リストの前記受信されたメタデータが利用される。
【0021】
本発明の他の側面では、前記クライアント・コンピュータが、前記第1のウェブ・サービス要求を汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)に送信し、前記クライアント・コンピュータが、前記第2のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記GMWSMから前記相互依存型リスト及びこれに関連するメタデータを受信し、前記クライアント・コンピュータが、前記GMWSMから前記第1の情報を受信し、前記GMWSMが、前記クライアント・コンピュータを代表してウェブ・サービスと通信する。
【0022】
本発明の他の目的は、前記クライアント・コンピュータにおいて、XMLステートメントから成る前記相互依存型リスト及びこれに関連する前記メタデータを提供することである。
【0023】
本発明の他の目的は、前記クライアント・コンピュータが、前記リスト情報に従って、ユーザに対し、ウェブ・サービスの選択候補を示すプロンプト表示を前記ユーザに提示することである。前記クライアント・コンピュータは、前記リスト情報に従って、前記ユーザが行った前記選択の結果を前記ユーザに提示する。前記ユーザへの提示のために使用されるインタフェースは、GUI、音声、キーパッド、マウス又は機械的な動作のうちの任意の1つから成る。
【0024】
本発明の他の目的は、前記第1のウェブ・サービス要求、前記受信された第1の情報及び前記第2のウェブ・サービス要求の各々を、XMLステートメントの形態で提供することである。
【発明を実施するための最良の形態】
【0025】
技術の定常的な進歩に起因して、モバイル・コンピュータは、携帯情報端末(PDA)、車載装置、ビジネス・オルガナイザ等の、パームトップ又は携帯用装置として利用可能になってきた。また、多くの人は、携帯電話を利用して、インターネットにアクセスしたり、他の種々の計算機能を行うようになってきた。パームトップ、PDA及び携帯電話等を含む、ポータブル計算装置は、「パーベイシブ」又は「モバイル」計算装置と総称されることが多い。
【0026】
図1は、本発明を実施することができる、代表的なワークステーション(又はパーソナル・コンピュータ若しくはサーバ)のハードウェア・システム100を示す。図1のシステム100は、ワークステーション101を含み、当該ワークステーション101は、オプションの周辺装置を含む。ワークステーション101は、1つ以上のプロセッサ106と、当該プロセッサ106及びワークステーション101の他のコンポーネントを接続し且つこれらの間の通信を可能にするために使用されるバスを含む。このバスは、プロセッサ106をメモリ105及び永続記憶装置107に接続する。永続記憶装置107は、ハードディスク・ドライブ、ディスケット・ドライブ又はテープ・ドライブを含むことができる。また、ワークステーション101は、プロセッサ106をバスを介してキーボード104、マウス103、プリンタ/スキャナ110等に接続するための、ユーザ・インタフェース・アダプタを含むことができる。さらに、バスは、表示装置102を表示アダプタを介してプロセッサ106に接続する。
【0027】
ワークステーション101は、ネットワーク109と通信することができるネットワーク・アダプタを介して、他のコンピュータ又はコンピュータ・ネットワークと通信することができる。ネットワーク・アダプタの例には、通信チャネル、トークン・リング、イーサネット(登録商標)又はモデムがある。代替的に、ワークステーション101は、CDPD(Cellular Digital Packet Data)カードのような無線インタフェースを使用して通信することができる。ワークステーション101は、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)を介して他のコンピュータに関連づけることができる。或いは、ワークステーション101は、他のコンピュータを備えたクライアント/サーバ構成内のクライアントとして位置づけることができる。これらの全ての構成、並びに適切な通信ハードウェア及びソフトウェアは、当分野において公知である。
【0028】
図2は、本発明を実施することができる、データ処理ネットワーク200を示す。データ処理ネットワーク200は、無線ネットワーク及び有線ネットワークのような複数の個別ネットワークを含み、その各々は、複数の個別ワークステーション101を含むことができる。また、当業者には明らかなように、1つ以上のLANを含めることができ、その場合には、各LANを使用して、複数の知的ワークステーションをホスト・プロセッサに結合することができる。
【0029】
また、図2のネットワークは、ゲートウェイ(クライアント・サーバ206)又はアプリケーション・サーバ(データ・リポジトリをアクセスすることができる遠隔サーバ208)のような、メインフレーム・コンピュータ又はサーバを含むことができる。ゲートウェイ206は、各ネットワーク207への入口として作用する。ゲートウェイが必要となるのは、或るネットワーキング・プロトコルを他のネットワーキング・プロトコルに接続する場合である。好ましくは、ゲートウェイ206は、通信リンクを介して、他のネットワーク(例えば、インターネット207)に結合される。また、ゲートウェイ206は、通信リンクを使用して、1つ以上のワークステーション101に直接的に結合することができる。ゲートウェイ106は、IBM社から入手可能な「IBM eServer zSeries(登録商標)900」サーバを利用して実装することができる。
【0030】
一般に、本発明を具体化するコンピュータ・プログラム111(図1)は、CD−ROMドライブ又はハードディスク・ドライブのような永続記憶装置107からワークステーション101のプロセッサ106によってアクセスされる。コンピュータ・プログラム111は、データ処理システムによって使用するための、ディスケット、ハード・ディスク又はCD−ROMのような種々の媒体上に記録することができる。コンピュータ・プログラム111は、かかる媒体上に記録した形態で配布したり、或いは1つのコンピュータ・システムのメモリ又は記憶装置からネットワークを介して他のコンピュータ・システムに配布することができる。
【0031】
代替的に、コンピュータ・プログラム111は、プロセッサ106がプロセッサ・バスを使用してアクセスできるように、メモリ105内に記録することができる。コンピュータ・プログラム111は、種々のコンピュータ・コンポーネントの機能及び相互作用を制御するオペレーティング・システムと、1つ以上のアプリケーションとを含む。一般に、コンピュータ・プログラムは、永続記憶装置107から高速メモリ105にページされると、そこでプロセッサ106による処理のために利用可能となる。コンピュータ・プログラムをメモリ内又は物理媒体上に記録したり、ネットワークを介して配布するための技術及び方法は、当分野では周知であるから、それ以上の説明は省略する。
【0032】
推奨実施形態では、本発明は、1つ以上のコンピュータ・プログラム111として実装される。本発明に従ったコンピュータ・プログラム111は、要求時に呼び出される1つ以上のモジュール又はアプリケーション111(「コード・サブルーチン」又はオブジェクト指向プログラミングの「オブジェクト」と呼ばれるもの)として、ユーザのワークステーション上で稼働することができる。代替的に、コンピュータ・プログラム111は、ネットワーク内のサーバ上で稼働するか、又はコンピュータ・プログラム111を実行することができる任意の装置内で稼働することができる。本発明を実装する論理は、本明細書に開示した本発明の概念から逸脱することなく、アプリケーションのコード内に統合されるか、又は当該アプリケーションによって呼び出される1つ以上の別個のユーティリィティ・モジュールとして実装することができる。アプリケーション111はウェブ環境内で実行することができ、そのような環境では、ウェブ・サーバは、インターネットを通して接続されるクライアントからの要求に応答してサービスを提供する。他の実施形態では、アプリケーションは、企業のイントラネット若しくはエクストラネット、又は他のネットワーク環境内で実行することができる。かかる環境のための構成は、クライアント/サーバ・ネットワーク、ピアツーピア・ネットワーク(クライアントが、クライアント及びサーバ機能の両方を行うことにより、直接的に対話するもの)、並びに多層環境を含む。これらの環境及び構成は、当分野において周知である。
【0033】
本発明は、サーバ・アプリケーションを介して、ウェブ・サービスをモバイル・クライアント装置に提供する。このサーバ・アプリケーションは、クライアント装置からのキーワードを解釈して、これを所望のウェブ・サービスと互換性のある形式に変換する。従って、サーバ・アプリケーションがインタフェースを管理するので、クライアント装置は、ウェブ・サービスに関する最小限のソフトウェア知識を必要とするに過ぎない。好ましくは、このサーバ・アプリケーションは、サポートされるウェブ・サービスのリスト(レジストリ)を有し、このリストをクライアント装置に供給することができる。推奨実施形態では、クライアント装置からの種々の通信形式がサポートされる。例えば、テキスト又は音声がサポートされる場合、サーバ・アプリケーションは、音声をテキストに変換するか、又はテキストを音声に変換するための変換手段を提供する。
【0034】
図19を参照するに、モバイル・クライアント装置1510と通信関係にある汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)のサーバ・アプリケーション1520は、XMLメタデータをクライアント装置1510にダウンロードする。クライアント装置1510は、このメタデータを使用して、プロンプト表示を提示するとともに、ウェブ・サービス1531〜1534に対するウェブ・サービス要求メッセージを形成する。これらのウェブ・サービス要求メッセージがサーバ1520に送信されると、サーバ1520は、クライアント1511を代表して、ネットワーク1500を介してこれらのウェブ・サービス要求を行う。また、GMWSM 1520は、XMLメタデータを利用して、クライアント1511と授受されるメッセージの形成及び処理を行う。
【0035】
ここで、図3を参照すると、ユーザは、そのモバイル(クライアント)装置上のGUIプロンプト表示301を提示される。GUIプロンプト表示301は、好ましくは、1つ以上のトピック302及びサービス303〜306のリストを含む。GUIプロンプト表示301は、オプションとして、ウィジェット、番号付け、プルダウン・メニュー等を使用して、トピック及びサービスを提示する。この例では、GUIプロンプト表示301は、「Services(サービス)」というトピックを提示し、ユーザは、キーパッド、カーソル、タッチ・スクリーン又は音声動作等を使用して、GUIプロンプト表示301上の1つの項目(サービス)を選択する。この場合、ユーザは、GUIプロンプト表示301上の「Customer Information(顧客情報)」サービス303を選択する。GUIプロンプト表示301は、選択された「Customer Information」サービス303を下線で強調表示するように更新される。
【0036】
このユーザの選択(及びクライアントのメタデータ)に基づいて、ユーザのモバイル装置は、「Customer Information」403というトピックと、「CustomerName(顧客名)」404及び「Customer ID(顧客ID)」405という項目のリストとを有する、新しいGUIプロンプト表示401(図4)にナビゲートする。ユーザは、適切な項目内に情報を記入する(この例では、ユーザは、項目「Customer Name」404内に「Acme」を記入する)。ユーザは、クライアントが提供した「Invoke(呼び出し)」ボタン402を選択することにより、ウェブ・サービスを呼び出す。GUIプロンプト表示401は、「Invoke」ボタン402の選択を下線で強調表示するように更新される。「Invoke」ボタン402の選択に応答して、クライアントは、「Acme」メタデータを含むウェブ・サービス要求を、GMWSMサーバを介して、「Customer Information」ウェブ・サービスに送信する。
【0037】
呼び出されたウェブ・サービスの応答がモバイル装置によって受信される場合、クライアントは、この情報をモバイル装置のプロンプト表示501(図5)に提示する。このプロンプト表示501は、トピック「Customer Information」504、並びにこのトピックに関係する項目505〜510を含む結果と、以前に呼び出され且つナビゲーション項目「Account Rep(アカウント担当者)」502及び「Purchase History(購入履歴)」503として提示されたウェブ・サービスに依存する機能とを含む。次に、ユーザは、「Customer ID: 001」506を選択することにより、他のプロンプト表示にナビゲートすることができる。「Customer ID: 001」506が強調表示された後、適切なナビゲーション項目「Account Rep」502を選択する。このナビゲーション項目502を選択することにより、メタデータ「ID: 001」506を含む「Account Rep」ウェブ・サービス要求が呼び出される。
【0038】
「Account Rep」ウェブ・サービス要求は、GMWSMサーバを介して、クライアントに情報を戻し、クライアントは、新しいモバイル装置のプロンプト表示「Account Rep」601(図6)にナビゲートする。プロンプト表示601は、ナビゲーション項目602及び603、新しいトピック604、「Account Rep」ウェブ・サービスから抽出された情報を含む新しい項目605〜612を提示する。ユーザは、「Email:jssmith@acme.com」という項目606及び「EmployeeInformation(従業員情報)」というメニュー項目を選択する。このアクションは、メタデータ「Email:jsmith@acme.com」606を「EmployeeInformation」ウェブ・サービスに送信する。
【0039】
このウェブ・サービスからの応答は、クライアントのプロンプト表示を新しいプロンプト表示701(図7)にナビゲートさせる。 新しいプロンプト表示701は、「Employee Information」703というトピックと、項目704〜712のリストとを含む。
【0040】
図8及び図9は、前述の実施形態のフローを示す。図8を参照するに、モバイル・クライアント801は、GMWSMサーバ802からXMLサービスを受信する。このXMLサービスは、サービスのリスト及び当該サービスのリストをサポートするXMLメタデータを含む。サービスのリストは、ユーザ800に対するプロンプト表示として提示される(804)。ユーザ800は、「Customer Information(顧客情報)」サービスを選択し(805a)、このサービスのためのプロンプト表示を提示される(805b)。ユーザ800は、「Customer Information」の「Acme」を入力し、「Invoke(呼び出し)」ボタンを選択する。その結果、クライアント801は、GMWSMサーバ802を介して、「Customer Information」ウェブ・サービス810からの情報を要求する(808)。GMWSMサーバ802は、「Customer Information」ウェブ・サービス810からの顧客情報をクライアント801に戻し(809)、この顧客情報は、ユーザ800に対するプロンプト表示内で提示される(807)。
【0041】
次に、図9を参照するに、ユーザは、プロンプト表示においてID=「001」の項目を選択し(811)、「Account Rep」ウェブ・サービスを選択した後(812)、クライアント801及びGMWSMサーバ804を介して、「Account Rep」ウェブ・サービス821からの情報を要求する(817)。GMWSMサーバ804は、「Account Rep」ウェブ・サービス821からの情報をクライアント801に戻し(818)、クライアント801は、ユーザ800に対する「Account Rep」ウェブ・サービスのプロンプト表示を作成する(813)。次に、ユーザ800は、このプロンプト表示内の電子メール項目を選択し、クライアント801に対する「Employee Information」サービス要求を開始する(815)。クライアント801は、ユーザ要求からのメタデータを組込み、GMWSMサーバ804を介して、「Employee Information」ウェブ・サイト822からの情報を要求する(819)。GMWSMサーバ804は、「Employee Information」ウェブ・サービスからの従業員情報をクライアント801に戻し(820)、クライアント801は、この従業員情報をユーザに提示する(816)。好ましくは、GMWSMサーバ804は、クライアントを代表して、要求及び応答に関する機能を行う。かかる機能は、データのフォーマットを行うこと、GUIのフォーマットを行うこと、テキストと音声又は画像の間の情報変換を行うこと、単一のクライアント要求に応答して多数のウェブ・サービスを呼び出すこと、プロトコルの変換を行うこと等を含む。
【0042】
好ましくは、サービス及びサービスの関係に関するメタデータ(図10〜図12)は、動的に構成可能なサーバ上に維持され、クライアントには、このメタデータのサブセット(図13及び図14)が供給される。
【0043】
図10〜図12は、図13及び図14の対応するクライアント・メタデータを有する、本発明に従ったサーバ・メタデータの例を示す。XMLメタデータ内の「サービス」要素として構成される、5つのウェブ・サービスがある。これらのウェブ・サービスは、「Customer Information(顧客情報)」2、「EmployeeInformation(従業員情報)」14、「Account Rep(アカウント担当者)」22、「Sales Report(販売報告)」35及び「Purchase History(購入履歴)」43である。これらのウェブ・サービスの各々は、当該各ウェブ・サービスを一意に識別するための「id」属性3、15、23、36及び43を有する。「url」属性4、16、24、37及び45と、「urn」属性5、17、25、38及び46と、「method(メソッド)」属性6、18、26、39及び47は、ウェブ・サービスを見つけて呼び出すために使用される。「service」内の「list」属性7、19、27、40及び48は、サービスが図3に示すようなサービスの最初のリスト・ビュー内に表示されるか否かを表す。全てのサービスは、ユーザにとってこれらのサービスを最も効率的に使用する方法は何かということに依存して、最初のリスト・ビュー内で可視又は不可視の何れかとなるように構成することができる。「param(パラメータ)」要素8、9、20、28、41、49及び50は、クライアント・モバイル装置上のUIコンポーネントを定義するために使用される。
【0044】
呼び出し順序は、「service」要素内に「menu(メニュー)」10、11、18、29及び31を追加することにより構成される。「action(アクション)」属性12、30及び32は、XMLで定義されるウェブ・サービスのidを表す。例えば、「Customer Information」サービスは、2つのメニューとして、「Account Rep」10及び「Purchase History」11を有する。このようにして、「Customer Information」ウェブ・サービスの結果が戻された後、「Account Rep」及び「Purchase History」ウェブ・サービスがユーザに利用可能となる。「input(入力)」属性10及び11は、コンマで区切られた属性名のリストを含む。これは、第1のウェブ・サービスから戻されるどの部分が、第2のウェブ・サービス要求で使用されるかを定義する。クライアントは、対応する「input」フィールドを取り、これをGMWSMへの要求に含めて送信する。「menu」要素10及び11内の「pipe(パイプ)」属性は、第2のウェブ・サービスへ渡すべき(順序を含む)引き数を定義するために使用される。例えば、「$0、$1」は、第1のウェブ・サービスの応答からの第1及び第2の「input」属性を、その通りの順序で、次のウェブ・サービス要求へ渡すことを意味する。これに対し、「$1、$0」は、第1のウェブ・サービスの応答からの第1及び第2の「input」属性を、その逆の順序で、次のウェブ・サービス要求へ渡すことを意味する。「Purchase History」11の場合は、顧客「ID」としての「001」である「$0」と、「history」のための5が、第2のウェブ・サービスに渡される。「パイピング」はGMWSM側でだけ生ずるので、「pipe」はクライアントには供給されない。
【0045】
図13及び図14は、モバイル・クライアントに供給されるXMLメタデータの例を示す。この例から分かるように、XMLのクライアント・バージョンは、汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)のサーバ・バージョンとは異なる。すなわち、クライアントXMLは、「url」属性4、16、24、37及び45と、「urn」属性5、17、25、38及び46と、「method」属性6、18、26、39及び47を含んでおらず、「menu」ステートメント10、11、12及び18内に「pipe」情報も含んでいないからである。
【0046】
図15は、クライアントからGMWSMに送信される、第1の引き数「Acme」及びヌルの第2の引き数を有する「Customer Information」ウェブ・サービス用のXML要求の例を示す。前述のように、「Acme」は、クライアント・コンピュータにおいてユーザによって提供されたものである。
【0047】
図16は、GMWSMからクライアントに送信される、「Customer Information」ウェブ・サービスのXML応答の例を示す。2つの「Acme」1203及び1208によって表される2人の顧客に関する情報が、異なる「ID」1204及び1209、並びに「Address(住所)」1205及び1210を伴って、戻されている。
【0048】
図17は、クライアントからGMWSMに送信される、「Account Rep」ウェブ・サービス1301のXML要求の例を示す。この要求に含まれる引き数1302は、以前の「Customer Information」ウェブ・サービスから戻された、選択されたID「001」である。
【0049】
図18は、GMWSMからクライアントに送信される、「Account Rep」ウェブ・サービスのXML応答の例を示す。この応答は、2人のアカウント担当者1403及び1409に関する情報として、それぞれの「Email(電子メール・アドレス)」1404及び1410、「Tel(電話番号)」1405及び1411、並びに「Title(肩書き)」1406及び1412を含む。
【0050】
図19を参照するに、本発明の1つの実施形態は、汎用モバイル・ウェブ・サービス・マネージャ(GMWSM)1520と通信関係にあるクライアント装置1510(例えば、モバイル携帯用コンピュータ又はPDA)上で実装される。GMWSM 1520は、ウェブ・サービス1530及びUDDIレジストリ1540に対するネットワーク・アクセス1500を有する。好ましくは、ネットワーク1500はインターネットから成る。通信プロトコルは、SOAP 1501プロトコルである。
【0051】
SOAPインターネット・ドラフト(search.ietf.org/internet-drafts/draft-box-http-soap-01.txt)は、SOAP要求の次の例を提供する。
1. POST /StockQuote HTTP/1.1
2. Host: www.stckquoteserver.com
3. Content-Type:text/xml
4. Content-Length: nnnn
5. SOAPMethodName: Some-Namespace-URI#GetLastTradePrice
6. <SOAP:Envelopexmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
7. <SOAP:Body>
8. <m:GetLastTradePrice xmlns:m="Some-Namespace-URI">
9. <symbol>DIS</symbol>
10. </m:GetLastTradePrice>
11. </SOAP:Body>
12.</SOAP:Envelope>
この要求は、次の2つの部分に分割することができる。
HTTPヘッダ(1行〜5行)
XML−RPCペイロード(6行〜12行、SOAP:Envelope 要素)
【0052】
クライアント装置1510は、好ましくは、MICROSOFT Windows(登録商標)(商標)、MICROSOFTWindows(登録商標) CE、PALM OS(商標)及びBLACKBERRY(商標)のようなオペレーティング・システムを使用する。
【0053】
汎用モバイル・ウェブ・サービス・クライアント(GMWSC)1511は、クライアント装置1510内に常駐する。GMWSC 1511は、GMWSM 1520からウェブサービスのメタデータを獲得し、クライアント装置1510上のユーザのためのユーザ・インタフェースを生成する。また、GMWSC 1511は、ウェブ・サービス要求をGMWSM 1520に送信する。
【0054】
GMWSC 1511は、好ましくは、クライアント装置1510上にインストールされるスタンド・アロンのアプリケーションとしてJava(登録商標)(商標)プログラミング言語で実装され、Java(登録商標)仮想コンピュータであるJVM(商標)を提供する。
【0055】
GMWSM 1520は、好ましくは、4つのコンポーネント、すなわち音声転写サービス1521、高速パス解析サービス1522、ウェブ・サービス・ディスパッチャ(WSD)1523及びウェブ・サービス・レジストリ(WSR)1524を含む。
【0056】
GMWSM 1520は、好ましくは、IBM社のWEBSPHERE(商標)のようなアプリケーション・サーバ内で実行されるサーバ・アプリケーションとしてJava(登録商標)プログラミング言語で実装される。
【0057】
高速パス解析サービス1522は、クライアント1511から受信された高速パス・コマンドを解析し且つこれをXMLフォーマットに変換するために使用される。高速パス・コマンドは半自然言語の文である。これは、ウェブ・サービス用のキーワード及び幾つかの入力属性を有する。多語属性は、引用符で囲まなければならない。キーワード及びコマンド・フォーマットの一方又は両方は、GMWSMの高速パス解析サービス1522には既知である。
【0058】
ウェブ・サービス・レジストリ(WSR)1524は、管理されるモバイル・ウェブ・サービスのメタデータ情報を保持する。利用可能なウェブ・サービスは、1つ以上のウェブ・サービス1530を含むことができる。各ウェブ・サービス1530は、次のメタデータを提供することにより、ウェブ・サービス・レジストリ(WSR)1524に登録することができる。
1. ウェブ・サービスの名前
2. ウェブ・サービスのカテゴリ
3. ウェブ・サービスの端点
4. ウェブ・サービスの動作
5. ウェブ・サービスの説明
6. 入力及び出力フィールドの名前
7. 入力及び出力フィールドのタイプ
8. 入力フィールドのデフォルト値(適用可能な場合)
9. 第1のウェブ・サービスのキーワード
10.フィールドをクライアント装置上のユーザへの表示すべきか否かを識別するフラグ
11.出力変換のためのXSLスタイル・シート(適用可能な場合)
12.高速パス・コマンド解析用のテンプレート
13.第1のウェブ・サービスのセキュリティ要件
【0059】
もし、ウェブ・サービスがUDDIエントリを有していれば、前記の項目1〜8は、UDDIレジストリ1540からも獲得することができる。ウェブ・サービス・レジストリ(WSR)1524は、UDDIエントリから、要求/応答メッセージのフォーマット、サービス・アドレス等の情報を獲得するであろう。高速パス解析用のテンプレートは、正規表現として実装することができる。
【0060】
また、ウェブ・サービス・ディスパッチャ(WSD)1523は、クライアント1511から要求を受信した後に、ウェブ・サービスを呼び出すことに責任を負う。ウェブ・サービスを呼び出す前に、事前プロセスを適用して任意の隠し入力フィールドを追加することができる。応答をウェブ・サービスから受信した後、ウェブ・サービス・ディスパッチャ(WSD)1523を用いて、この応答をクライアントによって受理可能な形式に変換し、次に、クライアント1511に戻すことができる。
【0061】
他の実施形態の例として、クライアント1511は、GMWSM 1520にログインする。ユーザは、そのクライアント装置においてGMWSCアプリケーション1511を開始する。ユーザは、そのクレデンシャル(ID及びパスワード)を提供する(かかるクレデンシャルは、これがクライアント・ソフトウェアによって自動的に提供されるように、クライアントにおいて保存することができる)。クライアントは、ユーザの事前に定義したプロファイルを用いて、GMWSM 1520からウェブ・サービス1531〜1534のリストを要求する。クライアントは、GMWSMからウェブ・サービスのリスト及びメタデータを受信する。クライアント1511は、受信されたメタデータを使用して、GMWSM 1520との間の通信を形成するとともに、GUI構造を提供する。好ましくは、ユーザは、特定のウェブ・サービスを選択することによって、ウェブ・サービスにアクセスするための多くの通信手段のうちの1つ(例えば、音声、高速パス(所定の構文則テキスト)又は自然言語)を選択することができる。
【0062】
ユーザは、GMWSM 1520との通信のために、音声入力又は特定のウェブ・サービスを選択することができる。音声入力の場合には、クライアントは、音声転写コンポーネントを呼び出し、オプションとして、その音声呼び出しのテキスト・バージョンを受信する(これに代えて、ユーザは、テキスト応答の音声バージョンを受信することができる)。また、ユーザは、その応答テキストに照らして、彼のオリジナルの構文に対する調節を行うことができる。システムは、その選択されたウェブ・サービスのための音声入力インタフェースを生成する。クライアントは、ウェブ・サービス・ディスパッチャ(WSD)1523にユーザ入力を送信する。その後、クライアントは、応答を受信し、GUI表示又は音声出力を生成する。また、図8及び図9を参照して説明したフローと同様に、第1のウェブ・サービスからの戻り情報は、第2のウェブ・サービスへの入力として使用することができる。
【0063】
オプションとして、ユーザは、特定のウェブ・サービス1531を選択する。システムは、そのウェブ・サービスのための入力インタフェースを生成する。クライアントは、ユーザが提供する入力を使用して、XML入力を生成するとともに、XML入力についてウェブ・サービス・ディスパッチャ(WSD)1523を呼び出す。その後、クライアントは、応答を受信し、GUI表示を生成する。図8及び図9を参照して説明したフローと同様に、第1のウェブ・サービスからの戻り情報は、第2のウェブ・サービスへの入力として使用することができる。
【0064】
本発明の能力は、ソフトウェア、ファームウェア、ハードウェア又はその特定の組み合わせの形態で実装することができる。
【0065】
1例として、本発明の1つ以上の側面は、例えば、コンピュータ使用可能な媒体を有する製品(例えば、1つ以上のコンピュータ・プログラム製品)に含めることができる。かかる媒体の内部には、例えば、本発明の能力を提供し且つ支援するためのコンピュータ読み取り可能なプログラム・コード手段が具体化される。かかる製品は、コンピュータ・システムの一部として含まれるか、又は別個に販売することができる。
【0066】
また、本発明の能力を遂行するようにコンピュータによって実行可能な命令の少なくとも1つのプログラムを有形的に具体化する、コンピュータによって読み取り可能な少なくとも1つのプログラム記憶装置を提供することができる。
【0067】
添付の図面を参照して本明細書で説明したステップ(又は動作)は、単なる例であるに過ぎない。本発明の精神から逸脱することなく、これらのステップ(又は動作)に対し種々の変形を施すことができる。例えば、これらのステップを異なる順序で実行することができ、或いは特定のステップの追加、削除又は修正を行うことができる。これらの全ての変形は、本発明の一部であると考えられる。
【0068】
前述の説明は、本発明の推奨実施形態に向けられているが、本発明が本明細書に開示した構成それ自体に限定されないことは明らかである。本発明の範囲は、請求項の記載に基づいて決定されるべきものである。
【図面の簡単な説明】
【0069】
【図1】従来技術に従ったコンピュータ・システムの諸要素を示す図である。
【図2】従来技術に従ったコンピュータ・ネットワークの諸要素を示す図である。
【図3】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図4】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図5】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図6】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図7】本発明の実施形態に従った連続的GUI表示の一部を示す図である。
【図8】本発明の実施形態に従った連続的アクションのフローを示す図である。
【図9】本発明の実施形態に従った連続的アクションのフローを示す図である。
【図10】GMWSM(汎用モバイル・ウェブ・サービス・マネージャ)上で構成されるXMLメタデータを示す図である。
【図11】GMWSM上で構成されるXMLメタデータを示す図である。
【図12】GMWSM上で構成されるXMLメタデータを示す図である。
【図13】モバイル・クライアントに供給されるXMLメタデータを示す図である。
【図14】モバイル・クライアントに供給されるXMLメタデータを示す図である。
【図15】クライアントからGMWSMに送信される「Customer Information」の要求を示す図である。
【図16】GMWSMからクライアントに送信される「Customer Information」の応答を示す図である。
【図17】クライアントからGMWSMに送信される「Account Rep」の要求を示す図である。
【図18】GMWSMからクライアントに送信される「Account Rep」の応答を示す図である。
【図19】ウェブ・サービス・コンピュータ・ネットワークの諸要素を示す図である。
【特許請求の範囲】
【請求項1】
汎用モバイル・ウェブ・サービス・マネージャ(以下「GMWSM」と略記)を介してクライアントにウェブ・サービスを提供するための方法であって、
(a)ウェブ・サービスの相互依存型リストを有するクライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含み、
前記相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち前記第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものであり、
(b)前記リスト情報に従い、前記選択するステップ(a)に応答して、第1のウェブ・サービス要求を前記クライアント・コンピュータから前記第1のウェブ・サービスに送信するステップと、
(c)前記送信するステップ(b)に応答して、前記第1のウェブ・サービスからの第1の情報を前記クライアント・コンピュータにおいて受信するステップと、
(d)ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスを選択するステップと、
(e)前記リスト情報に従い、前記受信された第1の情報を利用して前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するステップと、
(f)前記形成された第2のウェブ・サービス要求を前記クライアント・コンピュータから前記第2のウェブ・サービスに送信するステップと
をさらに含む、方法。
【請求項2】
(g)前記送信するステップ(f)に応答して、前記第2のウェブ・サービスからの第2の情報を前記クライアント・コンピュータにおいて受信するステップと、
(h)前記リスト情報に従い、ユーザ入力に応答して、前記相互依存型リストから第3のウェブ・サービスを選択するステップと、
(i)前記リスト情報に従い、前記受信された第2の情報又は前記受信された第1の情報のうちの任意の1つを利用して第3のウェブ・サービス要求を形成するステップと、
(j)前記形成された第3のウェブ・サービス要求を前記クライアント・コンピュータから前記第3のウェブ・サービスに送信するステップと、
(k)前記ステップ(j)に応答して、前記第3のウェブ・サービスからの第3の情報を前記クライアント・コンピュータにおいて受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
1つ以上の追加のウェブ・サービス要求を送信するために、前記ステップ(g)ないし(j)が繰り返される。請求項2に記載の方法。
【請求項4】
前記クライアント・コンピュータにおいて前記リスト情報を受信するステップをさらに含み、
前記相互依存型リストは、メタデータを含み、前記リスト情報は、構成可能な相互依存型リスト及びこれに関連するメタデータからGMWSMサーバによって構成され、
前記相互依存型リストに従った構成に基づいて、前記複数のウェブ・サービスのうち1つ以上の表現を前記ユーザに表示するステップと、
前記第1のウェブ・サービス要求又は前記第2のウェブ・サービス要求のうちの任意の1つを形成するときに、前記相互依存型リストの前記受信されたメタデータを利用するステップと、
ボタン又はメニューのうちの任意の1つを含むクライアント・グラフィカル・ユーザ・インタフェースであって、前記第1のウェブ・サービスの結果の表示から前記第2のウェブ・サービスの入力の表示にナビゲートする能力を含む前記クライアント・グラフィカル・ユーザ・インタフェースを作成するときに、前記相互依存型リストの前記受信されたメタデータを利用するステップと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記クライアント・コンピュータが、前記第1のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記第2のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記GMWSMから前記相互依存型リスト及びこれに関連するメタデータを受信し、前記クライアント・コンピュータが、前記GMWSMから前記第1の情報を受信し、前記GMWSMが、前記クライアント・コンピュータを代表してウェブ・サービスと通信する、請求項4に記載の方法。
【請求項6】
前記相互依存型リスト及びこれに関連する前記メタデータは、XMLステートメントから成る、請求項4に記載の方法。
【請求項7】
前記クライアント・コンピュータが、前記リスト情報に従って、ウェブ・サービスの選択候補を示すプロンプト表示を前記ユーザに提示するステップと、
前記クライアント・コンピュータが、前記リスト情報に従って、前記ユーザが行った前記選択の結果を前記ユーザに提示するステップとをさらに含み、
前記ユーザへの提示のために使用されるインタフェースが、GUI、音声、キーパッド、マウス又は機械的な動作のうちの任意の1つから成る、請求項1に記載の方法。
【請求項8】
前記第1のウェブ・サービス要求、前記受信された第1の情報及び前記第2のウェブ・サービス要求の各々は、XMLステートメントから成る、請求項1に記載の方法。
【請求項9】
請求項1ないし請求項8の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項10】
汎用モバイル・ウェブ・サービス・マネージャ(以下「GBWSM」と略記)を介してクライアントにウェブ・サービスを提供するための方法を実行するシステムであって、
ネットワークと、
サーバを介して、1つ以上のウェブ・サービスとネットワーク通信を行うためのクライアント・コンピュータとを備え、
前記方法が、
(a)ウェブ・サービスの相互依存型リストを有する前記クライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含み、
前記相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち前記第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものであり、
(b)前記リスト情報に従い、前記選択ステップ(a)に応答して、第1のウェブ・サービス要求を前記クライアント・コンピュータから前記第1のウェブ・サービスに送信するステップと、
(c)前記送信ステップ(b)に応答して、前記第1のウェブ・サービスからの第1の情報を前記クライアント・コンピュータにおいて受信するステップと、
(d)ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスを選択するステップと、
(e)前記リスト情報に従い、前記受信された第1の情報を利用して前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するステップと、
(f)前記形成された第2のウェブ・サービス要求を前記クライアント・コンピュータから前記第2のウェブ・サービスに送信するステップとをさらに含む、システム。
【請求項1】
汎用モバイル・ウェブ・サービス・マネージャ(以下「GMWSM」と略記)を介してクライアントにウェブ・サービスを提供するための方法であって、
(a)ウェブ・サービスの相互依存型リストを有するクライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含み、
前記相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち前記第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものであり、
(b)前記リスト情報に従い、前記選択するステップ(a)に応答して、第1のウェブ・サービス要求を前記クライアント・コンピュータから前記第1のウェブ・サービスに送信するステップと、
(c)前記送信するステップ(b)に応答して、前記第1のウェブ・サービスからの第1の情報を前記クライアント・コンピュータにおいて受信するステップと、
(d)ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスを選択するステップと、
(e)前記リスト情報に従い、前記受信された第1の情報を利用して前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するステップと、
(f)前記形成された第2のウェブ・サービス要求を前記クライアント・コンピュータから前記第2のウェブ・サービスに送信するステップと
をさらに含む、方法。
【請求項2】
(g)前記送信するステップ(f)に応答して、前記第2のウェブ・サービスからの第2の情報を前記クライアント・コンピュータにおいて受信するステップと、
(h)前記リスト情報に従い、ユーザ入力に応答して、前記相互依存型リストから第3のウェブ・サービスを選択するステップと、
(i)前記リスト情報に従い、前記受信された第2の情報又は前記受信された第1の情報のうちの任意の1つを利用して第3のウェブ・サービス要求を形成するステップと、
(j)前記形成された第3のウェブ・サービス要求を前記クライアント・コンピュータから前記第3のウェブ・サービスに送信するステップと、
(k)前記ステップ(j)に応答して、前記第3のウェブ・サービスからの第3の情報を前記クライアント・コンピュータにおいて受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
1つ以上の追加のウェブ・サービス要求を送信するために、前記ステップ(g)ないし(j)が繰り返される。請求項2に記載の方法。
【請求項4】
前記クライアント・コンピュータにおいて前記リスト情報を受信するステップをさらに含み、
前記相互依存型リストは、メタデータを含み、前記リスト情報は、構成可能な相互依存型リスト及びこれに関連するメタデータからGMWSMサーバによって構成され、
前記相互依存型リストに従った構成に基づいて、前記複数のウェブ・サービスのうち1つ以上の表現を前記ユーザに表示するステップと、
前記第1のウェブ・サービス要求又は前記第2のウェブ・サービス要求のうちの任意の1つを形成するときに、前記相互依存型リストの前記受信されたメタデータを利用するステップと、
ボタン又はメニューのうちの任意の1つを含むクライアント・グラフィカル・ユーザ・インタフェースであって、前記第1のウェブ・サービスの結果の表示から前記第2のウェブ・サービスの入力の表示にナビゲートする能力を含む前記クライアント・グラフィカル・ユーザ・インタフェースを作成するときに、前記相互依存型リストの前記受信されたメタデータを利用するステップと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記クライアント・コンピュータが、前記第1のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記第2のウェブ・サービス要求を前記GMWSMに送信し、前記クライアント・コンピュータが、前記GMWSMから前記相互依存型リスト及びこれに関連するメタデータを受信し、前記クライアント・コンピュータが、前記GMWSMから前記第1の情報を受信し、前記GMWSMが、前記クライアント・コンピュータを代表してウェブ・サービスと通信する、請求項4に記載の方法。
【請求項6】
前記相互依存型リスト及びこれに関連する前記メタデータは、XMLステートメントから成る、請求項4に記載の方法。
【請求項7】
前記クライアント・コンピュータが、前記リスト情報に従って、ウェブ・サービスの選択候補を示すプロンプト表示を前記ユーザに提示するステップと、
前記クライアント・コンピュータが、前記リスト情報に従って、前記ユーザが行った前記選択の結果を前記ユーザに提示するステップとをさらに含み、
前記ユーザへの提示のために使用されるインタフェースが、GUI、音声、キーパッド、マウス又は機械的な動作のうちの任意の1つから成る、請求項1に記載の方法。
【請求項8】
前記第1のウェブ・サービス要求、前記受信された第1の情報及び前記第2のウェブ・サービス要求の各々は、XMLステートメントから成る、請求項1に記載の方法。
【請求項9】
請求項1ないし請求項8の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項10】
汎用モバイル・ウェブ・サービス・マネージャ(以下「GBWSM」と略記)を介してクライアントにウェブ・サービスを提供するための方法を実行するシステムであって、
ネットワークと、
サーバを介して、1つ以上のウェブ・サービスとネットワーク通信を行うためのクライアント・コンピュータとを備え、
前記方法が、
(a)ウェブ・サービスの相互依存型リストを有する前記クライアント・コンピュータが、ユーザ入力に応答して、前記相互依存型リストから第1のウェブ・サービスを選択するステップを含み、
前記相互依存型リストは、複数のウェブ・サービスを識別するリスト情報を含み、当該リスト情報は、前記複数のウェブ・サービスのうち前記第1のウェブ・サービスから受信される情報を、その後に要求される第2のウェブ・サービスと関係づけるものであり、
(b)前記リスト情報に従い、前記選択ステップ(a)に応答して、第1のウェブ・サービス要求を前記クライアント・コンピュータから前記第1のウェブ・サービスに送信するステップと、
(c)前記送信ステップ(b)に応答して、前記第1のウェブ・サービスからの第1の情報を前記クライアント・コンピュータにおいて受信するステップと、
(d)ユーザ入力に応答して、前記相互依存型リストから前記第2のウェブ・サービスを選択するステップと、
(e)前記リスト情報に従い、前記受信された第1の情報を利用して前記選択された第2のウェブ・サービスに対する第2のウェブ・サービス要求を形成するステップと、
(f)前記形成された第2のウェブ・サービス要求を前記クライアント・コンピュータから前記第2のウェブ・サービスに送信するステップとをさらに含む、システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2008−146639(P2008−146639A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2007−292964(P2007−292964)
【出願日】平成19年11月12日(2007.11.12)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願日】平成19年11月12日(2007.11.12)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
[ Back to top ]