(57)【要約】  ユーザーインターフェイスウェブサービスが提供される。１つの実施例では、ユーザーインターフェイスウェブサービスは、制御構造、通信インターフェイス、及びプロセッサーを含む。制御構造は、デバイス依存のユーザーインターフェイスの生成を容易にするために利用される。通信インターフェイスは、デバイス依存のユーザーインターフェイスとのインタラクションの指示を受け取り、プロセッサーは、インタラクションに応答してデルタを生成する。制御構造は階層的に組織されてもよく、デルタは、デバイス依存のユーザーインターフェイスに関連付けられる制御構造、メタデータ、状態、又は他のデータに対する変更を特定することができる。また、デルタは、限定はしないが、どのページ、ダイアログなどがユーザーに対して示されるかなどの、ＵＩのフローに関する情報を含んでもよい。
2015517165.tif 000002
【特許請求の範囲】
【請求項１】
デバイス依存のユーザーインターフェイスを生成するために利用される制御構造と、
前記デバイス依存のユーザーインターフェイスとのインタラクションの指示を受け取る通信インターフェイスと、
前記インタラクションに応答してデルタを生成するコンピューターのコンポーネントであるプロセッサーであって、前記デルタは前記デバイス依存のユーザーインターフェイスに対する変更を特定する、プロセッサーと
を備えるユーザーインターフェイスサービスサーバー。
【請求項２】
異なるアプリケーションに関連付けられるさらなる制御構造をさらに備える請求項１に記載のユーザーインターフェイスサービスサーバー。
【請求項３】
前記プロセッサーは、前記インタラクションに少なくとも部分的に基づいて、作成、読み取り、更新、及び削除（ＣＲＵＤ）コマンドを生成し、前記ＣＲＵＤコマンドは前記通信インターフェイスを利用してアプリケーションサーバーに送られる請求項１に記載のユーザーインターフェイスサービスサーバー。
【請求項４】
前記デルタは、前記デバイス依存のユーザーインターフェイスに関連付けられる前記制御構造、メタデータ、状態、又はデータに対する変更を特定する請求項１に記載のユーザーインターフェイスサービスサーバー。
【請求項５】
ユーザーインターフェイス上のフィールドを特定する制御構造と、
前記フィールドの値の変化の指示を受け取る通信インターフェイスと、
前記値の変化に少なくとも部分的に基づいて前記フィールドの状態を変更するコンピューターのコンポーネントであるプロセッサーと
を備えるコンピューターによって実施されるシステム。
【請求項６】
前記制御構造は、ビジネスロジックに少なくとも部分的に基づいて、前記ユーザーインターフェイスのページのフローを特定する請求項５に記載のシステム。
【請求項７】
前記プロセッサーは、アプリケーションサーバーに送られる作成、読み取り、更新、及び削除コマンドを生成する請求項５に記載のシステム。
【請求項８】
ユーザーインターフェイスを生成する際に利用されるように構成される制御構造の指示を送るステップと、
前記ユーザーインターフェイスとのインタラクションの指示を受け取るステップと、
前記インタラクションの指示に応答して生成されるデルタを生成するためにコンピューターのコンポーネントであるプロセッサーを利用するステップであって、前記デルタは、前記制御構造に対する変更又は前記ユーザーインターフェイスのフローに対する変更を特定する、ステップと、
前記デルタをクライアントデバイスに送るステップと
を含む方法。
【請求項９】
前記ユーザーインターフェイスのフィールドに対する変更の指示を受け取るステップと、
前記フィールドの状態の変化を特定するデルタを送るステップと
をさらに含む請求項８に記載の方法。
【請求項１０】
前記インタラクションに応答して、作成、読み取り、更新、及び削除（ＣＲＵＤ）コマンドを生成するステップと、
前記ＣＲＵＤコマンドの指示をアプリケーションサーバーに送るステップと
をさらに含む請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーインターフェイスウェブサービスに関する。
【背景技術】
【０００２】
[0001]エンタープライズリソースプランニング（ＥＲＰ）アプリケーションや他のビジネス機能アプリケーションにとって、複数の異なる環境で便利に動作可能であることがますます望ましいものとなってきている。例えば、いくつかの状況においては、データが容易に利用可能であるように、アプリケーションｇａコンピューターのハードドライブにインストールされることが望ましいことがある。しかし、他の状況では、さらに又は代替的に、ネットワーク（例えば、インターネット）を介してアプリケーションを利用可能にすることが望ましい場合があり、この場合、アプリケーションは、必ずしも、アプリケーションを使用しているすべてのコンピューターのすべてのハードドライブにインストールされない。
【０００３】
[0002]ウェブサービスコンポーネントは、しばしば、ネットワークを介して業務アプリケーション機能を提供するプロセスを容易にするために利用される。多くの場合、ウェブサービスは、データレコード指向であり、しばしば、他の特定のシステムとの統合（例えば、異なるシステムのための異なるメタデータの仮定など）をサポートすることにフォーカスされる。ウェブサービスによって公開される（exposed）アプリケーションコンポーネントは、しばしば、フォームやテーブルに限定される。多くの場合、開発者が動作（操作、operations）の作成、読み取り、更新及び削除などのレコード取り扱い動作を管理することができるように、制限された動作のセットが開発者に公開される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ウェブサービスコンポーネントによって提示される制限は、リッチなユーザーインターフェイスを構築したりサポートしたりするには理想的ではない。また、ネットワークを介してアプリケーションのアクセスをサポートするために利用される多くの様々な異なるハードウェアデバイス及びプラットフォームのうちのいずれかに対して理想的な又は最適化されたユーザーインターフェイスを構築したりサポートしたりするのに理想的でない。
【０００５】
[0003]上記の説明は、単に一般的な背景情報のために提供されるものであり、特許請求される主題の範囲を決定する助けとして使用されることを意図していない。
【課題を解決するための手段】
【０００６】
[0004]本開示の態様は、ユーザーインターフェイスウェブサービスに関する。１つの実施例では、ユーザーインターフェイスウェブサービスは、制御構造（control structure）、通信インターフェイス、及びプロセッサーを含む。制御構造は、デバイス依存のユーザーインターフェイスの生成を容易にするために利用される。通信インターフェイスは、デバイス依存のユーザーインターフェイスとのインタラクションの指示を受け取り、プロセッサーは、インタラクションに応答してデルタ（差分、delta）を生成する。制御構造は階層的に組織されてもよく、デルタは、制御構造、メタデータ、状態、又はデバイス依存のユーザーインターフェイスに関連付けられる他のデータに対する変更を識別することができる。また、デルタは、限定はしないが、どのページ、ダイアログなどがユーザーに対して示されるかなどの、ＵＩのフローに関する情報を含むことができる。
【０００７】
[0005]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化した形で紹介するために提供される。この概要は、特許請求される主題の重要な特徴又は不可欠な特徴を特定することを意図したものではなく、特許請求された主題の範囲を決定する助けとして使用されることを意図したものでもない。特許請求される主題は、背景で述べたいかなる又はすべての欠点を解決する実施例に限定されるものではない。
【図面の簡単な説明】
【０００８】
【図１】[0004]ユーザーインターフェイスシステムのブロック図である。
【図２】[0005]ユーザーインターフェイスサービスサーバーのブロック図である。
【図３】[0006]ユーザーインターフェイスサービスサーバーとクライアントデバイスとの間のインタラクションを示すブロック図である。
【図４】[0007]制御構造のブロック図である。
【図５】[0010]ユーザーインターフェイスシステムのモジュールを示すブロック図である。
【図６】[0011]タブレットデバイスの内部コンポーネントのブロック図である。
【図７】[0012]タブレットデバイスの外部コンポーネントのブロック図である。
【図８】[0013]携帯電話のブロック図である。
【図９】[0014]携帯情報端末のブロック図である。
【図１０】[0015]コンピューターのブロック図である。
【図１１】[0016]例示的なクラウドコンピューティングアーキテクチャーのブロック図を示す。
【発明を実施するための形態】
【０００９】
[0017]図１は、１つの例示的なユーザーインターフェイスシステム１００のブロック図である。図１は、システム１００が、ユーザーインターフェイス表示（ディスプレイ）１０２−１１０を含むことを示している。１つの実施例では、ユーザーインターフェイス表示１０２−１１０は、ユーザーがシステム１００とある程度インタラクトし制御することができるように、ユーザーからの入力を受け取るための関連するユーザー入力メカニズムを有する。表示１０２−１１０及びそれらの関連する入力メカニズムは、ポイントアンドクリックデバイス、キーボード、タッチジェスチャー、音声などを使用して入力を提供するためのデバイスを含むがこれに限定されない、様々な異なるエンドユーザーハードウェアデバイスのうちの任意のもののコンテキストにおいて実施することができる。システム１００は、異なるフォームファクターを有する関連付けられるディスプレイを有する任意の数のエンドユーザーハードウェアデバイスを含んでもよい。例示の目的のみのために、表示（ディスプレイ）１０２は、携帯電話に実装されるものとして提案され、デスクトップ又は他のパーソナルコンピューター上の表示１０４、タブレットコンピューター上の表示１０６、キオスクシステム上の表示１０８、及び表示１１０は任意の及びすべての他のコンピューティングデバイスを表すキャッチオール（catchall）として示される。
【００１０】
[0018]表示１０２−１１０がその上に実装されるエンドユーザーハードウェアデバイスは、ユーザーインターフェイスサービスサーバー１１４（ＵＩサービスサーバー１１４）とネットワーク１１２を介して通信するように示される。ＵＩサービスサーバー１１４は、次いで、アプリケーションサーバー１１８とネットワーク１１６を介して通信するように示される。明らかとなるように、ＵＩサーバー１１４は表示１０２−１１０の作成を容易にするが、表示は、最終的に、サーバー１１４から受け取られる情報に部分的に基づいて、それらの関連するハードウェアデバイスによって主にレンダリングされる。表示は、アプリケーションサーバー１１８に関連付けられるアプリケーションに対する例示的なインターフェイスであり、そのようなものとして、アプリケーションサーバー１１８又は密接に関連するデータソースから導出されたアプリケーションデータを例示的に組み込む。ＵＩサーバー１１４は、ＵＩサーバーが表示１０２−１１０の生成を容易にするときに表示１０２−１１０に統合されるべきアプリケーションデータ及び／又は他の情報を識別するために、アプリケーションサーバー１１８とインタラクトする。
【００１１】
[0019]ネットワーク１１２及び１１６は同じネットワーク（例えば、インターネット）であってもよく、又はそれらは別のネットワークであってもよいことが理解されるべきである。システム１００のコンポーネント間の通信がネットワーク円滑化（network facilitation）なしに達成されることもまた、本発明の範囲内にある。例えば、限定はしないが、アプリケーションサーバー１１８及びＵＩサーバー１１４は同じコンピューティングデバイス上に実装され、それによってネットワーク１１６を介した通信を不要にしてもよい。同様に、アプリケーションサーバー１１８及び／又はＵＩサービスサーバー１１４は、ディスプレイ１０２−１１０に関連付けられるコンピューティングデバイス上に実装され、それによってネットワーク通信をある程度不必要にしてもよい。
【００１２】
[0020]１つの実施例では、ＵＩサーバー１１４は、サーバー１１４が複数のアプリケーションのエージェントとして実質的に機能するスケーラブルなシステムの一部として実施される。この場合、サーバー１１４は、１つ又は複数のアプリケーションサーバー１１８上で実施される複数の異なるアプリケーションのための表示１０２−１１０の生成を容易にする。可能性のあるアプリケーションのいくつかの例は、限定はしないが、エンタープライズリソースプランニング（ＥＲＰ）アプリケーション、顧客リソース管理（ＣＲＭ）アプリケーション、基幹業務（ＬＯＢ）アプリケーション、及び／又は任意の他の業務システムやアプリケーションを含む。したがって、ＵＩサーバー１１４は、同時に、任意の数の異なるエンドユーザーデバイス及びプラットフォームについてのエンドユーザーディスプレイの生成をサポートし、任意の数のアプリケーションサーバー１１８上の実質的に任意の数のアプリケーションに対してそのようにする。当然のことながら、システム１００はまた、任意の数のアプリケーションサーバー１１８に関連付けられる任意の数のＵＩサーバー１１４を含んでもよい。最も望ましい正確な構成は、システム要件及び仕様に少なくとも依存して変わる。
【００１３】
[0021]簡単にするために、ＵＩサービスサーバー１１４が、アプリケーションサーバー１１８に関連付けられる単一のアプリケーションとともに表示１０２−１１０のレンダリングを容易にすると仮定する。説明の目的のため、アプリケーションが業務データシステム、特にＥＲＰシステムであると仮定する。ＥＲＰアプリケーションについて、サーバー１１８は、例示的に、１つ又は複数の関連するアプリケーションデータソースへのアクセスを含む。アプリケーションサーバー１１８は、ＥＲＰアプリケーションデータを管理し、ＵＩサービスサーバー１１４から受け取られる情報に少なくとも部分的に基づいて主にエンドユーザーハードウェアデバイスによって表示１０２−１１０のレンダリングを容易にする際にＵＩウェブサーバーをサポートするために、データをＵＩサービスサーバー１１４に配信することによって要求に応答する。
【００１４】
[0022]ＥＲＰアプリケーションのような業務データシステムに対する従来のウェブサービスインターフェイスは、通常、データ操作（例えば、作成、読み取り、更新、及び削除操作）又は業務プロセス操作に主にフォーカスされる。そのようなシナリオは、完全でありかつ柔軟にアクセス可能なアプリケーションユーザーインターフェイスを構築するためには最適ではなく、そのため、ユーザーインターフェイスは、一般的に、提供されるウェブサービスでサポートされていない特定のコンストラクト（constructs）（例えば、プラットフォーム固有のコンストラクト）を必要とする。例としては、ユーザーアクションに起因して一連のページを示して、プロセスに必要な入力をユーザーに求めるためのモデルダイアログを立ち上げ、値検索ダイアログを示すなどするための、ユーザーインターフェイスのフローに関連する詳細を含む。
【００１５】
[0023]従来のウェブサービスインターフェイスとは対照的に、ＵＩサービスサーバー１１４によって公開されるユーザーインターフェイス（ＵＩ）は、例示的に、ＵＩクライアントを構築するため、例えば、アプリケーションサーバー１１８に関連付けられる業務アプリケーションのために表示１０２−１１０を構築するために、一群のＵＩコンストラクトへのアクセスを含む。ＵＩコンストラクトは、限定ではなく、ユーザーインターフェイスフローのサポート、どのページが表示の一部とされてどのような状況でこれが生じるのかについての指定、及び、どのダイアログが表示の一部とされてどのような状況下でこれが生じるのかについての指定を含む。１つの実施例では、表示１０２−１１０は、同一の又は実質的に類似のアプリケーション開発モデル／ツールに基づくものであり、同じメタデータを共有するように構成される。ＵＩサービスサーバー１１４とともに提供されるウェブサービスは、それぞれのディスプレイ１０２−１１０の各々に関連付けられる特定のデバイスやプラットフォーム上でレンダリングされる論理的なＵＩを公開する。したがって、提供されるインフラストラクチャーは、ディスプレイが実施される任意のデバイスやプラットフォーム上でのリッチなユーザーインターフェイス機能を有するディスプレイ１０２−１１０を可能にする。
【００１６】
[0024]図２は、提供されるウェブサービスの一部として論理ＵＩ表現を公開することによってシステム１００内で動作することを可能にする、特定のコンポーネントのうちのいくつかを示すＵＩサービスサーバー１１４のより詳細な図のブロック図である。クライアントセッション管理コンポーネント２０２は、例示的に、サービスサーバー１１４が表示１０２−１１０の作成を容易にする異なるクライアントデバイスによるクライアントセッションのオープン及びクローズをサポートするように構成される。論理ＵＩ管理コンポーネント２０４は、例示的に、フィールド、ボタン、フィールド／ボタンデータ、及び状態（例えば、フィールドが可視である、編集可能であるなど）及び他の同様のユーザーインターフェイスの特性に関する取扱い情報を含む論理的な表現（例えば、ページの表現）に対する要求をサポートするように構成される。ユーザーインタラクション管理コンポーネント２０６は、例示的に、ＵＩの論理表現（例えば、論理ページ）に対するユーザーレベルのインタラクションの実行をサポートするように構成される。これらの呼び出しの結果は、例示的に、データ／状態の変化を含む論理ＵＩ表現内で生じた一群の変更である。１つの実施例では、結果はまた、ページがいつ閉じられるか、新しいページ／ダイアログ／ルックアップがいつ示されるかなどの指示などの、ＵＩにおけるフローの変更に関する情報を含む。ブロック２０８は、ＵＩサービスサーバーコンポーネント１１４が、本発明の範囲内にある実施例を実証するために具体的に含まれたものに加えて、他の機能コンポーネントを含んでもよいという事実を実証するキャッチオールである。
【００１７】
[0025]図２はまた、ＵＩサービスサーバー１１４がコンピュータープロセッサー２１０を含むことを示す。コンピュータープロセッサー２１０は、例示的に、コンピューターの機能部分であり、メモリー及びタイミング回路に関連付けられる。プロセッサー２１０及びその関連する回路は、他のコンポーネント（例えば、コンポーネント２０２、２４０、２０６、及び／又は２０８）の機能によって活性化され、当該機能を容易にしてもよい。さらに、図に示され又は明細書に記載される任意の１つ又は複数の他のシステムが、同様にコンピュータープロセッサーを含んでもよいことに留意すべきである。例えば、図１におけるデバイス１０２、１０４、１０６、１０８、１１０、１１４、及び／又は１１８はプロセッサーを含んでもよく、図６−１１に示されるデバイスの各々はまた、１つ又は複数のコンピュータープロセッサーを含んでもよい。
【００１８】
[0026]図３は、本発明の１つの実施例において、ＵＩサービスサーバー１１４とユーザーインターフェイス１０２が表示されるデバイス３０２（例えば、クライアントデバイス）との間の例示的なインタラクションを示す概略図である。この例では、インタラクションは、ネットワークを介して実行されるものとして図示されていない。しかし、図１に関連して説明したように、そのようなシナリオが考えられる。
【００１９】
[0027]ライン３０４において、クライアント３０２は、新たなクライアントセッションを作成するための要求をＵＩサービスサーバー１１４に送る。要求に応答して、ＵＩサービスサーバー１１４は、ライン３０６において、ＵＩ情報をクライアント３０２に送る。ＵＩ情報は、例示的に、ＵＩをレンダリングする際にクライアント３０２によって使用され得る任意の情報を含む。例えば、ＵＩ情報は、制御構造、状態情報、データ、メタデータなどを有する論理的なユーザーインターフェイスを含むことができる。１つの実施例では、ＵＩ情報は、異なるフォームファクター、画面サイズ、画面解像度などを有するデバイス上でＵＩを生成するための情報を含む。したがって、同じＵＩ情報が多数の異なるクライアントデバイスに送られてもよい。クライアントデバイスは、次いで、その表示に適したＵＩをレンダリングするために情報を使用する。言い換えれば、クライアントデバイスは、その表示特性に少なくとも部分的に基づいてＵＩをレンダリングする。しかしながら、別の実施例では、様々なバリエーションのＵＩ情報を、ＵＩを生成するために様々なデバイスに送ることができる。
【００２０】
[0028]クライアントデバイス３０２がＵＩ１０２をレンダリングすると、ユーザーは、ＵＩ１０２とインタラクトし（例えば、値を入力し、機能を実行し、情報を要求するなど）、クライアントデバイス３０２は、ライン３０８において、インタラクションの指示をＵＩサービスサーバー１１４に送る。ＵＩサービスサーバー１１４は、１つ又は複数のデルタを決定するために情報を使用する。デルタは、例示的に、ユーザーインタラクションに応答するＵＩ１０２の変化を表す。例えば、デルタは、データ、メタデータ、制御構造などに対する変更を識別することができる。１つ又は複数のデルタは、ライン３１０においてクライアントデバイス３０２に送られる。
【００２１】
[0029]デルタを計算する際、ＵＩサービスサーバー１１４は、ライン３１１で示されるアプリケーションサーバー１１８とインタラクトする必要があるかもしれない。例えば、アプリケーションサーバー１１８は、ユーザーからの入力／インタラクション３０８を、アプリケーションサーバー１１８へ送られるＣＲＵＤコマンドへと翻訳又は変換することができる。ＵＩサービスサーバー１１４は、クライアントデバイスへの送信のためにデルタを生成する際に、ＣＲＵＤコマンドに対するアプリケーションサーバーの応答を使用することができる。
【００２２】
[0030]最後に、図３に関連して、クライアントデバイス３０２は、ライン３１２において、現在のセッションを閉じる要求を示してもよい。ＵＩサービスサーバー１１４は、要求を使用して、任意の必要とされるセッション情報を閉鎖し、おそらくは、他のセッション／クライアントのためにリソースを解放する。
【００２３】
[0031]図４は、制御構造のブロック図である。上で図３に示されたように、ＵＩサービスサーバー１１４は、ＵＩ１０２を生成する際に利用される制御構造を送ることができる。１つの実施例では、制御構造は、階層的に組織された制御構造である。例えば、図４に示す特定の例では、制御構造４００は、最上部又は第１のレベルにおいて任意の数のフォーム４０２を含む。制御構造内の当該フォームの下には任意の数のグループ４０４があり、グループ４０４の下にはボックス４０６がある。記号１−Ｎによって示されるように、制御構造４００は、任意の数のフォーム４０２、グループ４０４、及びボックス４０６を含むことができる。制御構造４００はまた、必要とされ得るか又は望まれ得る任意の他のグループ及びサブグループを含むことができる。
【００２４】
[0032]実施例では、ＵＩサービスサーバーは、制御構造４００に、データ４１２、メタデータ４１４、及びＵＩをレンダリングすることができる状態情報４１６を提供する。ＵＩとのユーザー操作は、ＩｎｐｕｔＶａｌｕｅ、ＩｎｖｏｋｅＡｃｔｉｏｎなどを含むがこれに限定されないより高いレベルのユーザーインタラクションを含んでもよい。ＵＩサービスサーバーは、次いで、より高いレベルのユーザーインタラクションを使用し、どのデータ変化、メタデータ変化、状態変化及び構造変化がＵＩ上で発生する必要があるかについてデルタを計算する。
【００２５】
[0033]制御構造は、例示的には、フォーム、グループ、ボックス、ページ、フィールドなどをどのようにレイアウトするか、及びフォームやページのフロー（例えば、ユーザーアクション又はビジネスロジックの結果としてフォーム又はページをいつ開いたり閉じたりするか）についての情報を提供する。さらに、ＵＩサービスサーバーは、必要に応じて、ユーザーアクションやビジネスロジックの結果として、モデルダイアログ、ルックアップダイアログなどを示す。これらの能力を通じて、任意のプラットフォーム上で汎用リッチＵＩクライアントを作成するためにＵＩウェブサービスを使用することが可能となる。
【００２６】
[0034]特定の状況では、ＥＲＰ／ＬＯＢシステムに対してウェブサービスを公開することについての本ソリューションと従来のソリューションとの１つの違いは、本サービスがＵＩレベルで機能することである。たとえば、本ソリューションは、ＵＩのデータを扱うためにＣＲＵＤインターフェイスを公開するのではなく、ＵＩロジックを公開する。
【００２７】
[0035]他の実施例では、ビジネスプロセスは、タスクベースであり、ユーザーが行う選択に依存する一連のフォーム又はページをユーザーに対して示す。従来のビジネスプロセスウェブサービスは、ＵＩのフローを制御することができず、したがってこれを示すためのＵＩクライアントを一般的に作成するための情報を公開しない。さらに、特定の実施例はまた、ビジネスロジックに依存するいくつかの状態（例えば、フィールドが編集可能かどうか、目に見えるかどうかなど）を有する、ページ上のフィールドを持っている。ユーザーがＵＩにおいて値を変更したりアクションを実行したりするとき、状態は変化する。従来のウェブサービスは、ＵＩレベルでの状態変化を公開せず、これをサポートすることはできない。これらは、いくつかの実施例において存在し得る可能な特徴及び利点のいくつかにすぎない。
【００２８】
[0036]図５は、ＵＩシステム５００の別の実施例のブロック図である。ＵＩシステム５００は、ネットワーク１１６を介してアプリケーションサーバー１１８と通信し、かつネットワーク１１２を介してクライアントデバイス３０２と通信する、ＵＩサービスサーバー１１４を含む。ＵＩサービスサーバー１１４は、例示的には、インタラクションモジュール５０４及びオブザーバーモジュール５０６を有する論理クライアントサービスホスト５０２を含む。論理クライアントサービスホスト５０２は、ＵＩウェブサービス要求（例えば、セッション開始、セッション終了など）を処理する。
【００２９】
[0037]ＵＩサービスサーバー１１４はまた、論理クライアント５０８を含んでもよい。論理クライアント５０８は、必要に応じて、論理クライアントコンポーネント５１０、統合レイヤーコンポーネント５１６、及びサービス接続コンポーネント５２２を含む。論理クライアントコンポーネント５１０は、論理フォームモジュール５１２及び論理コントロール５１４を含む。論理クライアントコンポーネント５１０は、すべての検証とナビゲーションを処理する。統合レイヤーコンポーネント５１６は、ビルダーモジュール５１８及びデータバインダーモジュール５２０を含む。統合レイヤーコンポーネント５１６は、メタデータから論理フォームを構築し、アプリケーションサーバーのデータにそれをバインドする。サービス接続コンポーネント５２２は、コールバックモジュール５２４を含み、ビルダー／バインダーをフィードし、コールバックメカニズムを提供する。
【００３０】
[0038]クライアントデバイス３０２は、図１に示されてラベル付けされるＵＩ１０２をレンダリングする。デバイス３０２は、例示的には、デバイスネイティブコントロール５２６（例えば、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｈｏｎｅ  Ｓｉｌｖｅｒｌｉｇｈｔコントロール）、物理ディスプレイターゲットアダプタ−５２８、及びＵＩウェブサービス管理（UI web service managed）ＡＰＩ５３２を含む。物理ディスプレイターゲットアダプタ−５２８は、コントロールアダプターモジュール５３０を含み、表示対象（例えば、クライアントデバイス３０２の表示）と一致する物理的なコントロールを構築する。ＵＩウェブサービス管理ＡＰＩ５３２は、プロキシ論理コントロール及びフォームモジュール５３４を含み、必要に応じて、ＵＩウェブサービスのためのインターフェイスを管理する。しかしながら、実施例は、いかなる特定の構成にも限定されるものではなく、上記の特徴のうちの１つ又は複数についての任意の組合せを含むことができる。
【００３１】
[0039]図６−１０は、（例えば、図１のデバイス１０２、１０４、１０６、１０８、１１０、１１４、又は１１８上で）実施例を実施するために使用できる様々なデバイスを示す。図６及び図７は、デバイスがタブレットコンピューター６００である１つの実施例を示す。図６において、デバイス６００は、必要に応じて、メモリー６２１、ＳＤカードインターフェイス６１５、位置測定システム（location system）６２７、プロセッサー６１７、クロック６２５、Ｉ／Ｏシステム６２３、バス６１９、及び通信リンク６１３を含む。メモリー６２１は、オペレーティング・システム６２９、ネットワーク設定６３１、アプリケーション６３３、構成設定６３５、連絡先又は電話帳アプリケーション６４３、クライアント業務システム６２４、データストア６３７、通信ドライバ−６３９、構成設定６４１を含むことができる。
【００３２】
[0040]図７は、コンピューター６００が、ユーザーインターフェイスを表示するために利用することができる表示画面７０２を含むことを示している。画面７０２は、タッチスクリーン（したがって、ユーザーの指からのタッチジェスチャーがアプリケーションとインタラクトするために使用することができる）、又はペンもしくはスタイラスからの入力を受け取るペン対応インターフェイスであってもよい。また、画面上の仮想キーボードを使用することができる。また、もちろん、例えば、無線リンク又はＵＳＢポートなどの適切な取付メカニズムを介して、キーボード又は他のユーザー入力デバイスに接続され得る。コンピューター６００はまた、例示的には、音声入力も受け取ることができる。
【００３３】
[0041]図８及び図９は、使用することができるデバイスのさらなる例を提供するが、他のものも同様に使用することができる。図８において、スマートフォン又は携帯電話８４５は、デバイスとして提供される。電話８４５は、電話番号をダイヤルするためのキーパッドのセット８４７、アプリケーションイメージ、アイコン、ウェブページ、写真、及びビデオを含むイメージを表示することができるディスプレイ８４９、並びにディスプレイ上に表示されるアイテムを選択するためのコントロールボタン８５１を含む。電話は、汎用パケット無線サービス（ＧＰＲＳ）及びＩＸｒｔｔなどの携帯電話信号、並びにショートメッセージサービス（ＳＭＳ）信号を受け取るためのアンテナ８５３を含む。いくつかの実施例において、電話８４５はまた、ＳＤカード８５７を受け入れるセキュアデジタル（ＳＤ）カードスロット８５５を含む。
【００３４】
[0042]図９のモバイルデバイスは、パーソナルデジタルアシスタント（ＰＤＡ）９５９又はマルチメディアプレーヤー又はタブレットコンピューティングデバイスなど（以下、ＰＤＡ９５９と呼ぶ）である。ＰＤＡ９５９は、スタイラス（又は、ユーザーの指などの他のポインター）がスクリーンの上に配置されるとスタイラス９６３の位置を感知する誘導画面（inductive screen）９６１を含む。これにより、ユーザーは、画面上のアイテムを選択し、強調表示し、移動させることのほか、絵を描いたり文字を書いたりすることが可能となる。ＰＤＡ９５９はまた、多くのユーザー入力キー又は（ボタン９６５などの）ボタンを含み、これらは、ユーザーが、ディスプレイ９６１上に表示されるメニューオプションや他の表示オプションをスクロールすることを可能にし、ユーザーが、ディスプレイ９６１に触れることなく、アプリケーションを変更したりユーザー入力機能を選択したりすることを可能にする。図示していないが、ＰＤＡ９５９は、他のコンピューターとの無線通信を可能にする内部アンテナ及び赤外線送信機／受信機、並びに他のコンピューティングデバイスへのハードウェア接続を可能にする接続ポートを含むことができる。このようなハードウェア接続は、通常、シリアルポート又はＵＳＢポートを介して他のコンピューターに接続するクレードルを介してなされる。このように、これらの接続は、非ネットワーク接続である。１つの実施例では、モバイルデバイス９５９はまた、ＳＤカード９６９を受け入れるＳＤカードスロット９６７を含む。
【００３５】
[0043]図１０は、ユーザーインターフェイスシステムを配備することができるコンピューティング環境１０００の１つの実施例である。図１０を参照すると、いくつかの実施例を実施するための例示的なシステムは、コンピューター１０１０の形態の汎用コンピューティングデバイスを含む。コンピューター１０１０のコンポーネントは、（プロセッサー１００６を含み得る）処理ユニット１０２０、システムメモリー１０３０、及びシステムメモリーを含む様々なシステムコンポーネントを処理ユニット１０２０に結合するシステムバス１０２１を含み得るが、これらに限定されない。システムバス１０２１は、メモリーバス又はメモリーコントローラー、周辺バス、様々なバスアーキテクチャーのうちの任意のものを使用するローカルバスを含むいくつかのタイプのバス構造のうちの任意のものであってもよい。例として、限定するものではないが、このようなアーキテクチャーは、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロチャネルアーキテクチャー（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス規格協会（ＶＥＳＡ）ローカルバス、メザニンバスとしても知られる周辺コンポーネント相互接続（ＰＣＩ）バスを含む。
【００３６】
[0044]コンピューター１０１０は、通常、様々なコンピューター読み取り可能な媒体を含む。コンピューター読み取り可能な媒体は、コンピューター１０１０によってアクセスできる任意の利用可能な媒体であってもよく、揮発性及び不揮発性の媒体、取り外し可能な及び取り外し不能な媒体の両方を含む。例として、限定はしないが、コンピューター読み取り可能な媒体は、コンピューター記憶媒体及び通信媒体を含むことができる。コンピューター記憶媒体は、変調データ信号又は搬送波とは異なり、これらを含まない。コンピューター記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータなどの情報を記憶するための任意の方法又は技術で実施される、揮発性及び不揮発性の両方、取り外し可能及び取り外し不能な媒体の両方を含むハードウェア記憶媒体を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができコンピューター１０１０によってアクセスすることができる任意の他の媒体を含むが、これらに限定されない。通信媒体は、通常、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを移送メカニズムで具現化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号内で情報を符号化するような方法でその特性のうちの１つ又は複数が設定又は変更された信号を意味する。例として、限定はしないが、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、及び音響、ＲＦ、赤外線及び他の無線媒体などの無線媒体を含む。上記のいずれの組合せも、コンピューター読み取り可能な媒体の範囲内に含まれるべきである。
【００３７】
[0045]システムメモリー１０３０は、読み取り専用メモリー（ＲＯＭ）１０３１及びランダムアクセスメモリー（ＲＡＭ）１０３２などの揮発性メモリー及び／又は不揮発性メモリーの形態のコンピューター記憶媒体を含む。起動中などに、コンピューター１０１０内の要素間で情報を転送するのを助ける基本ルーチンを包含する基本入出力システム１０３３（ＢＩＯＳ）が、通常、ＲＯＭ１０３１の中に格納される。ＲＡＭ１０３２は、通常、処理ユニット１０２０に即時にアクセスすることができ、及び／又は処理ユニット１０２０によって現在操作されているデータ及び／又はプログラムモジュールを包含する。限定としてではなく例として、図１０は、オペレーティングシステム１０３４、アプリケーションプログラム１０３５、他のプログラムモジュール１０３６、及びプログラムデータ１０３７を示す。
【００３８】
[0046]また、コンピューター１０１０は、他の取り外し可能／取り外し不能の、揮発性／不揮発性のコンピューター記憶媒体を含むことも可能である。単に例として、図１０は、取り外し不能の不揮発性磁気媒体に対して読み取り及び書き込みを行うハードディスクドライブ１０４１、取り外し可能の不揮発性磁気ディスク１０５２に対して読み取りおよび書き込みを行う磁気ディスクドライブ１０５１、ならびにＣＤ−ＲＯＭ又は他の光媒体などの取り外し可能の不揮発性光ディスク１０５６に対して読み取り及び書き込みを行う光ディスクドライブ１０５５を示す。例示的な動作環境において使用され得る他の取り外し可能／取り外し不能の揮発性／不揮発性コンピューター記憶媒体には、磁気テープカセット、フラッシュメモリーカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１０４１は、通常、インターフェイス１０４０のような取り外し不能なメモリーインターフェイスを介してシステムバス１０２１に接続され、さらに磁気ディスクドライブ１０５１及び光ディスクドライブ１０５５は、通常、インターフェイス１０５０のような取り外し可能なメモリーインターフェイスでシステムバス１０２１に接続される。
【００３９】
[0047]以上に説明され、図１０に例示されるドライブ、及びドライブに関連するコンピューター記憶媒体は、コンピューター１０１０に関するコンピューター可読命令、データ構造、プログラムモジュール、及び他のデータのストレージをもたらす。図１０で、例えば、ハードディスクドライブ１０４１が、オペレーティングシステム１０４４、アプリケーションプログラム１０４５、他のプログラムモジュール１０４６、及びプログラムデータ１０４７を格納しているものとして示される。これらのコンポーネントは、オペレーティングシステム１０３４、アプリケーションプログラム１０３５、他のプログラムモジュール１０３６、およびプログラムデータ１０３７と同一であることも、異なることも可能であり得ることに留意されたい。オペレーティングシステム１０４４、アプリケーションプログラム１０４５、他のプログラムモジュール１０４６、およびプログラムデータ１０４７には、少なくとも、これらが異なるコピーであることを示すように、この場合、異なる番号が与えられている。
【００４０】
[0048]ユーザーは、キーボード１０６２、マイクロフォン１０６３、ならびにマウス、トラックボール、またはタッチパッドなどのポインティングデバイス１０６１などの入力デバイスを介してコンピューター１０１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナーなどが含まれ得る。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたユーザー入力インターフェイス１０６０を介して処理ユニット１０２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェイスおよびバス構造で接続されてもよい。視覚ディスプレイ１０９１または他のタイプのディスプレイデバイスが、ビデオインターフェイス１０９０のようなインターフェイスを介してシステムバス１０２１にさらに接続される。モニターに加えて、コンピューターは、出力周辺インターフェイス１０９５を介して接続され得る、スピーカー１０９７およびプリンター１０９６などの他の周辺出力デバイスを含むことも可能である。
【００４１】
[0049]コンピューター１０１０は、リモートコンピューター１０８０などの１つ又は複数のリモートコンピューターへの論理接続を使用するネットワーク化された環境で動作される。リモートコンピューター１０８０は、パーソナルコンピューター、ハンドヘルドデバイス、サーバー、ルーター、ネットワークＰＣ、ピアデバイス又は他の共通のネットワークノードとすることができ、通常、コンピューター１０１０に対して上述の要素の多く又はすべてを含む。図１０に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１０７１及びワイドエリアネットワーク（ＷＡＮ）１０７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【００４２】
[0050]ＬＡＮネットワーキング環境で使用される場合、コンピューター１０１０は、ネットワークインターフェイス又はアダプタ−１０７０を介してＬＡＮ１０７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピューター１０１０は、通常、モデム１０７２又はインターネットなどのＷＡＮ１０７３を介して通信を確立するための他の手段を含む。モデムは、内蔵でも外付けでもよく、ユーザー入力インターフェイス１０６０又は他の適切なメカニズムを介してシステムバス１０２１に接続することができる。ネットワーク化された環境では、コンピューター１０１０に関連して示されるプログラムモジュール、又はその一部は、リモートメモリーストレージデバイスに格納することができる。限定ではなく例として、図１０は、リモートコンピューター１０８０上に存在するものとしてリモートアプリケーションプログラム１０８５を示す。示されるネットワーク接続が例示的なものであり、コンピューター間の通信リンクを確立する他の手段を使用することができることが理解されるであろう。
【００４３】
[0051]図１１は、クラウドコンピューティングアーキテクチャー１１００を含むユーザーインターフェイスシステムの１つの実施例のブロック図である。クラウドコンピューティングは、サービスを提供するシステムの物理的な位置又は構成についてのエンドユーザーの知識を必要としない計算、ソフトウェア、データアクセス、及びストレージサービスを提供する。様々な実施例において、クラウドコンピューティングは、適切なプロトコルを使用して、インターネットなどのワイドエリアネットワークを介してサービスを提供する。例えば、クラウドコンピューティングプロバイダーは、ワイドエリアネットワークを介してアプリケーションを提供し、それらは、ウェブブラウザー又は他の任意のコンピューティングコンポーネントを介してアクセスすることができる。業務システム１１０９のソフトウェアやコンポーネント並びに対応するデータは、遠隔地におけるサーバー上に格納することができる。クラウドコンピューティング環境におけるコンピューティングリソースは、リモートデータセンターの場所に集約することができ、又は分散させることができる。クラウドコンピューティングインフラストラクチャーは、ユーザーにとって単一のアクセスポイントとして現れていても、共有のデータセンターを通じてサービスを提供することができる。したがって、本明細書で説明したコンポーネント及び機能は、クラウドコンピューティングアーキテクチャーを使用して遠隔地におけるサービスプロバイダーから提供することができる。あるいは、従来のサーバーから提供することができ、又は直接クライアントデバイスにインストールすることができ、又は他の方法で提供することができる。
【００４４】
[0052]発明の詳細な説明は、パブリッククラウドコンピューティング及びプライベートクラウドコンピューティングの両方を含むことを意図している。クラウドコンピューティング（パブリックとプライベートの両方）は、リソースの実質的にシームレスなプーリングを提供するとともに、基本的なハードウェアインフラストラクチャーを管理して構成する必要性を低減する。
【００４５】
[0053]パブリッククラウドは、ベンダーによって管理され、通常、同じインフラストラクチャーを使用して複数のコンシューマーをサポートする。また、パブリッククラウドは、プライベートクラウドとは対照的に、ハードウェアの管理からエンドユーザーを解放することができる。プライベートクラウドは、組織自身が管理することができ、インフラストラクチャーは、通常、他の組織と共有されない。組織はなおも、インストールや修理などのように、ある程度ハードウェアを維持する。
【００４６】
[0054]図１１に示される実施例は、業務システム１１０９が（プライベート、パブリック、一部がパブリックである一方他の部分がプライベートである組み合わせとすることができる）クラウド１１０２に位置していることを具体的に示す。したがって、ユーザー１１０３は、クラウド１１０２を通じてこれらのシステムにアクセスするためにユーザーデバイス１１０５を使用する。
【００４７】
[0055]図１１はまた、クラウドアーキテクチャーの別の実施例を示す。図１１は、業務システム１１０９のいくつかの要素がクラウド１１０２に配置される一方、他のものが配置されないことも考えられることを示している。例として、データストア１１１０は、クラウド１１０２の外に配置することができ、クラウド１１０２を介してアクセスすることができる。別の実施例では、システム１１０９のコンポーネント１１０８の一部又はすべてはまた、クラウド１１０２の外にある。どこに配置されるかに関わらず、それらは、（ワイドエリアネットワーク又はローカルエリアネットワークのいずれかの）ネットワークを介してデバイス１１０４によって直接アクセスすることができ、サービスによってリモートサイトでホストすることができ、又は、クラウドを介してサービスとして提供されるかもしくはクラウドに存在する接続サービスによってアクセスすることができる。これらのアーキテクチャーの全てが本明細書において考えられる。図１１は、さらに、システム１１００の部分のいくつか又は全てがデバイス１１０５上に配置することができることを示している。
【００４８】
[0056]また、システム１１００又はその一部は様々な異なるデバイス上に配置することができることに留意されたい。これらのデバイスのいくつかは、サーバー、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、又はパームトップコンピューター、携帯電話、スマートフォン、マルチメディアプレーヤー、パーソナルデジタルアシスタントなどの他のモバイルデバイスを含む。
【００４９】
[0057]主題は構造的特徴及び／又は方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲で定義される主題は必ずしも上述の特定の特徴又は動作に限定されないことを理解すべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲を実施する例示的形態として開示されるものである。
【図１】
2015517165.tif 000003
【図２】
2015517165.tif 000004
【図３】
2015517165.tif 000005
【図４】
2015517165.tif 000006
【図５】
2015517165.tif 000007
【図６】
2015517165.tif 000008
【図７】
2015517165.tif 000009
【図８】
2015517165.tif 000010
【図９】
2015517165.tif 000011
【図１０】
2015517165.tif 000012
【図１１】
2015517165.tif 000013
【国際調査報告】
2015517165.tif 000014
2015517165.tif 000015