"アプリケーションサーバ上で実行されるアプリケーションに関連する呼び出しオプティマイザを含むシステムにおいて、前記アプリケーションは、複数のコンポーネントを含み、前記呼び出しオプティマイザは、第一の呼び出しおよび第二の呼び出しを遮断する遮断モジュールであって、前記第一の呼び出しは、前記複数のコンポーネントのうちの第一のコンポーネントによってサービスに対してなされ、前記第二の呼び出しは、前記複数のコンポーネントのうちの第二のコンポーネントによって前記サービスに対してなされる、遮断モジュールと、前記第一の呼び出しおよび前記第二の呼び出しを第三の呼び出しへと統合する統合モジュールと、を含む、ことを特徴とするシステム。前記統合モジュールは、前記第一の呼び出しの複数の要求パラメータを、前記第三の呼び出しの複数の要求パラメータへと統合し、前記第ニの呼び出しの複数の要求パラメータを、前記第三の呼び出しの前記複数の要求パラメータへと統合し、前記第三の呼び出しを実行する、ように構成される、ことを特徴とする請求項1に記載のシステム。前記統合モジュールは、前記第三の呼び出しの結果を受信し、前記第一の呼び出しに対応するものとして、前記結果の第一部分を識別し、前記第二の呼び出しに対応するものとして、前記結果の第二部分を識別し、前記第一の呼び出しに対する応答として、前記複数のコンポーネントのうちの前記第一のコンポーネントへと、前記結果の前記第一部分を提供し、前記第二の呼び出しに対する応答として、前記複数のコンポーネントのうちの前記第二のコンポーネントへと、前記結果の前記第二部分を提供する、ようにさらに構成される、ことを特徴とする請求項2に記載のシステム。前記アプリケーションに関連するリソースアグリゲータをさらに含み、前記リソースアグリゲータは、第一のリソースが第二のリソースと重複することを識別する識別モジュールであって、前記第一のリソースは、前記複数のコンポーネントのうちの前記第一のコンポーネントによって利用され、前記第二のリソースは、前記複数のコンポーネントのうちの前記第二のコンポーネントによって利用される、識別モジュールと、前記識別に応じて、前記第一のリソースおよび前記第二のリソースを第三のリソースへと集約する集約モジュールと、前記集約に応じて、前記第三のリソースを利用するために、前記アプリケーションをアップデートするアップデートモジュールと、を含む、ことを特徴とする請求項1に記載のシステム。前記第一のリソースは、カスケーディングスタイルシートの第一バージョンであり、前記第二のリソースは、前記カスケーディングスタイルシートの第二バージョンである、ことを特徴とする請求項4に記載のシステム。前記アプリケーションサーバの第一のクライアントをさらに含み、前記第一のクライアントは、前記アプリケーションサーバ上の前記アプリケーションの展開を前記第一のクライアント上でシミュレーションするシミュレーティングモジュールを含み、前記シミュレーティングモジュールは、前記アプリケーションサーバと通信する代わりに、前記クライアントにインストールされた構成要素と通信することが可能である、ことを特徴とする請求項1に記載のシステム。前記第一のクライアントは、前記アプリケーションサーバ上の前記アプリケーションの複数のバージョンを展開する展開モジュールをさらに含み、前記複数のバージョンのうちの第一のバージョンは、第二のクライアントに対して適応され、前記複数のバージョンのうちの第二のバージョンは、第三のクライアントに対して適応され、前記第二のクライアントは、モバイルデバイス上で実行され、前記第三のクライアントは、パーソナルコンピュータ上で実行される、ことを特徴とする請求項6に記載のシステム。アプリケーションサーバ上で実行されるアプリケーションに関連する呼び出しオプティマイザを含むシステムにおいて、前記アプリケーションは、複数のコンポーネントを含み、前記呼び出しオプティマイザは、第一の呼び出しおよび第二の呼び出しを遮断する遮断モジュールであって、前記第一の呼び出しは、前記複数のコンポーネントのうちの第一のコンポーネントによってサービスに対してなされ、前記第二の呼び出しは、前記複数のコンポーネントのうちの第二のコンポーネントによって前記サービスに対してなされる、遮断モジュールと、複数の最適化のうちの一つを選択する最適化選択モジュールであって、前記複数の最適化は、前記サービスに対する第三の呼び出しへの前記第一の呼び出しおよび前記第二の呼び出しの統合を含む、最適化選択モジュールと、前記複数の最適化のうちの前記一つとしての、前記第一の呼び出しおよび前記第二の呼び出しの前記第三の呼び出しへの前記統合の前記選択に応じて、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと統合する統合モジュールと、を含む、ことを特徴とするシステム。前記複数の最適化は、前記サービスに対する第四の呼び出しの実行を含み、前記第四の呼び出しはバッチ呼び出しであり、前記バッチ呼び出しの結果の第一部分は、前記第一の呼び出しに対する応答として利用可能であり、前記バッチ呼び出しの前記結果の第二部分は、前記第二の呼び出しに対する応答として利用可能であり、前記システムは、前記複数の最適化のうちの前記一つとしての前記第四の呼び出しの前記実行の選択に応じて、前記第四の呼び出しを実行し、前記第一の呼び出しに対する前記応答として、前記複数のコンポーネントのうちの前記第一のコンポーネントへと、前記結果の前記第一部分を提供し、前記第二の呼び出しに対する前記応答として、前記複数のコンポーネントのうちの前記第二のコンポーネントへと、前記結果の前記第二部分を提供するバッチ処理モジュールをさらに含む、ことを特徴とする請求項8に記載のシステム。前記複数の最適化のうちの前記一つとしての前記第四の呼び出しの前記実行の前記選択は、前記サービスが前記第四の呼び出しに対応するインターフェイスを提供したという判断に基づく、ことを特徴とする請求項9に記載のシステム。前記複数の最適化のうちの前記一つとしての前記第四の呼び出しの前記実行の前記選択は、前記第四の呼び出しの前記実行が、前記第一の呼び出しおよび前記第二の呼び出しの前記第三の呼び出しへの前記統合よりも時間がかからないという判断に基づく、ことを特徴とする請求項9に記載のシステム。前記複数の最適化は、前記第一の呼び出しが実行される必要がないように、キャッシュからの前記第一の呼び出しに対する応答を提供することを含み、前記システムは、前記複数のサービス最適化のうちの前記一つとして、前記キャッシュからの前記第一の呼び出しに対する前記応答を前記提供することの選択に応じて、前記キャッシュからの前記第一の呼び出しに対する前記応答を提供するキャッシングモジュールをさらに含む、ことを特徴とする請求項8に記載のシステム。前記複数の最適化のうちの前記一つとして、前記キャッシュからの前記第一の呼び出しに対する前記応答を前記提供することを前記選択することは、前記第一の呼び出しが第三の呼び出しと同一であるという判断に基づいており、前記第三の呼び出しの実行は、結果として前記応答の受信をもたらす、ことを特徴とする請求項12に記載のシステム。前記複数の最適化は、前記第一の呼び出しおよび前記第二の呼び出しをパラレルに実行することを含み、前記システムは、前記複数の最適化のうちの前記一つとして、前記第一の呼び出しおよび前記第二の呼び出しをパラレルに前記実行することを選択するのに応じて、前記第一の呼び出しおよび前記第二の呼び出しをパラレルに実行する実行モジュールをさらに含む、ことを特徴とする請求項8に記載のシステム。前記複数の最適化のうちの前記一つとして、前記第一の呼び出しおよび前記第二の呼び出しをパラレルに前記実行することを前記選択することは、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと前記統合するよりも、前記第一の呼び出しおよび前記第二の呼び出しをパラレルに実行することは時間がかからないという判断に基づく、ことを特徴とする請求項14に記載のシステム。第一の呼び出しおよび第二の呼び出しを受信するステップであって、前記第一の呼び出しは、アプリケーションサーバ上で実行されるアプリケーションに含まれる複数のコンポーネントのうちの第一のコンポーネントによってサービスに対してなされ、前記第二の呼び出しは、前記複数のコンポーネントのうちの第二のコンポーネントによって前記サービスに対してなされる、ステップと、複数の最適化のうちの一つを選択するステップであって、前記複数の最適化は、前記第一の呼び出しおよび前記第二の呼び出しを、前記サービスに対する第三の呼び出しへと統合するステップを含む、ステップと、前記複数の最適化のうちの前記一つとして、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと前記統合するステップを前記選択するステップに応じて、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと統合するステップと、を含む、ことを特徴とする方法。前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと前記統合するステップは、前記第一の呼び出しの複数の要求パラメータを、前記第三の呼び出しの複数の要求パラメータへと統合するステップと、前記第二の呼び出しの複数の要求パラメータを、前記第三の呼び出しの前記複数の要求パラメータへと統合するステップと、前記第三の呼び出しを実行するステップと、を含む、ことを特徴とする請求項16に記載の方法。前記複数の最適化は、前記サービスに対して第四の呼び出しを実行するステップを含み、前記第四の呼び出しはバッチ呼び出しであり、前記バッチ呼び出しの結果の第一部分は、前記第一の呼び出しに対する応答として利用可能であり、前記バッチ呼び出しの前記結果の第二部分は、前記第二の呼び出しに対する応答として利用可能であり、前記方法は、前記複数の最適化のうちの前記一つとしての前記第四の呼び出しの前記実行を選択するステップに応じて、前記第四の呼び出しを実行するステップと、前記第一の呼び出しに対する前記応答として、前記複数のコンポーネントのうちの前記第一のコンポーネントへと、前記結果の前記第一部分を提供するステップと、前記第二の呼び出しに対する前記応答として、前記複数のコンポーネントのうちの前記第二のコンポーネントへと、前記結果の前記第二部分を提供するステップと、をさらに含む、ことを特徴とする請求項16に記載の方法。第一の呼び出しおよび第二の呼び出しを受信するステップであって、前記第一の呼び出しは、アプリケーションサーバ上で実行されるアプリケーションに含まれる複数のコンポーネントのうちの第一のコンポーネントによってサービスに対してなされ、前記第二の呼び出しは、前記複数のコンポーネントのうちの第二のコンポーネントによって前記サービスに対してなされる、ステップと、複数の最適化のうちの一つを選択するステップであって、前記複数の最適化は、前記第一の呼び出しおよび前記第二の呼び出しを前記サービスに対する第三の呼び出しへと統合するステップを含む、ステップと、前記複数の最適化のうちの前記一つとして、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと前記統合するステップを前記選択するステップに応じて、前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと統合するステップと、を含む方法を、マシンの一つ以上のプロセッサによって実行されたとき、前記マシンに実施させる命令を含む、ことを特徴とするマシンで読み出し可能な記憶媒体。前記第一の呼び出しおよび前記第二の呼び出しを前記第三の呼び出しへと前記統合するステップは、前記第一の呼び出しの複数の要求パラメータを、前記第三の呼び出しの複数の要求パラメータへと統合するステップと、前記第二の呼び出しの複数の要求パラメータを、前記第三の呼び出しの前記複数の要求パラメータへと統合するステップと、前記第三の呼び出しを実行するステップと、を含む、ことを特徴とする請求項19に記載のマシンで読み出し可能な記憶媒体。以下の記述においては、例示の目的のために、本発明の主題の種々の実施形態の理解を提供するために、数多くの具体的な詳細が説明される。しかしながら、これらの具体的な詳細なくして、その実施形態を実践してもよいことは当業者にとって明らかである。さらには、既知の命令のインスタンス、プロトコル、構造および技術は詳細には記述されていない。本明細書で使用されるように、orという用語は、包含的な意味で解釈されてもよいし、排他的な意味で解釈されてもよい。BizMoという用語は、ユーザインターフェイスUIプレゼンテーション、入力もしくは構成を含むデータ/サービスアクセスを含みうるビジネスモジュールを含む。アクション入力という用語は、ビジネスモジュールにアクションを起こさせる入力パラメータを含む。BizOpもしくはBizOperationという用語は、ビジネスモジュールが、外部のエンティティに対してデリゲートする可能性があるビジネスオペレーション例えば、サービス呼び出しを含む。BizOpは、ビジネスモジュールに対する方策として接続されてもよい。BizMoViewという用語は、ビジネスモジュールのUIを含む。ViewBuilderという用語は、ビジネスモジュールに対する方策として接続することができるUIビルダを含む。BizMoManagerという用語は、ビジネスモジュールのライフサイクルを駆動するコントローラを含む。BizOpEngineという用語は、ビジネスオペレーションを最適化し、実行するエンジンを含む。BizMo、ウィジェット、ビジネスモジュールという用語は、区別なく使用されうる。ユーザという用語は、人もしくはマシンを含む。アプリケーションのコンポーネントはウィジェットを含んでもよい。ウィジェットは、リアルタイムのリソース集約およびリアルタイムのサービス統合を含む、最適化をサポートしてもよい。リアルタイムのサービス統合は、多数のウィジェットによって複数の呼び出しを検出し、同一のサービスへと結合することを含む、ランタイム最適化をウィジェットがサポートすることを可能にしうる。リアルタイムのリソース集約は、ウィジェットが、実行時において、ウェブページ用の全リソースをウェブページ用の単一のリソースへと集約する例えば、JavaScriptの全バージョンもしくはインスタンス、またはカスケーディングスタイルシートCSSを、ウェブページ用の単一のリソースへと集約することを可能にしうる。フレームワークは、設計時もしくはリアルタイムのページの生成、改変もしくは削除を例えば、コンポーネントのドラッグアンドドロップをサポートする開発者ツールを介してサポートしうる。例示的な一実施形態においては、アプリケーションサーバ上で実行されるアプリケーションのコンポーネントによる、サービスに対する呼び出しを最適化するシステムが提供される。本システムはアプリケーションにおける呼び出しオプティマイザを含む。呼び出しオプティマイザは、第一の呼び出しおよび第二の呼び出しを遮断する遮断モジュールと、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合する統合モジュールと、を含む。第一の呼び出しは、サービスに対して、コンポーネントのうちの第一のコンポーネントによってなされ、第二の呼び出しは、サービスに対して、コンポーネントのうちの第二のコンポーネントによってなされる。別の例示的な一実施形態においては、アプリケーションサーバ上で実行されるアプリケーションのコンポーネントによる、サービスに対する呼び出しを最適化するシステムが提供される。本システムはアプリケーションに関連する呼び出しオプティマイザを含む。呼び出しオプティマイザは、第一の呼び出しおよび第二の呼び出しを遮断する遮断モジュールと、多数の最適化のうちの一つを選択する最適化選択モジュールであって、多数の最適化は、第一の呼び出しおよび第二の呼び出しの第三の呼び出しへの統合を含む、最適化選択モジュールと、多数の最適化のうちの一つとして、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合することを選択するのに応じて、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合する統合モジュールと、を含む。別の例示的な一実施形態においては、アプリケーションサーバ上で実行されるアプリケーションのコンポーネントによるサービスに対する呼び出しを最適化する方法が提供される。本方法は、第一の呼び出しおよび第二の呼び出しを受信するステップであって、第一の呼び出しは、サービスに対してコンポーネントのうちの第一のコンポーネントによってなされ、第二の呼び出しは、サービスに対してコンポーネントのうちの第二のコンポーネントによってなされるステップと、多数の最適化のうちの一つを選択するステップであって、多数の最適化は、第一の呼び出しおよび第二の呼び出しを、サービスに対する第三の呼び出しへと統合するステップを含む、ステップと、多数の最適化のうちの一つとして、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップを選択するステップに応じて、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップと、を含む。別の例示的な一実施形態においては、マシンの一つ以上のプロセッサによって実行されるとき、アプリケーションサーバ上で実行されるアプリケーションのコンポーネントによるサービスに対する呼び出しを最適化する方法をそのマシンに実施させる命令を含む、マシンで読み出し可能な記憶媒体が提供される。本方法は、第一の呼び出しおよび第二の呼び出しを受信するステップと、多数の最適化のうちの一つを選択するステップであって、多数の最適化は、第一の呼び出しおよび第二の呼び出しをサービスに対する第三の呼び出しへと統合するステップを含む、ステップと、多数の最適化のうちの一つとして、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップを選択するステップに応じて、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップと、を含む。図1Aは、アプリケーションのコンポーネントとデータソースおよびリソースとの間の例示的な関係100を示すブロック図である。アプリケーションのコンポーネントは、ウィジェット1-112およびウィジェット2-114を含みうる。データソースは、データソース1-132、データソース2-136もしくはデータソース3-140を含みうる。リソースは、リソース1-134およびリソース2-138を含む。図1Aは、データソース1-132、リソース1-134およびデータソース2-136との関係を有するものとして、ウィジェット1-112を示す。図1Aは、データソース2-136、リソース2-138およびデータソース3-140との関係を有するものとして、ウィジェット2-114を示す。ウィジェット1-112とデータソース2-136との間の関係は、ウィジェット1-112がデータソース1-132のサービスを呼び出すというものであってもよい。同様に、ウィジェット2-114とデータソース2-136との間の関係は、ウィジェット2-114がデータソース2-136のサービスを呼び出すというものであってもよい。ウィジェット1-112とリソース1-134との間の関係は、ウィジェット1-112が含まれうるアプリケーション102のうちの図示されていない別のコンポーネントが、リソース1-134を利用するというものであってもよい。例えば、ウィジェット1-112は、マークアップ言語例えば、HTML,XHTML,XML,SVGもしくはXULで記述された文書内に含まれてもよいし、同様に、その文書はアプリケーション102に含まれてもよい。リソース1-134は、スタイルシート言語例えば、リソースは、ワールドワイドウェブコンソーシアムW3Cによって定義されるCSS、もしくは、JavaScriptスタイルシートJSSSであってもよいの文書の提示例えば、外観およびフォーマットを記述するリソースであってもよい。この場合においては、ウィジェット1-112はリソース1-134を使用して、文書の提示を決定してもよい。リソース1-134は、JavaScriptリソース、HTMLリソース、ESFリソース、コンテンツリソース例えば、テキスト、イメージなど、プロトタイプリソース、ルールリソース、メタデータリソース、メタモデルリソース、もしくは別のタイプのリソースであってもよい。同様に、ウィジェット2-114とリソース2-138との間の関係は、ウィジェット2-114が含まれうるアプリケーション102の図示されていない別のコンポーネントが、リソース2-138を利用するというものであってもよい。データリソースの各々は、ウェブサービスであってもよい。さらには、各データソースもしくはリソースは、ローカル例えば、同一のサーバ、同一のシステム、もしくは同一のネットワーク上にに配置されてもよいし、またはアプリケーション102に対して遠隔リモート例えば、異なるサーバ、異なるシステムもしくは異なるネットワーク上にに配置されてもよい。図1Bは、呼び出しオプティマイザ116とリソースアグリゲータ118がアプリケーション104に関連付けられた後の、アプリケーション104のコンポーネントとデータソースおよびリソースとの間の例示的な関係150を示すブロック図である。本実施例においては、呼び出しオプティマイザ116のアプリケーション104に対する組み込みは、データソース2-136との関係を維持する上でのウィジェット2-114の必要性を排除する。さらには、リソースアグリゲータ118の組み込みは、リソース1-134との関係を維持する上でのウィジェット1-112の必要性、ならびに、リソース2-138との関係を維持する上でのウィジェット2-114の必要性を排除する。さらには、リソースアグリゲータ118の組み込みは、結果として、リソース3-142の追加、ウィジェット1-112とリソース3-142との間の関係の構築、および、ウィジェット2とリソース3-142との間の関係の構築を引き起こす。リソース3-142は、アプリケーション104が使用するリソース1-134とリソース2-138の構成要素の集約を含む可能性がある。リソース3-142は、お互いに対して重複したリソース1-134もしくはリソース2-138の構成要素は含まなくてもよい。したがって、呼び出しオプティマイザ116のアプリケーション104への組み込みは、アプリケーション104が依存するサービス呼び出し回数を減少させ、リソースアグリゲータ118のアプリケーション104への組み込みは、アプリケーション104が依存するリソースの数を減少させる可能性がある。このサービス呼び出しの最適化およびリソースの集約は、アプリケーション104の効率もしくは性能を改善する可能性がある。図2Aは、図1Bの呼び出しオプティマイザ116の例示的な一実施形態のモジュールを示すブロック図である。呼び出しオプティマイザ116は、アプリケーション例えば、アプリケーション102のコンポーネント例えば、ウィジェット1-112もしくはウィジェット2-114からの呼び出し例えば、第一の呼び出しおよび第二の呼び出しを遮断または受信する遮断モジュール202、または、呼び出しの統合を適用する統合モジュール206を含みうる。呼び出しの統合の適用は、第一の呼び出しの複数の要求パラメータを、第三の呼び出しの複数の要求パラメータへと統合するステップ、第二の呼び出しの複数の要求パラメータを、第三の呼び出しの複数の要求パラメータへと統合するステップ、第三の呼び出しを実行するステップ、第三の呼び出しの結果を受信するステップ、第一の呼び出しに対応するものとして、結果のうちの第一部分を識別するステップ、第二の呼び出しに対応するものとして、結果のうちの第二部分を識別するステップ、第一の呼び出しに対する応答として、複数のコンポーネントのうちの第一のコンポーネントへと結果の第一部分を提供するステップ、もしくは第二の呼び出しに対する応答として、複数のコンポーネントのうちの第二のコンポーネントへと結果の第二部分を提供するステップを含みうる。呼び出しを最適化する多数の技術のうちの他の技術は、図2Bに関連して以下に記述される。図2Bは、図1Bの呼び出しオプティマイザ116の例示的な一実施形態のさらなるモジュールを示すブロック図である。呼び出しオプティマイザ116は、最適化選択モジュール204、バッチ処理モジュール242、キャッシングモジュール244もしくは実行モジュール246を含みうる。最適化選択モジュール204は、呼び出しを最適化する多数の技術から呼び出しを最適化する一技術を選択しうる。呼び出しを最適化する多数の技術は、キャッシュからの第一の呼び出しもしくは第二の呼び出しに対する応答を提供するステップ、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップ、バッチ呼び出しを実行するステップ、第一の呼び出しおよび第二の呼び出しをパラレルに実行するステップなどを含みうる。呼び出しを最適化する一技術の選択は、種々の基準に基づくものである。種々の基準は、多数の技術のうちの他の技術が呼び出しを処理するのにかかる時間に対する、ある技術が呼び出しを処理するためにかかりうる時間、ある技術の可用性の判定もしくは、多数の技術のうちの他の技術の可用性の欠如の判定、または、多数の技術のうちの他の技術に対する、ある技術の適合性の別の尺度を含む。この場合においては、統合モジュール206は、統合の選択に応じて、統合を一技術として適用してもよい。バッチ処理モジュール242は、バッチ呼び出しの実行を呼び出し最適化の一技術として選択するのに応じて、第一の呼び出しもしくは第二の呼び出しの代わりにバッチ呼び出しを行いうる。バッチ呼び出しは、第一の呼び出しおよび第二の呼び出しが向けられたデータソースのサービスとして提供されてもよい。したがって、バッチ呼び出しの実行の選択は、データソースにおけるバッチ処理サービスの可用性に基づくものでありうる。さらには、バッチ呼び出しの実行の選択は、第一の呼び出しの応答としてバッチ呼び出しの結果の第一部分が使用可能であり、かつ、第二の呼び出しの応答としてバッチ呼び出しの結果の第二部分が使用可能であるという判断に基づくものでありうる。キャッシングモジュール244は、キャッシュからの第一の呼び出しもしくは第二の呼び出しに対する応答の提供を呼び出し最適化のうちの一技術として選択するのに応じて、各々、第一の呼び出しもしくは第二の呼び出しの実行から受信される応答を提供する代わりに、メモリのキャッシュ内に含まれるデータを利用して、第一の呼び出しもしくは第二の呼び出しへの応答を提供しうる。メモリのキャッシュ内に含まれるデータは、サービスに対して第三の呼び出しを行うことから受信された応答であってもよい。さらには、キャッシュからの第一の呼び出しもしくは第二の呼び出しへの応答を提供することの一技術としての選択は、第三の呼び出しが第一の呼び出しもしくは第二の呼び出しと実質的に同一であることの判定に基づくものであってもよく、また、そうでない場合には、第一の呼び出しもしくは第二の呼び出しの実行が第三の呼び出しの実行と重複していることの判定に基づくものであってもよい。実行モジュール246は、概して、呼び出しの実行を処理しうる。実行モジュール246は、一技術として第一の呼び出しおよび第二の呼び出しをパラレルに実行することを選択するのに応じて、第一の呼び出しおよび第二の呼び出しをパラレルに実行しうる。第一の呼び出しおよび第二の呼び出しのパラレルな実行の選択は、第一の呼び出しが第二の呼び出しに依存しないという判定、または第二の呼び出しが第一の呼び出しに依存しないという判定に基づくものでありうる。実行モジュール246は、アプリケーションの適切なコンポーネント例えば、図1Bのウィジェット1-112に対する呼び出しへの応答の転送を処理してもよい。実行モジュール246は、最適化の結果から呼び出しに対する応答のアセンブリを処理してもよい例えば、バッチ呼び出しの実行、キャッシュからの第一の呼び出しもしくは第二の呼び出しの結果の提供、または、第一の呼び出しおよび第二の呼び出しの統合。簡略化のために、上述の議論は、第一の呼び出しおよび第二の呼び出しに関する単一の最適化技術の適用について言及している。しかしながら、呼び出しオプティマイザ116は、一つ以上のアプリケーションコンポーネントによって実行された一つ以上の呼び出しを遮断してもよいし、一つ以上の呼び出しに関する一つ以上の呼び出し最適化を選択してもよいし、一つ以上の呼び出しに対して一つ以上の呼び出し最適化を適用してもよい。例えば、呼び出しオプティマイザ116は、あらゆる数の呼び出しを処理してもよいし、あらゆる数の呼び出しに対して、あらゆる数の最適化技術を適用してもよい。さらには、呼び出しオプティマイザ116は、パラレルに動作を実施してもよいし、シリアルに動作を実施してもよい。さらに、呼び出しオプティマイザ116は、実行時に自動的に動作を実施してもよい。しかし、動作の性能の効果は、アプリケーションの開発者が、あたかも手動もしくはハンドコーディングで設計時に最適化したかのように、アプリケーション例えば、アプリケーション102のコンポーネント例えば、ウェブページを実施させることであってもよい。さらには、呼び出しオプティマイザ116は、一つ以上のアプリケーションコンポーネントのうちの一つからの一つ以上の呼び出しに対して、一つ以上の最適化を適用してもよい。言い換えると、呼び出しオプティマイザ116は、一つ以上のコンポーネントからの一つ以上の呼び出しに対して一つ以上の最適化を適用することに限定されない。図2Cは、図1Bのリソースアグリゲータ118の例示的な一実施形態のモジュールを示すブロック図である。リソースアグリゲータ118は、識別モジュール222、集約モジュール224、もしくはアップデートモジュール226を含みうる。識別モジュール222は、アプリケーション例えば、アプリケーション102に関連する多数のリソースのうちの第一のリソースの少なくとも一部が多数のリソースのうちの第二のリソースの少なくとも一部と重複していることを識別しうる。例えば、識別モジュール222は、第一のリソースが第二のリソースのアップデートされたバージョンであることを識別してもよいし、アプリケーションが第二のリソースの代わりに第一のリソースのうちの少なくとも一部を使用できることを識別してもよい。集約モジュール224は、第一のリソースのうちの少なくとも一部が、第二のリソースのうちの少なくとも一部と重複していることを識別するのに応じて、第一のリソースおよび第二のリソースを第三のリソースへと集約しうる。第三のリソースは、アプリケーションの使用する第一のリソースの一部および第二のリソースの一部を含んでもよい。アップデートモジュール226は、第三のリソースを使用するためにアプリケーションをアップデートしうる。アプリケーションのアップデートは、第一のリソースの重複部分もしくは第二のリソースの重複部分に対する、アプリケーションの依存を除去する可能性がある。例えば、アップデートモジュール226は、第二のリソースの重複部分の代わりに、第一のリソースの一部を第三のリソースが含むようにアプリケーションをアップデートしてもよい。したがって、アップデートモジュール226は、アプリケーションが依存するリソースの全体のサイズを減少させる可能性がある。さらには、アップデートモジュール226は、第三のリソースを表出化して、クライアントが、第一のリソースもしくは第二のリソースの代わりに第三のリソースをキャッシュしてもよい。例えば、クライアントは、アプリケーションに最初にアクセスした後、第三のリソースをダウンロードしてキャッシュしてもよい。その後、アプリケーションに二度目にアクセスした後、クライアントが第三のリソースを再度ダウンロードする必要はない。リソースアグリゲータ118は、実行時に自動的にリソース集約を実施してもよい。しかし、リソース集約の効果は、アプリケーション開発者が、あたかも手動もしくはハンドコーディングで設計時に最適化したかのように、アプリケーション例えば、アプリケーション102のコンポーネント例えば、ウェブページを出力させることであってもよい。図2Dは、図1Aおよび図1Bのウィジェット1-112の例示的なモジュールを示すブロック図である。ウィジェット1-112は、アプリケーションのより複雑なコンポーネント例えば、ウェブページのうちの基本的なコンポーネント例えば、ヘッダユニット、検索ユニット、カテゴリナビゲーションユニット、認可もしくは認証ユニット、またはメンバーバッジユニットである可能性がある。ウィジェット1-112は、提示モジュール262、論理実装モジュール264、接続モジュール266、もしくは構成モジュール268を含みうる。提示モジュール262は、ウィジェット1-112に関連する一つ以上のUIを提示しうる。例えば、ウィジェット1-112にアクセスするクライアントが、モバイルデバイスベースのウェブブラウザ例えば、アップルのSafariブラウザである場合には、提示モジュール262は、モバイルデバイスベースのウェブブラウザに対して適応されたUI例えば、パーソナルコンピュータベースのウェブブラウザ用のUIよりも少ないテキストもしくは少ない画像を含むUIを提示してもよい。ウィジェット1-112にアクセスするクライアントがパーソナルコンピュータベースのウェブブラウザ例えば、マイクロソフトのWindowsInternetExplorerブラウザである場合には、ウィジェットは、パーソナルコンピュータベースのウェブブラウザに適応されたUI例えば、モバイルデバイスベースのウェブブラウザ用のUIよりも多いテキストもしくは多い画像を含むUIを提示してもよい。提示モジュール262は、ウィジェット1-112の論理の実装から、ウィジェット1-112のユーザインターフェイスの提示を分離してもよい。論理実装モジュール264は、ウィジェット1-112の論理を実装しうる。論理の実装は、一つ以上のデータソース例えば、データソース1-132もしくはデータソース2-136、ただし、両者は図1Bのものであるへのアクセスを含んでもよい。さらには、一つ以上のデータソースへのアクセスは、一つ以上のデータソースに関連する一つ以上のアプリケーションプログラミングインターフェイスAPIの呼び出しを含んでもよい。論理実装モジュール264は、ウィジェット1-112の論理の実装を、ウィジェット1-112のユーザインターフェイスの提示から分離してもよい。接続モジュール266は、論理実装モジュール264へと提示モジュール262を接続し、提示モジュール262が、論理実装モジュール264から受信されたデータ論理実装モジュール264が、一つ以上のデータソースへのアクセスを通して受信するデータを含むの提示を一つ以上のUIへと統合することができるようにする。構成モジュール268は、構成APIを通して、ウィジェット1-112の設定可能な属性を公開しうる。構成APIは、ウィジェット1-112に関連する構成データ例えば、データスキーマに対するプログラムによるアクセスを与える可能性がある。構成APIは、ウィジェット1-112を手動で例えば、XMLファイルに関連するXSDスキーマのハンドコーディングを通して構成することを必要とする代わりに、単純なユーザインターフェイス例えば、ウィジェット1-112に構成APIを介してアクセスするツールのユーザインターフェイスを介してウィジェット1-112を構成することを可能しうる。構成APIは、ウィジェット1-112に対して、テーマ例えば、クリスマスもしくはハロウィンのテーマを定義するかまたは適用する機能を含んでもよい。テーマの適用は、単一の動作でウィジェット1-112の構成可能な属性のうちの多数を改変することを含んでもよい。ウィジェット1-112が検索ウィジェットである場合には、構成APIは、ウィジェット1-112の構成可能な属性として、デフォルト検索文字列を公開してもよい。構成APIは、その後、呼び出されて、デフォルト検索文字列例えば、防水ブーツ、MP3プレイヤーもしくは他の文字列を設定されてもよい。構成APIは、ウィジェット1-112の地域化を定義するかまたは適用する機能を含んでもよい。地域化の適用は、ウィジェット1-112にアクセスするユーザの地域性言語、地域などに基づいて、ウィジェット1-112に関連するテキストもしくは画像を結果として変更する可能性がある。例えば、ウィジェット1-112にドイツの例えば、deDE地域化を適用することによって、ウィジェット1-112に関連するテキストをドイツ語にさせ、ウィジェット1-112にアメリカ合衆国で使用される英語例えば、enUSの地域化を適用することによって、ウィジェット1-112に関連するテキストを英語にさせる可能性がある。構成モジュール268は、メタモデルとのウィジェット1-112の関連付けを管理してもよい。例えば、構成モジュール268は、メタデータ定義フレームワークメタモデルフレームワーク、メタデータフレームワーク、もしくはメタモデル定義フレームワークとも呼ばれるを使用してもよい。メタモデルフレームワークは、ウィジェット1-112の設定可能な属性を記述するために使用されうる型のような、モデルもしくは型の記述を管理するAPI例えば、IDataDefAPIを含んでもよい。メタモデル定義フレームワークは、例えば、XMLスキーマに等価な型の構造的もしくは機能的定義をサポートしてもよいし、単一型の継承もしくは多相性サポートを伴うオブジェクト指向であってもよいし、または、例えば、JavaScriptと同様にデータ継承もしくは階層化を伴うプロトタイプ指向であってもよい。各々の基本的な型は、スーパータイプ単一継承型、制約型不変節例えば、列挙型、アクションあらゆる戻り値の型を有する方法をデリゲートする、変換他の型へと変換することができる方法例えば、多相性をサポートする方法をデリゲートする、または、例えば、データ継承もしくは階層化サポートを伴う初期データもしくはデフォルトデータを含むメンバーを有する可能性がある。各々の複雑な型は、基本的な型のメンバーまたは、関連付け役割、型もしくは多様性もしくは属性単純名もしくは値の組を含む、さらに別のメンバーを含む可能性がある。役割とは、関連付けのインスタンスの名称でありうる。多様性は、単一の多様性0,0..1,1リスト多様性0..n,1..nもしくはキーとして文字列もしくは列挙型を有するマップ多様性であってもよい。メタデータフレームワークは、ドメイン固有言語DSLを使用して型の定義をサポートしてもよい。DSLは、モデルもしくはデータ定義例えば、IDataDefインターフェイスがモデルもしくはデータインスタンス例えば、IManagedDataインターフェイスと相関する、プロトタイプベースのアプローチを使用してもよい。IDataDefインターフェイスは、DSL定義階層の頂点に存在しうる。IDataDefインターフェイスは、構造的定義もしくはデータ階層を含む、定義のライフサイクルを管理してもよい。IDataDefインターフェイスは、型の階層、または、制約、動作、もしくは変換の定義を保持してもよい。DSL定義階層は、ある型から別の型へのオブジェクトの変換例えば、Javaオブジェクトの文字列への変換もしくは文字列からJavaオブジェクトへの変換を管理する、単一値ユニット定義インターフェイス例えば、ISimpleValueUnitDefインターフェイスを含んでもよい。DSL定義階層は、属性もしくは関連付けの定義を保持する、複雑データ定義インターフェイス例えば、IComplexDataDefインターフェイスを含んでもよい。複雑データ定義インターフェイスは、関連付けに対応する多数の語義を管理するための実装を含んでもよい。例えば、複雑データ定義インターフェイスは、コード生成プロセスを通してクラスになる豆様構造例えば、StructDataDefオブジェクト、または、コード生成プロセスを介してインターフェイスもしくは列挙型となるインターフェイス様選択もしくは代替物例えば、ChoiceDataDefオブジェクトを含んでもよい。図3は、メタモデルフレームワークの例示的なアーキテクチャ300のブロック図である。メタモデルフレームワークは、ユーザ302を含みうる。ユーザ302は、モデルメタデータに対するフレームワークのメタデータモデリング310コンポーネントと相互作用例えば、型定義を生成する、APIを生成するなどしてもよい。メタデータモデリング310コンポーネントは、モデルメタデータへとユーザインターフェイスを提供するメタデータツールもしくはアプリケーション306を含みうる。ツールは、メタデータもしくはドメインモデル308を生成してもよい。モデル化されたメタデータは、入力になってもよいし、メタデータシステム320に関連づけられてもよい。メタデータシステム320は、代理もしくは仲介層314を含んでもよい。代理もしくは仲介層314は、インタプリタ312、ジェネレータ316もしくはマッパ318を含みうる。インタプリタ312は、メタデータ定義にアクセスしてもよいし、または、型、ドメイン、もしくは範囲を検証してもよい。ジェネレータ316は、メタデータ定義に関連する具象クラスをマッピングしてもよいし、具象オブジェクトを構築するか、配線してもよい。マッパ318は、メタデータクラスを具象クラスへとマッピングしてもよい。メタデータモデリング310コンポーネントは、持続性層322と相互作用して、メタデータもしくはモデルを格納するか、またはメタデータもしくはモデルにアクセスする。持続性層322は、同様に、メタデータ定義レポジトリ324と相互作用して、メタデータ定義例えば、型定義、モデル、もしくは他のメタデータを格納する。メタデータシステム320は、持続性層322とも相互作用してもよい。持続性層322は、同様に、メタデータインスタンスレポジトリ326とも相互作用して、メタデータのインスタンス例えば、型定義のインスタンスを格納する。メタモデルフレームワークは、クラスベースの継承パラダイムではなく、プロトタイプベースのパラダイムをサポートしてもよい。例えば、ヘッダ、コンテンツ、もしくはフッタを有する第一のウェブページは、より詳細なヘッダを有する第二のウェブページ用のプロトタイプでありうる。第二のウェブページは、同様に、さらに詳細なヘッダおよび左側のナビゲーションペインを有する第三のウェブページ用のプロトタイプでありうる。サブクラスのプロトタイプは、不変プロトタイプ例えば、入力規則、もしくは値制限例えば、列挙された文字列、もしくは最小値もしくは最大値などの制約を加える可能性がある。サブクラスのプロトタイプは、何も除去しないが、多重性を0に変更する可能性がある。サブクラスのプロトタイプは、新規の属性もしくは構造的な要素に加えるか、混合する可能性がある例えば、混入は、名称の競合を回避するために名称空間サポートを加えてもよい。サブクラスのプロトタイプは、動作の形式例えば、モデルを読み出す、もしくは書き込むための任意のコード、または変換例えば、変換するためのコード、または、ある型から別の型への多形データの形式で行動に織り込んでもよい。メタモデルフレームワークは、モデルもしくはメタデータ定義ライフサイクルをサポートしてもよい。すなわち、メタモデルは、例えば、プロトタイプベースアプローチを使用して構造定義およびデータ設定動作を結合するモデル定義をサポートしてもよい。データ設定は、構造定義に基づく型のオブジェクトのインスタンスに関連する値の設定を含んでもよい。このようなオブジェクトは、管理されたデータと呼ばれる可能性がある。図4Aは、モデル定義のライフサイクルを管理する方法400の例示的な一実施形態のフローチャートである。方法400は、型を宣言する例えば、型に対する言及を含む型定義を生成するステップ402、その型に基づくオブジェクトもしくは構造をインスタンス化する例えば、型をインスタンス化するステップ404、もしくは構造内のデータを設定する例えば、インスタンス化型に関連する値を設定するステップ406を含みうる。図4Bは、アプリケーションのコンポーネント例えば、ヘルプページを構成するAPIを生成する例示的な方法450のフローチャートである。方法450は、コンポーネントの設定可能な属性例えば、設定可能な属性を表す、または、例えば、統一モデリング言語UMLもしくは例えば、DSLを介したスキーマを介したスキーマ図を利用して設定可能な属性が如何にお互いに関連するかを判定するステップ452、スキーマから型定義を作成もしくは生成するステップ454、スキーマもしくは型定義からコンポーネントを構成するためのAPIを作成もしくは生成するステップ456、例えば、実行時にコンポーネントがAPIを利用して構成できるように、コンポーネントとAPIを関連付けるステップ458、スキーマ図、スキーマ、型定義、APIもしくは例えば、リソースフレームワークを利用する他のメタデータを格納するステップ460を含みうる。コンポーネントの構成は、APIをユーザインターフェイスを介して公開する、そうでなければ、ユーザがAPIにアクセスするのを可能にするまたは、フロントエンドを提供する開発ツールなどのクライアントを利用するステップを含みうる。図5、図6、図7および図8は、アプリケーションのコンポーネントを構成するためにAPIを生成するための方法450図4Bに関連するソースコードの例示的なスナップショットを提供する。図5は、コンポーネントの構成の例示的なスキーマ図500を示す。図6は、図5のスキーマ図に対応する例示的なスキーマ600を示す。図7は、図6の例示的なスキーマ600に対応する例示的な型例えば、クラス700を示す。図8は、例示的なスキーマ600もしくは例示的な型700に基づくコンポーネントを構成するための例示的なAPI800を示す。メタモデルフレームワークは、モデル定義ファクトリを含みうる。モデル定義ファクトリは、定義もしくはプロトタイプのインスタンスを得るために利用されてもよい。モデル定義ファクトリは、単一のファクトリをサポートしてもよいし、新規の型および適応した例えば、レガシ型に対する参照モデルをサポートしてもよい。モデル定義ファクトリは、例えば、型定義を生成する454ため、もしくはAPIを生成する456ためにコードジェネレータによって利用されてもよい。モデル定義ファクトリは、ツール例えば、エディタもしくはメタモデル駆動ツールによって利用されてもよい。モデル定義ファクトリは、メタデータ定義ライフサイクルを管理してもよい。モデル定義ファクトリは、帰納的型もしくはデータ階層をサポートしてもよい。モデル定義は、フレームワーク提供、コンテナ提供もしくはアプリケーション固有のメタデータ定義インジェクタをサポートしてもよい。フレームワーク提供、コンテナ提供、もしくはアプリケーション固有のメタデータ定義インジェクタは、コールバックメカニズムを介して実装されてもよい。したがって、メタモデルフレームワークの例示的なアーキテクチャ300は、Javaベースモデル定義を提供しうる。Javaベースモデル定義は、キー値コーディングKVCサポートを伴うタイプセーフプレーンオールドJavaオブジェクトPOJOモデル生成と、XMLマーシャラもしくはアンマーシャラの生成、ツール用定義検索のためのランタイムJavaAPIの提供、文書化もしくはツール化目的のためのXSDもしくはXMIUML生成を可能にする。メタモデルフレームワークの利点は、定義およびデータ消費の双方に対する一貫したインターフェイス、異なるパーティもしくはレガシシステム間での定義の再利用、ツール化サポート発見可能性、もしくは定義、もしくはツール化ヘルパ、継承プロセスを介した混合型定義もしくは値設定を可能にするプロトタイプベース定義、多数の定義もしくはAOP定義インジェクタの混入を介した関係の分離、行動の織り込み例えば、参照用トランスフォーマもしくはタイプセーフアクセサを介した関係の分離、または、各リソースに格納されるべき互換性キーの記述をサポートする定義バージョン化、互換性のないバージョンを移行するバージョンコンバータの提供を含みうる。図2Dの構成モジュール268は、ウィジェット1-112に関連するリソースの格納および検索を管理してもよい。例えば、構成モジュール268は、リソースフレームワークを利用して、リソースを格納および検索してもよい。図9は、リソースフレームワークのアーキテクチャ900の例示的な一実施形態のブロック図である。リソースフレームワークは、アプリケーション層902、型固有アクセス層922、レポジトリ層942、格納持続性インターフェイス962、または格納レポジトリもしくはシステムの種々の実装982を含みうる。アプリケーション層902は、アプリケーション例えば、ePages904、サービスフレームワークランタイム906コンポーネント、サービスフレームワークランタイム908コンポーネントもしくはコンテンツレポジトリランタイム912コンポーネントを、例えば、アプリケーションレベルAPIを介して実行時におけるリソースに対するアクセスとともに提供しうる。型固有アクセス層922は、アプリケーション層902APIとレポジトリ層942APIとの間の翻訳に役立つ可能性がある。例えば、型固有アクセス層922は、種々のリソース型に関連するヘルパ例えば、HTMLリソースアクセスヘルパ924、JavaScriptリソースアクセスヘルパ926、CSSリソースアクセスヘルパ928、プロトタイプリソースアクセスヘルパ930、コンテンツリソースアクセスヘルパ932などを含みうる。レポジトリ層942は、レポジトリレベルAPI例えば、Iresourceレポジトリ944を含み、メモリ例えば、揮発性メモリにおけるリソースの格納を管理してもよい。レポジトリレベルAPIは、レガシリソース、シリアライザもしくはコンバータに対するアダプタの登録をサポートするリソースレポジトリ実装946に関連する可能性がある。この方法においては、レポジトリレベルAPIは多数のオーナーもしくはレガシシステム間で、同一の参照モデルを利用してサポートしてもよい。レポジトリレベルAPIは、レポジトリ構造の定義例えば、リソースの論理キーをサポートしてもよい。レポジトリレベルAPIは、種々のフォーマット間例えば、揮発性メモリフォーマットと不揮発性メモリフォーマットの間、レガシシステムフォーマットと現行システムフォーマットとの間もしくは他のフォーマット間でリソースの変換もしくはシリアル化をサポートしてもよい。レポジトリレベルAPIは、下層のリソースレポジトリのJavaベースタイプセーフラッパであってもよい。レポジトリレベルAPIは、リゾルバを含み、論理キーおよび物理キーの間のマッピングをサポートしてもよい。リゾルバは、リソースパターンを認識してもよい。例えば、リゾルバは、順列例えば、サイトもしくはロケール、バージョン化例えば、列番号を解放する、ライフサイクル状態例えば、レビュー状態もしくは生産状態、もしくは互換性管理をサポートしてもよい。レポジトリレベルAPIは、インフォセットベースの持続性をサポートして、迅速もしくは小型のバイナリXMLシリアル化;グラニュラーターゲット、オーバーライド、バインディングもしくは階層化属性のためのサポート;または、接続可能なシリアライザもしくはデシリアライザを活用してもよい。接続可能なシリアライザもしくはデシリアライザは、メタモデルフレームワークには結合されなくてもよい。レポジトリレベルAPIは、リソース利用をトレースするトレーサをサポートしてもよい。レポジトリレベルAPIは、データ型例えば、管理されたデータのインスタンスの管理をサポートしてもよい。レポジトリレベルAPI944は、一般的オブジェクトと同様にタイプセーフKVCオブジェクトに対してリソースを適用してもよい。レポジトリレベルは、例えば、ツールを介して編集されるべきオブジェクトの定義例えば、型宣言を公開してもよい。レポジトリ層942は、格納持続性インターフェイス962と関連付けられてもよい。格納持続性インターフェイス962は、持続性マネージャAPI例えば、IResource持続性マネージャ964を含み、下層にある持続性格納例えば、不揮発性実装982に対して共通のAPIを提供し、持続性格納実装982は、サービスとしてのストレージStaaSベース実装984、プロキシサービス実装986、ファイルシステムベース実装988、もしくはサービス指向アーキテクチャSOAクライアントベース実装990を含みうる。Staasベース実装984は、ホットデプロイおよび迅速なロールアウトもしくはロールバック例えば、データセンター複製もしくはランタイムソースオブトゥルース例えば、UGCおよびオーバーライドサポートをサポートしてもよい。プロキシサーバは、フェッチャもしくはローカルディスクキャッシュを例えば、高性能にするために含んでもよい。SOAクライアントベース実装990は、同様に、図示されていない一つ以上のSOAサービスもしくは図示されていないさらなるStaaSベース実装に基づくものであってもよい。リソースの格納および検索の管理は、実行時に実施されてもよい。したがって、リソースフレームワークのアーキテクチャ900の例示的な一実施形態は、リソースレポジトリを含んでもよい。リソースレポジトリは、リソースにアクセスする均一なAPIを提供するが、型固有APIの付加、接続可能な持続性メカニズムを提供するリソース持続性サービス、もしくは、アウトオブザボックスソリューションとしてのプロトタイプリソースレポジトリを設計時から実行時の間で許容する。このようにして、アーキテクチャ900の例示的な実施形態は、その最良の手法および機能がほとんどのリソースタイプへと適用される可能性があり、その維持やトラブルシューティングが容易もしくは安価である可能性があり、また、ほとんどの構成表出化の必要性に対して容易な主力ソリューションを提供する可能性がある。図10は、例示的なウィジェットフレームワーク1000の構成要素と相互作用する二つのウィジェットのブロック図である。二つのウィジェットのうち一つめのウィジェット、ウィジェット1-1012は、ステップA1-1002、ステップA2-1004もしくはステップA3-1006を含みうる。ステップA1-1002は、動作1OP11008、動作2OP21010もしくはコールバック1012を含みうる。ステップA2-1004は、動作3OP31014およびコールバックCB1018を含みうる。ステップA3-1006は、動作4OP41016およびコールバック1020を含みうる。OP2-1010は第二のサービスに対する呼び出しを含みうる。OP1-1008、OP2-1010、OP3-1014およびOP4-1016は、各々、第一のサービス、第二のサービス、第三のサービスおよび第四のサービスに対する呼び出しを含みうる。コールバック1011は、ウィジェットマネージャ1040が第一の呼び出しもしくは第二の呼び出しの実行に応じて呼び出す機能でありうる。コールバック1018は、ウィジェットマネージャ1040が第三の呼び出しの実行に応じて呼び出すコールバック機能でありうる。コールバック1020は、ウィジェットマネージャ1040が、第四の呼び出しの実行に応じて呼び出す機能でありうる。二つのウィジェットのうち二つめのウィジェット、ウィジェット1024は、ステップB1-1022を含みうる。ステップB1は、動作5OP51026、動作6OP61028およびコールバック1030を含みうる。OP5-1026およびOP6-1028は、各々、第五のサービスおよび第六のサービスに対する呼び出しを含みうる。ウィジェットマネージャ1040は、ウィジェット1-1012およびウィジェット2-1024を管理し、ウィジェット1-1012およびウィジェット2-1024は、それらのライフサイクルもしくはランタイム動作を含む。ウィジェットマネージャ1040は、ウィジェット1-1012に対する参照1042もしくはウィジェット2-1024に対する参照1044を含みうる。さらには、ウィジェットマネージャ1040は、各ウィジェット内のステップに対する参照を含みうる。例えば、ウィジェットマネージャ1040は、ステップA1-1022に対する参照1046もしくはステップB1-1022に対する参照1052を含みうる。ウィジェットマネージャ1040は、ウィジェットからサービスへの呼び出しを遮断し、かつ、ウィジェットエンジン1060への呼び出しを転送してもよい。ウィジェットエンジン1060は、ウィジェットによる一つ以上の呼び出しの処理を取り扱ってもよい。例えば、ウィジェットエンジン1060は、例えば、ウィジェット1-1012によるOP1-1008に対する呼び出し、もしくはウィジェット2-1024によるOP5-1026に対する呼び出しのウィジェットマネージャ1040による遮断に応じてウィジェットマネージャ1040からのOP1-1008に対する参照1062もしくはOP5-1026に対する参照1064を受信してもよい。ウィジェットエンジン1060は、オプティマイザ1066、エグゼキュータ1068もしくはキャッシュ1070を含みうる。オプティマイザ1066は、図2Aおよび図2Bに関連して上述されたように、呼び出しを最適化しうる。エグゼキュータ1068は、図2Bに関連して上述されたように、一つ以上の呼び出しをシリアルにもしくはパラレルに実行しうる。キャッシュ1070は、図2Bに関連して上述されたように、ウィジェットエンジン1060が呼び出しの結果をキャッシュするメモリ例えば、他のシステムメモリよりも高速の揮発性メモリであってもよい。ウィジェットエンジン1060は、図示されていないモジュールを含み、処理すべき呼び出しに関する情報を受信し、処理された呼び出しに関する情報例えば、応答もしくは返答データを送信する。ウィジェットエンジン1060は、図2Aおよび図2Bに関連して上述されたように、最適化された呼び出しの結果の処理に基づいて、一つ以上の呼び出しに対する応答を提供してもよい。図11は、アプリケーションの種々の各クライアント例えば、モバイルウェブブラウザ1152、ウェブブラウザ1154、電子メールクライアント1156もしくは他のクライアント1158に関連しうる、アプリケーション例えば、図1Bのアプリケーション104の種々のバージョン例えば、バージョン1、1162、バージョン2、1164、バージョン3-1166もしくはバージョン4-1168を開発するための例示的な開発者ツール1122の間のインタラクション1100のブロック図である。開発者ツール1122は、アプリケーションサーバ1112に対して通信可能に結合された開発者マシン1102上で実行しうる。アプリケーションの種々のバージョンは、アプリケーションサーバ1112上で実行しうる。モバイルウェブブラウザ1152は、モバイルデバイス1104上で実行し、ウェブブラウザ1154は、パーソナルコンピュータ1106上で実行し、電子メールクライアント1156は、ユーザマシン1108上で実行し、他のクライアント1158は、他のデバイス1110上で実行しうる。種々のクライアントは、アプリケーションサーバ1112に対して通信可能に結合されもよい。開発者ツール1122は、編集モジュール1132、シミュレーティングモジュール1136、もしくは展開モジュール1138を含みうる。編集モジュール1132は、編集用にコンポーネントの設定可能な属性例えば、図2Dのウィジェット1-112を公開することができる可能性がある。すなわち、編集モジュール1132は、上述された図2Dの構成モジュール268のインターフェイスとなることが可能であり、編集用に、設定可能な属性もしくは設定可能な属性に関連するメタデータ例えば、メタデータ定義を発見する。編集モジュール1132は、例えば、展開モジュール1138を利用する迅速な展開を介して実行時にコンポーネントを構成することが可能でありうる。開発者ツール1122は、シミュレーティングモジュール1136を含んでもよく、シミュレーティングモジュール1136は、アプリケーションの導入を要求することなく、アプリケーションもしくは、アプリケーションの特定のコンポーネント、もしくは、アプリケーションの特定のバージョンのシミュレーションを可能にする。例えば、シミュレーティングモジュール1136は、アプリケーションがウェブブラウザで実行されることを可能にするウェブブラウザ例えば、Firefoxの拡張機能であってもよい。JVMが、ウェブブラウザの拡張機能と同一のマシン上で実行されなくてもよい対照的に、例えば、アプレットは、アプレットが実行されているマシン上でJVMを必要とするように、拡張機能は、Java仮想マシンJVMから分離してもよい。アプリケーションは、ウェブページおよび制御ブラウザメニューと相互に作用してもよい。シミュレーティングモジュール1136は、アプレットを利用しなくてもよい。シミュレーティングモジュール1136は、ブラウザメニューおよびウェブページタブに対する可視性を有しうる。シミュレーティングモジュール1136のセキュリティモデルは、アプレットファイル入力もしくは出力、クロスドメインなどほど制限されない。シミュレーティングモジュール1136は、よりインタラクテイブなウェブページアプリケーション用に設計されてもよい。シミュレーティングモジュール1136は、Javaベースの文書オブジェクトモデルDOMを有するウェブページの操作、JavaにおけるDOMイベントの処理例えば、DOMイベントはJavaに到達する前に正規化されてもよい。したがって、イベントもしくはイベントデータのブラウザ固有の動作は減少する可能性がある、ブラウザの開始もしくは終了、ページのロードもしくはアンロード、またはタブイベントの処理、ツールおよび右クリックメニューの変更、メニューからのイベント受信、ブラウザおよびシミュレーティングモジュール1136レベルにおけるデータへのアクセスまたは持続、任意のJavaScriptのウェブページへの送信、任意のJavaScriptの送信に関連する戻り値の受信、アプリケーションマネージャを有するアプリケーション例えば、アプリケーションは、標準HTTPURLを介して配布されてもよいの発見、インストールもしくは管理、または、簡便なUI機能のビルトインライブラリへのアクセスをサポートしてもよい。アプリケーションマネージャは、OSGiフレームワークを利用してもよいし、OSGi提供manifestfmオプションに関連してもよい。したがって、アプリケーションは、jabファイル例えば、OSGimanifestfmファイルを伴うjarファイル、およびカスタムinstallrdfファイルであってもよい。Javaとシミュレーティングモジュール1136との間の通信は、プラットフォーム非依存メッセージング規格例えば、DLCでなされてもよい。開発者ツール1122が、アプリケーションサーバ1112の代わりに開発者マシン1102上で展開されたコンポーネント例えば、アプリケーションサーバの構成要素と通信しうるように、アプリケーションサーバ1112のコンポーネントは、開発者マシン1102上で展開されてもよいし、アプリケーションサーバ1112よりも、開発者マシン1102に対してより近傍に通信可能に結合されたマシン上で展開されてもよい。したがって、シミュレーティングモジュール1136は、開発者ツール1122とアプリケーションサーバ1112との間のより低速な通信チャネルを介して通信することなく、アプリケーションの展開を近傍でシミュレートしうる。図12Aは、シミュレーティングモジュール1136に関連する例示的なHTMLページ例えば、demohtmlのソースコードリスト1200である。図12Bは、例示的なJavaテストクライアント例えば、TestClientjavaのソースコードリスト1220である。図12Cは、ウェブブラウザにおける例示的なHTMLページおよびJavaテストクライアントの実行に関連するJavaコンソールログ1240である。図12Dは、アプリケーションサーバ上の例示的なHTMLページの展開をシミュレーションするシミュレーティングモジュール1136の例示的なユーザインターフェイス1260である。図13Aは、アプリケーションのコンポーネントからサービスへの呼び出しを最適化する例示的な方法1300のフローチャートである。方法1300は、サービスへの第一の呼び出しおよびサービスへの第二の呼び出しを遮断するステップ1302、第一の呼び出しおよび第二の呼び出しを最適化する技術を選択するステップ1304、もしくは、第一の呼び出しおよび第二の呼び出しを最適化する選択された技術を適用するステップを含みうる。技術は、キャッシュからの第一の呼び出しおよび第二の呼び出しへと応答を提供するステップ1310、第一の呼び出しおよび第二の呼び出しを第三の呼び出しへと統合するステップ1312、バッチ呼び出しを実行するステップ1314、第一の呼び出しおよび第二の呼び出しをパラレルに実行するステップ1316、もしくは別の技術を適用するステップ例えば、議論された技術の組み合わせを適用するステップ1318を含みうる。図13Bは、アプリケーションのコンポーネントによって利用されるリソースを集約するための例示的な方法1350のフローチャートである。本方法1350は、第一のウィジェットによる第一のリソースの利用が、第二のウィジェットによる第二のリソースの利用と重複していることを検出するステップ1352、第一のリソースおよび第二のリソースを集約する第三のリソースを生成するステップ1354、第三のリソースを利用するために第一のウィジェットおよび第二のウィジェットを構成するステップ1356、もしくは、クライアントが第三のリソースをキャッシュできるように、第三のリソースを表出化するステップ1358を含みうる。図14は、アプリケーションの多数のバージョンを設計、編集、構成、テストするか、または展開するための例示的な方法1400である。方法1400は、アプリケーションを受信するステップ1402、アプリケーションを生成するステップ1404、アプリケーションにウィジェットを発見するステップ1406、ウィジェットをアプリケーションに添加するステップ1408、ウィジェットを構成するステップ1410、アプリケーションの展開をシミュレーションするステップ1412、もしくは、アプリケーションの多数のバージョンを展開するステップ1414を含みうる。アーキテクチャ図15は、種々の例示的な実施形態が展開される可能性がある、クライアントサーバシステム1500を示すネットワーク図である。ネットワークシステム1502は、ネットワークベースの市場もしくは他の公開システムの例示的な形式において、一つ以上のクライアントに対して、ネットワーク1504例えば、インターネットもしくはワイドエリアネットワークWANを介してサーバ側の機能を提供する。図15は、例えば、ウェブクライアント1506例えば、ワシントン州レドモンドのマイクロソフト社によって開発されたInternetExplorerブラウザなどのブラウザおよび其々のクライアントマシン1510および1512上で実行されるプログラマティッククライアント1508を示す。アプリケーションプログラムインターフェイスAPIサーバ1514およびウェブサーバ1516は、一つ以上のアプリケーションサーバ1518に結合され、一つ以上のアプリケーションサーバ1518に対して、其々、プログラマティックインターフェイスおよびウェブインターフェイスを提供する。アプリケーションサーバ1518は、一つ以上の市場アプリケーション1520および支払アプリケーション1522を提供する。アプリケーションサーバ1518は、また、一つ以上のデータベース1526に対するアクセスを容易にする一つ以上のデータベースサーバ1524に対して結合されるように示される。市場アプリケーション1520は、ネットワークシステム1502にアクセスするユーザに対して、多数の市場機能およびサービスを提供しうる。支払アプリケーション1522は、同様に、ユーザに対して、多数の支払サービスおよび機能を提供しうる。支払アプリケーション1522は、ユーザが口座に値例えば、米国ドルなどの市場通貨もしくはポイントのような専用通貨を蓄積することを可能にし、その後、市場アプリケーション1520を介して入手可能な製品例えば、商品もしくはサービスと、累積値を変換してもよい。市場アプリケーション1520および支払アプリケーション1522は、図15においては、両者がネットワークシステム1502の一部を形成するように示されているが、別の実施形態においては、支払アプリケーション1522は、ネットワークシステム1502から分離された別個の支払サービスの一部を形成してもよいことを理解されたい。さらには、図15に示されるシステム1500は、クライアントサーバアーキテクチャを使用しているが、本開示は、無論、このようなアーキテクチャに限定されることはなく、例えば、分散型、もしくはピアツーピアアーキテクチャシステムにも同様にアプリケーションを見出すことができる。種々の市場アプリケーション1520および支払アプリケーション1522は、スタンドアローンソフトウェアプログラムとしても実装することができ、スタンドアローンソフトウェアプログラムは、必ずしもネットワーク機能を有しない。ウェブクライアント1506は、ウェブサーバ1516によってサポートされるウェブインターフェイスを介して、種々の市場アプリケーション1520および支払アプリケーション1522にアクセスする。同様に、プログラマティッククライアント1508は、APIサーバ1514によって提供されるプログラマティックインターフェイスを介して、市場アプリケーション1520および支払アプリケーション1522によって提供される種々のサービスおよび機能にアクセスする。プログラマティッククライアント1508は、例えば、販売者がオフラインでネットワークシステム1502上のリストを作成し管理することを可能にする、かつ、プログラマティッククライアント1508とネットワークシステム1502との間のバッチモード通信を実施する販売者アプリケーション例えば、カリフォルニア州サンノゼのeBayIncイーベイによって開発されたTurboListerターボリスターアプリケーションであってもよい。図15は、APIサーバ1514によって提供されるプログラマティックインターフェイスを介してネットワークシステム1502に対するプログラマティックアクセスを有するものとして、第三者サーバマシン1530上で実行される第三者アプリケーション1528をも示す。例えば、第三者アプリケーション1528は、ネットワークシステム1502から検索された情報を利用して、第三者によって提供されるウェブサイト上の一つ以上の特性もしくは機能をサポートしてもよい。第三者ウェブサイトは、例えば、ネットワークシステム1502の関連するアプリケーションによってサポートされる一つ以上の、販売促進機能、市場機能もしくは支払い機能を提供してもよい。図16は、例示的な一実施形態において、ネットワークシステム1502の一部として提供される、多数のアプリケーション1520および1522を示すブロック図である。アプリケーション1520および1522は、サーバマシン間での通信を可能にするように通信しやすく結合された専用もしくは共有の図示されていないサーバマシン上で提供されてもよい。アプリケーション1520および1522は、それ自体が例えば、適切なインターフェイスを介してお互いに、かつ種々のデータソースに対して通信可能に結合されており、アプリケーション1520と1522との間で情報を伝達することを可能にするか、または、アプリケーション1520および1522が共通のデータを共有して、アクセスするのを可能にする。アプリケーション1520および1522は、図15のデータベースサーバ1524を介して、一つ以上のデータベース1526にさらにアクセスしてもよい。ネットワークシステム1502図15は、多数の発行、リスト化、および価格設定メカニズムを提供し、それによって、販売者は、販売用に商品もしくはサービスをリスト化または、商品もしくはサービスに関する情報を発行してもよく、購入者は、そのような商品もしくはサービスを購入するために関心や欲求を示すことが可能となり、価格は、商品もしくはサービスに関係する取引用に設定することができる。そのために、図16においては、市場アプリケーション1520および支払アプリケーション1522は、少なくとも一つの発行アプリケーション1600および一つ以上のオークションアプリケーション1602を含むように示される。オークションアプリケーション1602は、オークション形式のリスト化および価格設定メカニズム例えば、イングリッシュオークション、ダッチオークション、ヴィックリーオークションセカンドプライスオークション、チャイニーズオークション、ダブルオークション、リバースオークション等をサポートする。種々のオークションアプリケーション1602は、それによって販売者がリストに関連して最低競売リバース価格を指定する最低競売価格機能、ならびに、それによって入札者が自動的な代理入札を実施する代理入札機能などの、上記オークション形式をサポートする多数の機能を提供する可能性がある。多数の定価アプリケーション1604は、定価リスト化形式例えば、分類された普通の広告型リストもしくはカタログリストおよび買い取り型リスト化をサポートする。具体的には、買い取り型リスト化例えば、カリフォルニア州サンノゼのeBayIncによって開発されたBuyItNowBIN技術を含むは、オークション形式リスト化と合わせて提供され、オークションを介して売りに出されている商品もしくはサービスを、定価で購入者が購入することを可能にしうる。一般的に、ここでいう定価はオークションの開始価格よりも高い。店舗アプリケーション1606は、販売者が仮想店舗内でのリストをグループ化することを可能にする。仮想店舗は、商標で示されてもよいし、そうでない場合は、販売者によって、また、販売者のためにパーソナライズカスタマイズされてもよい。このような仮想店舗は、関連する販売者に対して特定され、パーソナライズされた販売促進策、奨励策および機能を提供してもよい。評価アプリケーション1608は、ネットワークシステム1502を利用して取引するユーザが、評価を確立し、構築し、維持することを可能にする。評価は、潜在的な取引相手に対して利用可能にし、公開されてもよい。例えば、ネットワークシステム1502が個人対個人の取引をサポートしている場合を考えると、ユーザは、履歴を有しないか、または、それによって潜在的な取引相手の信頼性および信用が評価されうる他の参照情報を有さない可能性がある。評価アプリケーション1608は、例えば、他の取引相手によって提供されたフィードバックを介してユーザが、時間をかけてネットワークシステム1502内の評価を確立することを可能にする。他の潜在的な取引相手は、その後、信用および信頼性を評価する目的でこのような評価を参照する可能性がある。パーソナライズアプリケーション1610は、ネットワークシステム1502のユーザが、ネットワークシステム1502を介する、彼らのインタラクションの種々の態様をパーソナライズすることを可能にする。例えば、ユーザは、適切なパーソナライズアプリケーション1610を利用して、パーソナライズされた参照ページを生成し、その参照ページにおいて、ユーザが当事者であるもしくは当事者であった取引に関する情報を閲覧してもよい。さらには、パーソナライズアプリケーション1610は、ユーザがネットワークシステム1502および他の当事者を伴うインタラクションのリストおよび他の態様をパーソナライズすることを可能にしうる。ネットワークシステム1502は、例えば、特定の地理的地域に対してカスタマイズされた多数の市場をサポートしてもよい。ネットワークシステム1502のあるバージョンは、英国用にカスタマイズされ、別のバージョンのネットワークシステム1502は、米国用にカスタマイズされてもよい。これらのバージョンの各々は、独立した市場として動作してもよいし、または、共通する基礎を有する市場のカスタマイズされたもしくは国際化された提示であってもよい。ネットワークシステム1502は、したがって、既定の基準例えば、地理的、人口統計学的もしくは市場基準に従って、ネットワークシステム1502によって情報および/もしくは情報の提示をカスタマイズする、多数の国際化アプリケーション1612を含みうる。例えば、国際化アプリケーション1612は、ネットワークシステム1502によって操作され、かつ、其々のウェブサーバ1516図15を介してアクセス可能な、多数の地域的ウェブサイト用の情報のカスタマイズをサポートするために利用されてもよい。ネットワークシステム1502のナビゲーションは、一つ以上のナビゲーションアプリケーション1614によって容易にされてもよい。できるだけ視覚的な情報を与え、魅力的になるように、ネットワークシステム1502を介して使用可能なリストを作成するために、市場アプリケーション1520および支払アプリケーション1522は、ユーザがリスト内に含める画像をアップロードするために利用しうる、一つ以上のイメージングアプリケーション1616を含みうる。イメージングアプリケーション1616は、潜在的な購入者に対して提示される画像ギャラリーなどの、一つ以上の販売促進機能をサポートしてもよい。例えば、販売者は、販売促進された品目用に、画像ギャラリー内に含まれる画像を有するために、追加料金を支払う可能性がある。リスト生成アプリケーション1618は、販売者が、ネットワークシステム1502を介して取引を望んでいる商品もしくはサービスに関連するリストを簡便に作成することを可能にし、リスト管理アプリケーション1620は、販売者がこのようなリストを管理するのを可能にする。特に、特定の販売者が多数のリストを作成する、ならびに/または、発行する場合には、このようなリストの管理は課題を有する。リスト管理アプリケーション1620は、多数の機能例えば、自動再リスト化、在庫レベルモニタなどを提供し、このようなリストを管理する上で販売者を援助する。一つ以上のリスト化後管理アプリケーション1622は、リスト化後に典型的に生じる多数のアクティビティで販売者を援助する。例えば、一つ以上のオークションアプリケーション1602によって容易にされたオークションの完了によって、販売者は、特定の購入者に関するフィードバックを残すことを望む可能性がある。これを終了させるために、リスト化後管理アプリケーション1622は、一つ以上の評価アプリケーション1608に対するインターフェイスを提供し、販売者が、評価アプリケーション1608に対して多数の購入者に関するフィードバックを簡便に提供することを可能にする。紛争解決アプリケーション1624は、取引の当事者間に生じる紛争がそれによって解決されうるメカニズムを提供する。例えば、紛争解決アプリケーション1624は、誘導手順を提供して、それによって当事者は、紛争を解決するために多数の動作を経るように誘導される。紛争が誘導された手順を介しても解決できなかった場合には、その紛争は、第三者調停者もしくは仲裁人へと段階的に引き上げられてもよい。多数の詐欺防止アプリケーション1626は、ネットワークシステム1502内で詐欺の発生を減少させるために、詐欺検出および防止メカニズムを実装する。メッセージングアプリケーション1628は、ネットワークシステム1502のユーザに対するメッセージの生成および伝達を担当する。これらのメッセージは、例えば、ネットワークシステム1502において、リストの状態に関してユーザに通知しうる例えば、オークション過程の間、入札者に対してアウトビッド通知を提供する、または、ユーザに対して販売促進情報および広告宣伝情報を提供する。其々のメッセージングアプリケーション1628は、ユーザに対してメッセージを伝達するため、多数のメッセージ伝達ネットワークおよびプラットフォームのうちのいかなるものでも利用してよい。例えば、メッセージングアプリケーション1628は、電子メールeメール、インスタントメッセージIM、ショートメッセージサービスSMS、テキスト、ファクシミリ、もしくは音声例えば、VoiceoverIPVoIPメッセージを、有線ネットワーク例えばインターネット従来型電話サービスPOTSネットワーク、もしくはワイヤレス例えば、モバイル、携帯電話、WiFi、WiMAXネットワークを介して伝達してもよい。広告宣伝アプリケーション1630は、販売者がネットワークシステム1502を介した販売を増加させることを可能にするため、販売者が使用可能である種々の広告宣伝機能をサポートする。広告宣伝アプリケーション1630は、販売者によって実行される可能性がある種々の広告宣伝機能を動作させ、また、販売者によって使用された広告宣伝戦術の成功を監視かつ追跡しうる。ネットワークシステム1502それ自体、もしくはネットワークシステム1502を介して取引する一人以上の当事者は、一つ以上のロイヤルティ/販売促進アプリケーション1632によってサポートされる、ロイヤルティプログラムを動作させてもよい。例えば、購入者は、特定の販売者と確立および/または完結した各取引のために、ロイヤルティポイントもしくは販売促進ポイントを受け取ってもよく、累積したロイヤルティポイントが交換できることによって報酬を提供されてもよい。[モジュール、コンポーネントおよび論理]論理もしくは多数のコンポーネント、モジュールもしくはメカニズムを含むものとして、ここではある実施形態が記述される。モジュールは、ソフトウェアモジュール例えば、マシンで読み出し可能な記憶媒体上で、もしくは伝達信号において具現化されるコードもしくはハードウェアモジュールのいずれかを構成しうる。ハードウェアモジュールは、ある動作を実施することが可能な具体的ユニットであって、ある方法で構成または配置されてもよい。例示的な実施形態においては、一つ以上のコンピュータシステム例えば、スタンドアローン、クライアントもしくはサーバコンピュータシステムもしくは、コンピュータシステム例えば、プロセッサもしくはプロセッサの集合の一つ以上のハードウェアモジュールは、本明細書で記述されるようなある動作を実施するために動作するハードウェアモジュールとして、ソフトウェアモジュールによって構成されてもよい。種々の実施形態においては、ハードウェアモジュールは、機械的もしくは電子的に実装されてもよい。例えば、ハードウェアモジュールは、ある動作を実施するために例えば、フィールドプログラマブルゲートアレイFPGAもしくは特定用途向け集積回路ASICなどの専用プロセッサとして恒久的に構成される専用回路もしくは論理を含みうる。ハードウェアモジュールは、ある動作を実施するためにソフトウェアによって一時的に構成される、プログラマブル論理もしくは回路例えば、汎用プロセッサもしくは他のプログラマブルプロセッサ内に包含されたものとしてを含んでもよい。恒久的に構成される専用回路、もしくは一時的に構成される例えば、ソフトウェアによって構成される回路として、ハードウェアモジュールを機械的に実装する判断は、コストおよび時間を考慮してなされてもよいことを理解されたい。したがって、ハードウェアモジュールという用語は、具体的なエンティティを包含し、本明細書で記述されたある方法で動作する、および/もしくはある動作を実施するために、物理的に構成されるか、恒久的に構成される例えば、ハードワイヤードされるか、一時的に構成される例えば、プログラムされるエンティティであると理解されるべきである。ハードウェアモジュールが一時的に構成される例えば、プログラムされる実施形態を考えると、ハードウェアモジュールの各々は、時間内のあらゆるインスタンスにおいて、構成またはインスタンス形成される必要がない。例えば、ハードウェアモジュールがソフトウェアを利用して構成された汎用プロセッサを含む場合、汎用プロセッサは、異なる時間において、其々異なるハードウェアモジュールとして構成されてもよい。ソフトウェアは、したがって、プロセッサを構成し、期間のうちのあるインスタンスにおいては、特定のハードウェアモジュールを構成し、期間のうちの異なるインスタンスにおいては、異なるハードウェアモジュールを構成する。ハードウェアモジュールは、他のハードウェアモジュールへと情報を提供でき、かつ、他のハードウェアモジュールから情報を受信できる。したがって、記述されるハードウェアモジュールは、通信可能に結合しているものとみなされてもよい。このような多数のハードウェアモジュールが同期間に存在する場合、通信は、ハードウェアモジュールを接続する信号伝達を介して例えば、適切な回路およびバスを介して達成されうる。多数のハードウェアモジュールが異なる時間に構成またはインスタンス形成される実施形態においては、このようなハードウェアモジュール間の通信は、例えば、多数のハードウェアモジュールがアクセスを有するメモリ構造における情報の格納および検索を介して達成されてもよい。例えば、あるハードウェアモジュールは、ある動作を実施して、通信可能に結合されたメモリデバイスにその動作の出力を格納しうる。さらに別のハードウェアモジュールは、その後、もっと遅い時刻に、格納された出力を検索して処理するためにメモリデバイスにアクセスしてもよい。ハードウェアモジュールは、入力もしくは出力デバイスとの通信を開始してもよいし、リソース例えば、情報の集合上で動作できる。本明細書で記述される例示的な方法の種々の動作は、関連動作を実施するために、一時的に構成される例えばソフトウェアによってか、または恒久的に構成される一つ以上のプロセッサによって、少なくとも部分的に実施されてもよい。一時的に構成されようが、または恒久的に構成されようが、このようなプロセッサは、一つ以上の動作もしくは機能を実施するために動作する、プロセッサ実装されたモジュールを構成してもよい。本明細書で言及されるモジュールは、例示的な幾つかの実施形態においては、プロセッサ実装されたモジュールを含みうる。同様に、本明細書で記述される方法は、少なくても部分的にプロセッサ実装されてもよい。例えば、方法の動作のうち少なくとも幾つかは、一つ以上のプロセッサもしくはプロセッサ実装されたモジュールによって実施されてもよい。ある動作の性能は、一つ以上のプロセッサ間で分散され、単一のマシン内に存在するだけではなく、多数のマシンに配置されてもよい。例示的な幾つかの実施形態においては、プロセッサもしくは複数のプロセッサは、単一の位置例えば、家庭環境、オフィス環境もしくはサーバーファームとしてに配置されてもよいし、他の実施形態においては、プロセッサは、多数の位置に分散されてもよい。一つ以上のプロセッサは、クラウドコンピューティング環境もしくはサービスとしてのソフトウェアSaaSとして、関連する動作の性能をサポートするように動作してもよい。例えば、少なくとも幾つかの動作は、コンピュータのグループプロセッサを含むマシンの実施例としてによって実施されてもよく、これらの動作は、ネットワーク例えば、インターネットを介して、ならびに、一つ以上の適切なインターフェイス例えば、APIを介してアクセスすることが可能である。[電子装置およびシステム]例示的な実施形態は、デジタル電子回路もしくはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせとして実装されてもよい。例示的な実施形態は、データ処理装置例えば、プログラマブルプロセッサ、コンピュータもしくは多数のコンピュータによる実行のため、またはその動作の制御のために、例えば、マシンで読み出し可能な記憶媒体内のコンピュータプログラムプロダクト例えば、情報キャリア内で具体的に具現化されたコンピュータプログラムを利用して実装されてもよい。コンピュータプログラムは、コンパイルされたか、もしくは翻訳された言語を含む、プログラミング言語のうちのあらゆる形式で記述することが可能であり、スタンドアローンプログラムもしくはモジュール、サブルーチン、もしくはコンピューティング環境における利用に適切な他のユニットを含むあらゆる形式で展開することができる。コンピュータプログラムは、一つのコンピュータもしくは多数のコンピュータ上で展開し、実行することができる。多数のコンピュータは、単一位置にあるか、または多数の位置に分散され、通信ネットワークで相互接続される。例示的な実施形態においては、動作は、コンピュータプログラムを実行する一つ以上のプログラマブルプロセッサによって実施され、入力データを操作し、出力を生成することによって機能を実施する。方法の動作もまた、例えば、フィールドプログラマブルゲートアレイFPGAもしくは特定用途向け集積回路ASICなどの専用論理回路によって実施することができ、例示的な実施形態の装置は、専用論理回路として実装されてもよい。コンピューティングシステムは、クライアントおよびサーバを含みうる。クライアントおよびサーバは、概して、お互いから遠隔の位置にあり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、其々のコンピュータ上で実行し、かつ、クライアントサーバ関係をお互いに有するコンピュータプログラムによって生じる。プログラマブルコンピューティングシステムを展開する実施形態においては、ハードウェアおよびソフトウェアアーキテクチャの双方の考慮が必要であることを理解されたい。特に、ある機能を恒久的に構成されたハードウェア例えば、ASICで実装するか、一時的に構成されたハードウェア例えば、ソフトウェアおよびプログラマブルプロセッサの組み合わせで実装するか、または、恒久的に構成されたハードウェアと一時的に構成されたハードウェアの組み合わせで実装するかは、設計上の選択であってもよいことを理解されたい。以下に記述されるのは、種々の例示的な実施形態において展開されうる、ハードウェア例えば、マシンおよびソフトウェアアーキテクチャである。[例示的なマシンアーキテクチャおよびマシンで読み出し可能な記憶媒体]図17は、本明細書で議論された方法論のうちの任意の一つ以上をマシンに実施させるための命令が実行されうるコンピュータシステム1700の例示的な形式におけるマシンのブロック図である。別の実施形態においては、マシンは、スタンドアローンデバイスとして動作するか、または他のマシンに対して接続され例えば、ネットワークを介して接続されてもよい。ネットワーク接続された配置においては、マシンは、サーバクライアントネットワーク環境におけるサーバもしくはクライアントマシンの容量で動作してもよいし、または、ピアツーピアもしくは分散ネットワーク環境におけるピアマシンとして動作してもよい。マシンは、パーソナルコンピュータPC、タブレットPC、セットトップボックスSTB、携帯情報端末PDA、携帯電話、ウェブ機器、ネットワークルータ、スイッチもしくはブリッジ、または、そのマシンによってなされる動作を指定するシーケンシャルまたはそうでない命令を実行することが可能なあらゆるマシンでありうる。さらには、単一のマシンのみが図示されているが、マシンという用語は、本明細書で議論された方法論のうちの任意の一つ以上を実施する一組もしくは複数組の命令を個々に、または共同して実行する、複数のマシンによる任意の集合を含むものとして解釈されるべきである。例示的なコンピュータシステム1700は、プロセッサ1702例えば、中央処理装置CPU、グラフィック処理ユニットGPUもしくはその両方、メインメモリ1704、およびスタティックメモリ1706を含み、それらはお互いにバス1708を介して通信する。コンピュータシステム1700は、ビデオディスプレイユニット1710例えば、液晶ディスプレイLCDもしくはブラウン管CRTをさらに含んでもよい。コンピュータシステム1700は、英数字入力デバイス1712例えば、キーボード、ユーザインターフェイスUIナビゲーションもしくはカーソル制御デバイス1714例えば、マウス、ディスクドライブユニット1716、信号生成デバイス1718例えば、スピーカおよびネットワークインターフェイスデバイス1720をも含む。[マシンで読み出し可能な記憶媒体]ディスクドライブユニット1716は、本明細書で記述された方法論もしくは機能のうちの任意の一つ以上を具現化するか、またはそれによって利用される、一つ以上の組の命令1724およびデータ構造例えば、ソフトウェアが格納された、マシンで読み出し可能な記憶媒体1722を含む。命令1724は、コンピュータシステム1700によるそれらの実行中に、メインメモリ1704および/もしくはプロセッサ1702内に完全に、または少なくとも部分的に存在し、メインメモリ1704およびプロセッサ1702もまた、マシンで読み出し可能な記憶媒体を構成する。命令1724は、スタティックメモリ1706内にもまた、完全に、または少なくとも部分的に存在してもよい。マシンで読み出し可能な記憶媒体1722は、例示的な一実施形態においては、単一の記憶媒体として示されているが、マシンで読み出し可能な記憶媒体という用語は、一つ以上の命令1724もしくはデータ構造を格納する単一の記憶媒体もしくは複数の記憶媒体例えば、集中型もしくは分散型データベース、ならびに/または、関連したキャッシュおよびサーバを含んでもよい。また、マシンで読み出し可能な記憶媒体という用語は、本実施形態の方法論のうちの任意の一つ以上をマシンに実施させるマシンによって実行されるための命令を格納し、エンコードし、伝達することが可能な具体的なあらゆる媒体、または、このような命令に関連するか、このような命令によって利用されるデータ構造を格納し、エンコードし、伝達することが可能な具体的なあらゆる媒体を含むものとして解釈されるべきである。したがって、マシンで読み出し可能な記憶媒体という用語は、ソリッドステートメモリ、光学媒体および磁気記憶媒体を含むものとして解釈されるべきであるが、そのいずれにも限定はされない。マシンで読み出し可能な記憶媒体の具体的な実施例は、不揮発性メモリを含む。例えば、不揮発性メモリは、例示の目的のため、消去可能プログラマブルリードオンリーメモリEPROM、電子的に消去可能なプログラマブルリードオンリーメモリEEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス;内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク;光磁気ディスク;ならびにコンパクトディスクリードオンリーメモリCDROMおよびデジタル多目的ディスクもしくはデジタルビデオディスクリードオンリーメモリDVDROMディスクを含む。[伝送媒体]命令1724は、伝送媒体を利用し、通信ネットワーク1726を介してさらに伝送または受信されてもよい。命令1724は、ネットワークインターフェイスデバイス1720および多数の既知の転送プロトコル例えば、ハイパーテキスト転送プロトコルもしくはHTTPのうちのいずれかを利用して伝送されてもよい。通信ネットワークの実施例は、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、インターネット、携帯電話ネットワーク、従来型電話サービスPOTSネットワーク、およびワイヤレスデータネットワーク例えば、WiFiネットワーク、およびWiMaxネットワークを含む。伝送媒体という用語は、マシンによる実行のための命令を格納、エンコード、または伝達することが可能なあらゆる無形媒体を含むものとして解釈されるべきであり、このようなソフトウェアの通信を容易にするデジタルもしくはアナログ通信信号もしくは他の無形媒体を含む。一実施形態は、具体的な例示的実施形態を参照して記述されてきたが、本開示の広範な趣旨および範囲を逸脱することなく、これらの実施形態に対して種々の改変および変更がなされてもよいことは明らかである。したがって、明細書および図面は、限定する意味ではなく、例示的な意味としてみなされるべきである。本明細書の一部を形成する付随の図面は、本発明の主題が実施される可能性のある具体的な実施形態を、限定する目的ではなく例示する目的で、示すものである。示された実施形態は、当業者が本明細書で開示された教示を実践することが可能なほど、十分詳細に記述される。示された実施形態から他の実施形態が利用され、派生する可能性があり、構造的および論理的置換ならびに変更が本開示の範囲から逸脱することなく加えられてもよい。したがって、この詳細な説明は、限定する意味で解釈されるべきではなく、種々の実施形態の範囲は、添付の請求項およびその請求項が権利を有する均等物の全範囲によってのみ定義される。本発明の主題のこのような実施形態が、個々に、および/もしくは集合的に、簡便のため、単に発明という用語によって、本明細書で言及されているが、実際に一つ以上の発明が開示される場合には、如何なる単一の発明もしくは発明の概念へと、本出願の範囲を故意に限定することを意図するものではない。したがって、本明細書では具体的な実施形態が示され、かつ記述されてきたが、同一の目的を達すると推定されるあらゆる配置が、示された具体的実施形態に対して置換されてもよいことを理解されたい。本開示は、種々の実施形態のあらゆる、および全ての適応もしくは変形を包含することを意図される。上述された実施形態および他の実施形態の組み合わせは、本明細書では特に記述されていないが、上記の説明を検討することによって当業者にとって明らかであろう。"