(57)【要約】【課題】ビジネスオブジェクトをアクセスするためのリクエストの受信に応答してビジネスオブジェクトに関連するアクションを提供することを可能にする方法および装置を提供すること。【解決手段】一実施形態において、関連アクションは、リクエストが生成されたところの作業環境のコンテキストに基づき識別される。コンテキストは、リクエスト者のビジネスロール、リクエストされたオブジェクトのタイプ、オブジェクトの特定のインスタンス、特定のインスタンスとリクエスト者との関係、リクエストが受信されたところのチャンネルなどを含んでもよい。識別された関連アクションは、ビジネスオブジェクトの消費者に提供される。【選択図】図１
2008134998.tif 000002
【特許請求の範囲】
【請求項１】
データオブジェクト消費者にコンテンツを提供するための方法であって、
データオブジェクトについてのリクエストを受信するステップと、
前記リクエストの受信に応答して、前記データオブジェクトに関連するビジネスプロセスのアクションを識別するステップと、
前記リクエストに応答して前記識別されたアクションに対するアクセスを提示として提供するステップと
を含む方法。
【請求項２】
前記リクエストを受信するステップは、
特定のパラメータを有するオブジェクトについての検索クエリーを受信するステップと、
前記検索クエリーの受信に応答して、前記特定のパラメータと統計的に一致するパラメータを有する前記データオブジェクトを識別するステップと
を更に含む請求項１記載の方法。
【請求項３】
前記リクエストを受信するステップは、
作業環境のソフトウェアアプリケーションが前記データオブジェクトに対するアクセスをリクエストすることを判定するステップを含む請求項１記載の方法。
【請求項４】
前記ビジネスプロセスのアクションを識別するステップは、
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップを含む請求項１記載の方法。
【請求項５】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記アクションに対する前記ビジネスオブジェクトの関係を示す前記データオブジェクトと共に格納された関連性メタデータに基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項６】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
関連性データベースに格納された関連性データに基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項７】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記データオブジェクトの特定のインスタンスに対するリクエストを生成したリクエスト者の関係に基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項８】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記リクエストを生成したリクエスト者のロールに基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項９】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記データオブジェクトのタイプに基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項１０】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記データオブジェクトの特定のインスタンスの特性に基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項１１】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記リクエストが生成されたところの作業環境コンテキストに基づき前記アクションを識別するステップを更に含む請求項４記載の方法。
【請求項１２】
前記リクエストのコンテキストに基づき前記ビジネスプロセスのアクションを識別するステップは、
前記リクエストが受信されたところのチャンネルを判定するステップと、
判定されたチャンネルに基づき前記アクションを識別するステップと
を更に含む請求項４記載の方法。
【請求項１３】
装置に動作を実行させるための命令を提供するコンテンツが格納されたマシン読取可能な媒体を備えた製造品であって、前記動作が、
作業環境のデータオブジェクトを識別するステップと、
前記データオブジェクトに関連する関係メタデータをアクセスするステップと、
前記作業環境のコンテキストに基づき、前記関係メタデータにおいて示されるビジネスプロセスのアクションを識別するステップと、
前記作業環境における前記データオブジェクトの消費者に、前記識別されたアクションに対するアクセスを提供するステップと
を含む製造品。
【請求項１４】
前記作業環境のデータオブジェクトを識別するための命令を提供するコンテンツは、検索クエリーに応答して検索結果として生成されたデータオブジェクトを識別するための命令を提供するコンテンツを含む請求項１３記載の製造品。
【請求項１５】
前記作業環境のコンテンツに基づき前記アクションを識別するための命令を提供するコンテンツは、少なくとも、リクエスト者のビジネスロール、前記データオブジェクトのタイプ、リクエスト者に対する前記データオブジェクトのインスタンスの関係、前記リクエストのソースチャンネルのうちの一つに基づき前記アクションを識別するための命令を提供するコンテンツを含む請求項１３記載の製造品。
【請求項１６】
関連アクションサーバーであって、
作業環境内からリクエストされたデータオブジェクトを識別するオブジェクト識別器と、
前記識別されたデータオブジェクトに関連するアクションを提供するアクション識別モジュールと、
前記作業環境内の前記アクションを提示して前記データオブジェクトの消費者に前記アクションに対するアクセスを提供するアクション提示モジュールと
を備えた関連アクションサーバー。
【請求項１７】
前記識別されたデータオブジェクトに関連する前記作業環境のコンテキストを判定するコンテキスト判定モジュールを更に備え、
前記アクション識別モジュールは、前記判定されたコンテキストに基づき前記識別されたデータオブジェクトに関連する前記アクションを更に提供する請求項１６記載の関連アクションサーバー。
【請求項１８】
前記コンテキスト判定モジュールは、前記作業環境のコンテキストが、少なくとも、リクエスト者のビジネスロール、前記データオブジェクトのタイプ、リクエスト者に対する前記データオブジェクトのインスタンスの関係、前記リクエストのソースチャンネルのうちの一つであると判定する請求項１７記載の関連アクションサーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル化されたソフトウェアアプリケーションに関し、更に詳しくは、リクエストされたデータオブジェクトに関連するビジネスプロセスアクションを提示するサーバーに関する。
【背景技術】
【０００２】
ビジネスコンテキスト(business context)において、ユーザーは、通常、情報を何とかするという状況(context)で情報を検索する。単に情報自体に関心があるというよりは、ビジネスコンテキストにおけるユーザーは、ビジネスプロセスタスク(business process task)の１又は２以上のアクションに関する情報を探す。加えて、ビジネスコンテキストにおける作業(work)は、単に情報よりも、ビジネスオブジェクトの使用、またはビジネスの目的を有するデータオブジェクトに焦点を当ててもよい。従来の検索アルゴリズムは、通常、ビジネスオブジェクトに対する検索を対象とすることと、検索結果に関する作業を実施するのにユーザーが欲する資源を提供することの両方の観点で、ビジネスオブジェクトを取り扱うには不十分である。
【０００３】
上記検索シナリオに加え、従来の作業コンテキストは、“目前の課題(task at hand)”に焦点を当てる傾向がある。特定のタスクに焦点を当てることはいくらかの利益を提供することができるが、それは、ユーザーが達成しようとしている事柄の領域の観点で、制限的であり得る。従来のアプリケーション及びビジネスオブジェクトは、任意のコンテキストの枠内からユーザーがいっそう生産的になることを可能にするユーザーへの選択肢を提供するための適切なメカニズムを提供することができない。
【発明の開示】
【課題を解決するための手段】
【０００４】
本方法及び装置は、データオブジェクトに関連するアクションを提供することを可能にする。関連アクションを提供するデータオブジェクトが識別される。データオブジェクトは、検索クエリーとともに識別され、及び／又は、アプリケーションにおいてアクセスがリクエストされるデータオブジェクトを識別することにより、識別されることができる。一実施形態において、関連アクションは、データオブジェクトがインスタンス化された作業環境のコンテキストに基づき識別される。作業環境のコンテキストは、リクエスト者(requestor)のビジネスロール(business role)、リクエストされたオブジェクトのタイプ、オブジェクトの特定のインスタンス、上記特定のインスタンスに対するリクエスト者の関係、リクエストが受信されたチャンネルなど、或いはその組合せのうちの任意のものを含んでもよい。識別された関連アクションは、データオブジェクトの消費者に提供される。そして、データオブジェクトの消費者は、上記関連アクションをアクセスして、データオブジェクトに関連する追加の動作を実施することができる。
【０００５】
次の記述は、本発明の実施形態の一例として与えられる種々の図面の説明を含む。図面は、一例に過ぎず、本発明の制限を意図するものではない。
【０００６】
図１は、ランタイム及びデザインタイムコンポーネントを備えたアプリケーションフレームワークの実施形態のブロック図である。
【０００７】
図２は、複合アプリケーションアーキテクチャの一実施形態のブロック図である。
【０００８】
図３は、オブジェクトについての関連性情報をアクセスする関連アクションサーバーの一実施形態のブロック図である。
【０００９】
図４は、検索アーキテクチャにおける関連アクションサーバーの一実施形態のブロック図である。
【００１０】
図５は、コンテンツに対するリクエストに応答してコンテンツを提供するコンテンツマネージャの一実施形態のブロック図である。
【００１１】
図６は、関連アクションサーバーの一実施形態のブロック図である。
【００１２】
図７は、関連アクションコンテンツを提供するためのプロセスの一実施形態のフロー図である。
【発明を実施するための最良の形態】
【００１３】
本明細書では、１又は２以上の「実施形態(embodiments)」に関する言及は、本発明の少なくとも一つの実施に含まれる特定の特徴、構造、または特性を記述するものとして理解されるべきである。本明細書に現れる「一実施形態において」または「他の実施形態において」という表現は、本発明の種々の実施形態および実施を記述するものであり、必ずしも全てが同一の実施形態を指すものではない。しかしながら、それらは、また、必ずしも相互に排他的でもない。本発明の実施形態を概略的に説明し、その後、図面を参照してさらに詳細に説明することにより、以下に具体的な詳細および実施について述べる。
【００１４】
関連アクションサービスは、ビジネスオブジェクトに関連する１又は２以上のアクション(action)を提供する。本明細書では、ビジネスオブジェクト(business object)は、ビジネスアプリケーション及び／又は目的を有するデータオブジェクト(data object)、及び／又は、企業または組織体における使用を指す。データオブジェクトは、アプリケーションの基本ビルディングブロックであり、他の情報またはファンクションとのやり取り(interaction)またはその使用に関するルール又はパラメータを有するデータを含む。一実施形態において、データオブジェクトは、データオブジェクトと他のデータオブジェクトとの間、またはデータオブジェクトと特定のビジネスアクションまたはタスクなどとの間の１又は２以上の関係を示すメタデータを含む。関係データ(relation data)または関連性情報(relatedness information)は、データオブジェクトと、このデータオブジェクトが使用される方法との間の任意の関係、または上記データオブジェクトと共に使用され又は上記データオブジェクトによる影響を受け得る情報を示すことができる。一般に、関連性情報は、特定のアクションまたはオブジェクトを有する特定のデータオブジェクトの使用頻度を示す。一実施形態において、メタデータは、他のオブジェクトの識別子を格納することにより関係を示し、またはビジネスプロセス或いはタスクの関係を示す。或いは、もしくは加えて、メタデータは、関連アクションデータベースまたはルックアップテーブルへのインデックスとして働くデータオブジェクトについての識別子を格納することができる。関連アクションサービスは、メタデータにおいて示されるデータオブジェクトに関連するアクションを示す。一実施形態において、上記関係(relationships)は、命名(named)または識別(identified)されることができ、そして、データオブジェクトと関連アイテムとの間の各方向において命名されてもよい。上記関係の命名は、関連アクションサーバーがクエリーに対する関係をマッピングするメカニズムを提供することができる。例えば、“John Smith”についてのオブジェクトは、関連性フィールド“managed by=Jane Doe”及び／又は
フィールド“manages=David Johnson”を有することができる。
【００１５】
一実施形態において、関連アクションサービスは、関連アクションサーバーによって提供される。関連アクションサーバーは、１又は２以上の実施における関連アクションサービスを提供する。例えば、関連アクションサーバーは、検索サービスと連動して、クエリーに戻される１又は２以上のデータオブジェクトについての関連アクションを提供することができる。他の例では、関連アクションサーバーは、作業環境におけるアクティブデータオブジェクト(active data object)についての関連アクションを識別することができる。アクティブデータオブジェクトは、実施すべきタスクまたはアプリケーション（例えば、複合アプリケーション）の一部としてユーザーに提供されるデータオブジェクトを指す。作業環境は、ユーザーに利用可能なアプリケーション、ファンクション(function)、承認(permission)を指す。従って、関連アクションサーバーは、検索サービスに追加のコンテンツを提供するように作動し、そして作業環境のコンテキスト内のデータオブジェクトをアクセスするユーザーに、提示されたコンテンツ(suggested content)を提供することができる。関連アクションサーバーは、データオブジェクトとアクションとの間の関係の識別に応答して関連アクションコンテンツを提供することができる。関連アクションは、アクションをアクセスするための能力を提供するために与えられる。
【００１６】
関連アクションサーバーは、特定のデータオブジェクトと関連する関連性情報をアクセスし、そして、データオブジェクトがアクティブであるところのコンテキストに関連アクションを選択的に提供してもよい（例えば検査の結果として、アクセスされたデータオブジェクトとして）。一実施形態において、関連アクションサーバーは、少なくとも部分的に、作業環境の１又は２以上のコンテキストの特性を示すコンテキスト認識情報(contextual awareness information)に基づいて選択的に関連アクションを提供する。コンテキスト特性は、リクエストまたは作業環境に関連するビジネスロール、オブジェクトのタイプ、特定のオブジェクトインスタンスの特性、オブジェクトインスタンスに対するデータオブジェクトリクエストまたはクエリーの関係、作業コンテキスト、リクエストまたはクエリーが受信されるところのチャンネル（このチャンネルからリクエストまたはクエリーが受信される）などの中の１又は２以上を含んでも良い。一実施形態において、関連アクションサーバーは、全ての関連アクションをアクセスし、上記コンテキスト特性に基づきアクションをフィルタリングする。上記コンテキストの特性に基づきフィルタリングされた任意の関連アクションは提示されず、またはそれらは提示されてもよいが、それらに対するアクセスは拒否される。他の実施形態において、アクションは、コンテキストの特性に基づきアクセスされ、関連のあるアクションのみがアクセスされる。
【００１７】
関連アクションサーバーを通じて、システムは、コンテキスト上の認識している検索結果を提供することができる。検索結果は、１又は２以上のオブジェクトに関して実施されるアクションに対するアクセスを含むことができる。加えて、システムは、データオブジェクトに関連するアクションに対するアクセスを可能にする作業環境内の提示アクション(suggested action)を提供することができる。
【００１８】
上述したように、関連アクションサーバーは、オブジェクトアクセスまたは検索クエリーのコンテキストに基いて関連アクションコンテンツを提供することができる。コンテキスト特性は以下で更に詳細に説明される。ビジネスロールは、組織体内での責務または立場（例えば、支援者、販売員、マネージャ、顧客、サプライヤー）を指す。例えば、サポート役の人は、問題(problems)またはエスカレーション(escalation)についての情報に関心を持ってもよく、それは、役割(role)に関連するシステムに対して提供されることができる。他の実施形態では、マネージャが、そのマネージャの下で働く従業員を表すオブジェクトをアクセスまたは検索すれば、“給与増加”についての関連アクションが提供されてもよい。しかしながら、このような関連アクションは、サプライヤー役または消費者役から発生されるクエリーに対しては提示されない。
【００１９】
オブジェクトのタイプに関し、上記の例におけるマネージャは、検索されている顧客のオブジェクトタイプについて“給与増加”アクションを受信しない。従って、このマネージャは、従業員のオブジェクトタイプについての“給与増加”に対する関連アクションを受信すると共に、顧客のオブジェクトタイプについてのものは受信しない。
【００２０】
特定のオブジェクトインスタンスに関し、特定のオブジェクトインスタンスの特性は、関連アクションを提供するために使用される情報を提供することができる。例えば、通常、従業員オブジェクトはタスクを割り当てるための候補であってもよい。従って、上記従業員に関連するビジネスオブジェクトを割り当てること、通常、従業員にプロジェクトを割り当てるための関連アクションは、利用可能であってもよい。しかしながら、特定の従業員の場合には、おそらく、この従業員は有給休暇中であり、そして、この特定の従業員はその割り当てについて利用できない。従って、関連アクションサーバーは、この特定のオブジェクトインスタンスについてはこのような関連アクションを提示しなくてもよい。
【００２１】
オブジェクトインスタンスに対するデータオブジェクトリクエストまたはクエリーの関係に関し、データオブジェクトリクエストまたはクエリーのソースとオブジェクトインスタンスとの間の関係は、関連アクションについての他のフィルターを提供することができる。例えば、マネージャは、そのマネージャの下で働いている従業員に関する“給料の増加”についての関連アクションを提示されてもよい。しかしながら、マネージャが、そのマネージャの下ではない従業員を示すオブジェクトをアクセスすれば、“給料の増加”アクションは提示されない。一人の従業員に対するマネージャの関係は、他の従業員に対するマネージャの関係が存在しないところのマネージャの関係である。
【００２２】
作業コンテキストに関し、関連アクションは、また、クエリーが発生された作業コンテキストに関連する。例えば、予算ワークシートのコンテキスト内で、特定のオブジェクトに対するアクセスは、プロジェクトステータスレポートのコンテキスト内のそのオブジェクトに対するアクセスとは異なる関連アクションを発生させるであろう。
【００２３】
異なるチャンネルに関し、関連アクションは、或るチャンネル上で利用可能であり、他のチャンネル上では利用可能でなくてもよい。本明細書では、チャンネルは、アクセスがなされるところのインターフェイス（例えば、ラップトップ、携帯装置、ボイス、無線コネクション上、安全なチャンネル上など）を指し、このインターフェイスからアクセスがなされる。例えば、セキュリティ上の理由で、または単に実際上の理由で、或るアクションは或るチャンネルには利用できないが、それらは他のチャンネル上で利用可能である。例えば、“フォード製品(Product Ford)”についてのクエリーは、“製品ダイアグラムを見る”についての関連アクションを提供し、それは、ボイスチャンネルを通じては利用できないが、他のチャンネルを通じて利用可能である。
【００２４】
コンテンツのエレメントの上記記述は、完全(exhaustive)なリストを示すものではなく、また包括的(inclusive)なリストを示すものでもない。各エレメントは、関連アクションコンテンツを提供する方法を決定するために関連アクションサーバーによって独立的に使用されることができる。独立的にコンテキストの各エレメントを使用することに加えて、関連アクションサーバーは、任意の組合せで、上述した複数のコンテキストエレメントに基づき関連アクションを提供することができる。加えて、上記関連アクションについての使用シナリオは、デスクトップの企業シナリオに限定されない。関連アクションは、企業ソフトウェア（例えば、企業複合アプリケーション）を実行する企業システムに接続された装置に適用されることができるのみならず、企業拡張（例えば、オフィスソフトウェア環境のためのビジネスプロセス拡張を提供する、ドイツ・ウォルドルフのＳＡＰ  ＡＧとともに、ワシントン・レドモンドのマイクロソフト（登録商標）コーポレーションから提供されているＤＵＥＴ）を支援する環境や、企業から時折切り離される環境（例えば、ＳＡＰ  ＡＧから利用可能なＭＯＢＩＬＥ）、或いは他のシナリオに適用されることができる。一実施形態において、関連アクションは、作業センターまたは作業活動／タスクダッシュボードのコンテキストにおいて、関連または提示アクションをユーザーに利用可能にするための作業センター環境に適用される。
【００２５】
関連アクションサーバーは、多様に実施されることができる。一実施形態において、関連アクションサーバーは、検索サービスラッパー(search service wrapper)において、または１又は２以上の異なる検索サービルからのコンテンツを管理するマネージャまたはサービスにおいて実施される。一実施形態において、関連アクションサーバーは、検索及び／又はデータオブジェクトリクエストをモニタ及び／又は受信するスタンドアローン装置に具現化される。このような実施は、関連アクションサーバーを企業サーバーのデータオブジェクトサーバーとともに動作させることに提供することを含むことができる。一実施形態において、関連アクションサーバーは、移動端末装置と接続するインターフェイスにおけるエージェント、及び／又はオフィスソフトウェアサイトのビジネスプロセス拡張におけるエージェントとして実施される。
【００２６】
一実施形態において、検索が実施され、そして、パーサー(parser)が検索クエリーの受信に応答して検索サービスを呼び出すときに、検索サービスは、複数の潜在的な検索サービスとの間でのクエリーの供給およびコンテンツの受信を調整するサービスラッパー(service wrapper)である。パーサーは、また、関連アクションサーバーを呼び出すこともできる。関連アクションサーバーは、１又は２以上の検索サービスと並行して動作することができる。一実施形態において、関連アクションサーバーは、クエリー／リクエストのコンテキストを考慮することなく、単に、データオブジェクトリクエストまたは検索クエリーの主部(subject)であるデータオブジェクトに関連するアクションを提供する。一実施形態において、コンテキストが考慮される。関連アクションサーバーは、検索が完了した後に（即ち、並列ではなく）動作することができ、そして、検索結果のコンテンツを受信し、そして関連アクションコンテンツを有する結果を強化(enhance)することができる。検索クエリーに応答して生成される最終的な出力ストリームは、出力ストリームの各エレメントについて関連アクションを記述するメタデータを含むことができ、それは、検索出力フォーマッターによって解釈(interpret)される。このフォーマッターは、例えば、特定のコンテンツ及び／又は関連アクションを除去(stripping out)することにより、出力ストリームの追加のフィルタリングを提供することができる。
【００２７】
一実施形態において、検索サービスは、関連アクションサーバーおよび広告サービスを利用する（詳細については後述する）。広告サーバーとともに、関連アクションサーバーは、様々に実施されてもよい。クエリーが受信され検索される。その検索の後、一実施形態において、関連アクションサーバーは、アクションを検索結果と関連づけ、そして広告サーバーが広告を提供する。或いは、広告サーバーは、検索結果に広告を提供し、そして関連アクションサーバーはその結果を伝える。第１実施形態において、広告サーバーは、関連アクションサーバーによって提供された追加のコンテンツを強化し、そして識別された関連アクションに関連する広告を提供してもよい。第２実施形態において、関連アクションサーバーは、広告サーバーによって提供された追加のコンテンツを強化し、そしてその広告と関連する関連アクションを提供してもよい。他の実施形態において、関連アクションサーバーおよび広告サーバーは並列動作する。
【００２８】
一実施形態において、関連アクションサーバーは、関連アクションが追加のコンテンツであることを示し、またはフラグで知らせる。ビジュアライザー(visualizer)にコンテンツを準備して提示するフォーマッターは、結果出力を、その出力上でクラスター化された関連アクションと共にフォーマットすることができる。従って、その結果は、ディスプレイの一つのセクションにおいて提供され、そして、関連アクションは、出力ディスプレイの他のセクションにおいてクラスター化される。
【００２９】
図１は、ランタイムおよびデザインタイムコンポーネントを有するアプリケーションフレームワークの一実施形態のブロック図である。概して、複合アプリケーションフレームワーク１００は、基本的な企業ベースシステム１８０を利用し強化し、それは、オペレーションを実行するためのファンクション及び／又はデータの１又は２以上のエレメントを含むことができる。複合アプリケーションフレームワーク１００は、複合アプリケーションを生成するのに用いる構成を備え、それは、モデル化／生成されたソフトウェアである。複合アプリケーションは、半構造(semi-structured)のプロセスを支援してもよく、イベントドリブンおよび知識ベースのビジネスシナリオを処理してもよく、及び／又は、共同動作を支援してもよい。一実施形態において、複合アプリケーションはＪＡＶＡ（登録商標）スタック(stack)を支援する。複合アプリケーションは、種々の部分に分解されてもよく、そのそれぞれは、個別に生成され／モデル化されてもよい。複合アプリケーション部分は、一実施形態において、Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ（登録商標）  Ｂｅａｎｓ（ＥＪＢｓ）として実施されてもよく、他の実施形態では、デザインタイムコンポーネントは、Ｊ２ＥＥ，ＡＢＡＰ，．ＮＥＴのような、異なるプラットフォームにランタイム実施を生成するための能力を備えてもよい。一実施形態において、複合アプリケーションフレームワーク１００は、ＳＡＰ  ＡＧから利用可能な複合アプリケーションフレームワーク（ＣＡＦ）である。
【００３０】
複合アプリケーションフレームワーク１００は、通常、基本的な企業プラットフォームからアプリケーションを切り離すことにより既存のシステム環境内で複合アプリケーションが動作することを可能にする。基本的な企業プラットフォームからアプリケーションを切り離すことは、中央インターフェイスを介してバックエンドシステムに対する通信を提供すること、およびバックエンド独立なオブジェクトモデルを提供することを含んでも良い。複合アプリケーションフレームワーク１００は、デザインタイムコンポーネント１０２およびランタイムコンポーネント１０４を含む。デザインタイムコンポーネント１０２は、複合アプリケーションを生成するために用いられるモデリングコンポーネントと、モデルを生成するための１又は２以上のメカニズムを含む。通常、デザインタイムコンポーネント１０２は、ランタイムコンポーネント１０４によって実行される複合アプリケーションの開発に関与する。
【００３１】
デザインタイムコンポーネント１０２は、プロセスモデラー１１０、ＵＩモデラー１２０、サービスモデラー１３０を備える。これらのモデラーは、必ずしも別体の装置である必要はないが、そうであってもよい。さらに、追加のモデリングツールがデザインタイムコンポーネント１０２内に備えられてもよい。通常、モデラーは、ビジネスオブジェクト、ビジネスサービス、ビジネスプロセス、ユーザーインターフェイスなどを統合することを可能にする。プロセスモデラー１１０は、１又は２以上のアクション１１２を生成する能力を備え、アクション１１２は、プロセスの種々のフェーズを表す。各アクション１１２は、アクション１１２の作業を表す関連オペレーションまたはオペレーション（複数形）を有する。アクション１１２は、生成されたアクティビティ(activity)の一部、または動作(operation)の実施においてユーザーとのやり取りを提供するガイドされたプロシージャの一部であってもよい。アクション１１２がガイドされたプロシージャの一部である一実施形態においては、プロセスモデラー１１０は、ガイドされたプロシージャを実行するための各アクション１１２を有する情報を備える。
【００３２】
プロセスモデラー１１０は、また、コンテキスト１１４を含み、それは、企業システムに関するプロセスに認識(awareness)を提供し、そのプロセスはその企業システムにおいて稼動している。ファンクションが、企業システムを理解しないアプリケーションから使用される場合、プロセスモデラー１１０は、そのファンクションをメタデータにラップ(wrap)して、そのファンクションをシステムに組み込む。
【００３３】
ユーザーインターフェイス（ＵＩ）モデラー１２０は、ユーザーインターフェイスを生成し、複合アプリケーションフレームワーク１００と共に生成される複合アプリケーションを通じてアクセスされることができるデータ／プロセスのビュー(view)を提供する能力を備える。ＵＩモデラー１２０は、データに関する多数のビュー１２２のうちの何れかを生成することができる。一実施形態において、標準ビューまたはパターンは、開発される各アプリケーションのために使用される。ユーザーインターフェイスは、テンプレートからの或るエレメントを含んでも良い。従って、ユーザーインターフェイスは、或る共通のコンポーネントを備ると共に、複数のアプリケーションにわたって親しみのある外観(look)と感覚(feel)を提供してもよい。或るビューは、アプリケーションが実行される環境に依存する。ビュー１２２は、アプリケーションに関連するアクティビティ(activity)と、認証(authorization)と、ロール(role)に基いて動的にビューを生成する能力を備えてもよい。ＵＩモデラー１２０のパターンコンフィグレーション１２４は、テンプレートおよび標準ＵＩコンポーネントの使用を可能にする。
【００３４】
サービスモデラー１３０は、複合アプリケーションがデータをアクセスすることを可能にする。データオブジェクトはサービスを介してアクセスされる。従って、サービスモデラー１３０は、サービス指向のモデルを提供し、このモデルを通じてデータがアクセスされる。一実施形態において、サービスモデラー１３０は、企業サービスアーキテクチャ(Enterprise Service Architecture; ESA）を提供し、そこでは、アプリケーションは、モデルドリブンのアーキテクチャよりもむしろ、サービスドリブンのアーキテクチャを通じて開発される。サービスドリブンのアーキテクチャは、データとのやり取り(interaction)を提供する呼び出し可能なサービスに対するアクセスを提供する。サービスモデラー１３０は、サービス１３２を含み、それは、提供される１又は２以上のサービスを表す。サービス１３２は、ガイドされたプロシージャ、オブジェクトモニタリング、スタンドアローンアクション、プログラムまたはファンクションなどを含んでもよいが、それに限定されない。サービスモデラー１３０のエンティティ１３４は、ウェブサービス、または企業内のサービスをアクセスするために生成されたコンポーネントを提供する。ここで述べたような企業またはウェブサービスは、リクエスト及び／又は入力パラメータ（例えばフライトブッキング）に基づき能力(capability)を提供すると共にアドレス可能(addressable)であるネットワーク内（企業のネットワーク内、或いはインターネット内）のエンティティを指す。
【００３５】
ジェネレータ１４０は、モデルをランタイムコンポーネントに変換するための１又は２以上のコンポーネントを表す。一実施形態において、ジェネレータ１４０は、単一のコンポーネントであるが、他の実施形態においては、ジェネレータ１４０は複数のコンポーネントである。
【００３６】
ランタイムコンポーネント１０４は、デザインタイムコンポーネント１０２でモデル化されたアイテムのインスタンス化(instantiation)を提供すると共に、種々のフレームワークを含み、そのフレームワーク内でオブジェクトまたはサービスインスタンスが動作する。プロセスフレームワーク１５０は、その下でプロセスの１又は２以上のインスタンスが実行できるフレームワークを表す。例えば、プロセスフレームワーク１５０は、ガイドされたプロシージャ１５２、ユニバーサルワークリスト１５４、及び／又はワークフローインスタンス１５６を含んでもよい。ガイドされたプロシージャ１５２は、前述したようなガイドされたプロシージャのインスタンスを表す。ユニバーサルワークリスト１５４は、ユーザーに利用可能な全てのワークフローまたはプロセスアイテムのリストを提供する。ワークフローまたはプロセスは、ワークフロー／プロセスに関するユーザーのリクエストされたオペレーションを通じて、及び／又はワークフロー／プロセスに関する責務認証(responsibility authorization)を有するユーザーを通じてユーザーに利用可能であってもよい。ユニバーサルワークリスト１５４は、利用可能な各プロセスについてのワークセンターをアクセスするために使用されてもよい。ワークフローインスタンス１５６は、ユーザーのリクエストされた作業を表す１又は２以上のワークフローの例を提供する。ワークフローは、ユーザーが実施する１又は２以上のアクションを有してもよい。
【００３７】
ＵＩフレームワーク１６０は、データおよびプロセスに関するビューを描画する能力を提供する。一実施形態において、ＵＩフレームワーク１６０は、ユーザーに表示／提示されるコンテンツの動的マネージメントを提供するビューマネージャ（図示なし）を含む。ＵＩフレームワーク１６０は、ＵＩコンポーネント１６２を含んでもよく、それはユーザーディスプレイの１又は２以上のエレメントを表す。一実施形態において、ＵＩコンポーネント１６２は、ウェブブラウザにおいて表示を描画するためのエレメントを含むが、他の環境を使用することもできる。一実施形態において、セパレートアプリケーションビューワ(separate application viewer)を使用することができる。ＵＩパターン１６４は、ユーザーインターフェイスを描画するための標準エレメントおよびパターンを提供する。ＵＩパターン１６４は、ＵＩコンポーネント１６２を提供してもよい。ＵＩパターン１６４は、ボタン、リンク、テキストなどを提供する種々のコンポーネント１６２を有するテンプレートであってもよく、それは、生成されるあらゆるアプリケーションに対し標準であってもよく、或いは、インスタンス特定のデータで部分的にカスタマイズされてもよい。
【００３８】
一実施形態において、ＵＩフレームワーク１６０は動的ビュー１６６を含む。動的ビュー１６６は、１又は２以上の動的コンポーネントを有するビューを表し、ユーザーに提供されるアプリケーションのコンテンツを変更してもよい。動的ビュー１６６は、ユーザーの認証の基づいてコンテンツを変更する。コンテンツは、人事構造の変化（例えば、異動、昇進、解雇）、および基本的データまたはサービスコンテンツの変化を反映するために動的に変更されることができる。
【００３９】
サービスフレームワーク１７０は、ユーザーに利用可能なサービスを通じてデータアクセスを実施する。ユーザーは、１又は２以上のエンティティサービス１７２、アプリケーションサービス１７４、ＪＡＶＡ（登録商標）データオブジェクト（ＪＤＯ）サービス１７６、及び／又は外部サービス１７８に対してアクセスしてもよい。アプリケーションサービス１７４は、複合アプリケーションにローカルなサービス、またはアプリケーションによって直接的にアクセス可能なサービスを表す。ＪＤＯ１７６は、企業ベースシステム１８０のオブジェクト保存場所１８２をアクセスすることができる。同様に、企業ベースシステム１８０は、１又は２以上のリモートファンクションコール（ＲＦＣ）１８４、および１又は２以上のウェブサービス１８６を通じてサクセスされるリモートファンクションを含んでもよい。外部サービス１７８は、リモートエレメント（例えば、ＲＦＣ１８４およびウェブサービス１８６）をアクセスすることができる。
【００４０】
メタデータ１０６は、デザインタイムコンポーネント１０２およびランタイムコンポーネント１０４によって利用されアクセスされるアクセス／サービスリソース及び／又は１又は２以上のデータのアブストラクション(abstraction)を表す。メタデータ１０６は、必ずしも、一つのコンポーネント内のリソースではなく、コンポーネントに利用可能であるのみと理解されるべきでない。メタデータ１０６は、ビジネスオブジェクト、ビジネスサービス、ビジネスプロセス、及び／又は、他のアプリケーション部分のモデル化及び／又は実行に使用するための他のアプリケーション部分に関するメタデータを含む保存場所を提供する。従って、アプリケーション部分は、ローカルデータベース、リモートデータベース、またはその二つの組み合わせにおいてであろうと、データの起源(origin)と同様に、モデル化されてもよい。一実施形態において、メタデータ１０６のコンテンツは、アプリケーション部分の特定の実施を超えて拡張する情報を含む。特定の実施を記述する保存場所が存在することができ、それは、より多くの一般的な保存場所から埋められてもよい。メタデータ１０６は、一般的保存場所情報、特定保存場所情報、または保存場所情報の組み合わせとして理解されることができる。
【００４１】
関連アクションサーバ１９０は、アクセスされたオブジェクトについての提示されたサービス(suggested service)を提供するため、及び／又は検索結果を強化するために関連アクションコンテンツを提供するエージェントまたはモジュールを表す。関連アクションサーバー１９０は、複合アプリケーションフレームワーク１００の１又は２以上のエレメントを通じて関連アクションを提供する。一実施形態において、関連アクションサーバー１９０は、複合アプリケーションフレームワーク１００からコンテキスト情報を受信または導出して、リクエストされたデータオブジェクトアクセスのコンテキストに基づき関連アクションコンテンツを選択的に提供する。ランタイムコンポーネント１０４は、モデル化されたエレメントのインスタンスを生成し、それは、関連アクションサーバー１９０によってモニタされてもよい。関連アクションサーバー１９０は、オブジェクト保存場所にあるデータをアクセスしてもよく、及び／又はその保存場所に情報（即ち、関連性情報）を書き込んでも良い。
【００４２】
図２は、複合アプリケーションアーキテクチャの実施形態のブロック図である。複合アプリケーション２１０は、本明細書で述べられる任意の実施形態による複合アプリケーションまたは複合ビューの一例である。複合アプリケーション２１０は、バックエンドシステムのクロスファンクションコンポーネントに対するアクセスを提供するサービス指向のアーキテクチャで生成される。複合アプリケーション２１０はコンテキストビュー２１２を含み、それは、基本的アクセスされるシステムコンポーネントが変化するにつれてコンテンツを変える動的ビューを表し、複合アプリケーションをアクセスするために使用されている別のパーミッションに応答してコンテンツを変える。コンテキストビュー２１２は、ロールおよびワークセンター、複合アプリケーション特定のユーザーインターフェイスなどを含む。動的ビューに関し、特定の認証を用いたユーザーによる起動に応答して、コンテキストビュー２１２は或るコンテキストを表示させてもよい。別の認証を用いた別のユーザーによる起動に応答して、または別の認証を用いた同一のユーザーによる起動に応答して、別のコンテキストが表示されてもよく、または別の可能なアクセスがなされてもよい。
【００４３】
複合アプリケーション２１０は、複合アプリケーション（ＡＰＰ）オブジェクト２２０を含み、それは、複合アプリケーション２１０に関連するデータオブジェクトを表す。複合アプリケーションオブジェクト２２０は、ステータス／アクションマネージメント（ＭＧＴ）２２２を含み、それは、複合アプリケーションオブジェクト２２０を追跡(track)するために使用されることができる。ステータス／アクションマネージメント２２２は、オブジェクトの振る舞いを管理してもよく、複合アプリケーションオブジェクト２２０のインスタンスと企業プラットフォーム２３０との間の一貫性(consistency)を提供する。ステータス／アクションマネージメント２２２は、また、複合アプリケーションオブジェクト２２０の振る舞いに関する統計(statistics)（即ち、関連性データ）を収集するために使用されることができる。一実施形態において、ステータス／アクションマネージメント２２２は、コンテキストビュー２１２に影響を与える。複合アプリケーションオブジェクト２２０は、関連複合アプリケーションエージェント２１４を有し、それは、オブジェクト２２０に対する入出力を提供する。一実施形態において、複合アプリケーションエージェント２１４は、複数のエージェントエンティティであり、入力エージェントおよび出力エージェントであってもよい。加えて、複合アプリケーションエージェント２１４は、複合アプリケーションオブジェクト２２０との間のクエリーまたはリクエストを提供してもよい。一実施形態において、複合アプリケーション２１０の各オブジェクトは、個別のエージェント（単数形）またはエージェント（複数形）を備えてもよい。他の実施形態において、複合アプリケーションエージェント２１４は、複合アプリケーション２１０と関連し、そして、複合アプリケーション２１０内の複数のオブジェクトインスタンスについてのサービスを提供する。複合アプリケーションエージェント２１４は、以下に説明するように、アクションサービス２７２に関連性データを提供することができる。
【００４４】
企業プラットフォーム２３０は、複数のオブジェクト２４０，２５０、及び／又は図２に示されていない他のオブジェクトを備えてもよく、そのそれぞれは、インターフェイスエージェント、具体的には、インターフェイスエージェント２４４，２５４を備えてもよい。上記エージェントを通じて、オブジェクト２４０，２５０は、企業プラットフォーム２３０の他のコンポーネントによってアクセスされ、またはこれをアクセスしてもよい。オブジェクト２４０，２５０は、また、ステータス／アクションマネージメント２４２，２５２をそれぞれ含む。オブジェクト２４０，２５０は、特定のインスタンスが複合アプリケーション２１０において生成されるところのオブジェクトを表し、このオブジェクトから特定のインスタンスが生成される。
【００４５】
企業プラットフォーム２３０は、バックエンド２６０を含み、それは、企業のためのバックエンドコンポーネントを提供する。マックエンド２６０は、フレームワーク２６２を含んでもよく、それは、複合アプリケーション２１０を生成するために用いられるフレームワークを提供するものとして本明細書で述べられるような複合アプリケーションフレームワークであってもよい。エンジンサービス２６４は、複合アプリケーション２１０を生成するために利用されるバックエンドサービスを提供する。デペンデントオブジェクト２６６およびマスターデータオブジェクト２６８は、バックエンド２６０において利用可能なオブジェクトタイプを表す。
【００４６】
企業プラットフォーム２３０は、また、アクションサービス２７２を有する企業サービス２７０を含み、それは、複合アプリケーションオブジェクト２２０に関連するアクションについてのアクションコンテンツを提供することができるサービスを表す。アクションサービス２７２は、サービス２７４を含み、それは、検索クエリーの受信に応答して検索結果を提供する。アクションサービス２７２は、また、ＲＡＳ（関連アクションサーバー）２７６を含み、それは、本明細書で述べられる任意の実施形態による関連アクションサーバーの実施形態を表す。ＲＡＳ２７６は、複合アプリケーション２１０に関連アクションコンテンツを提供する。一実施形態において、ＲＡＳ２７６は、コンテキストビュー２１２のコンテンツに影響を及ぼし、それは、複合アプリケーション２１０のコンテキストに基づくコンテンツを有する。ＲＡＳ２７６は、検索サービス２７４とともに動作してもよい。
【００４７】
図３は、オブジェクトについての関連性情報をアクセスする関連アクションサーバーの一実施形態のブロック図である。システム３００は、オブジェクト(OBJECT)３１０を含み、それは本明細書で述べられるデータオブジェクトを表す。オブジェクト３１０は、検索の主体(subject)であってもよく、または関連アクションコンテンツが提示されるための作業環境のアクティブデータオブジェクトであってもよい。コンテキスト(CONTEXT)３１２は、上述したようなコンテキストを表し、それは、オブジェクト３１０について提示された関連アクションコンテンツに影響を与える。ＲＡＳ３３０は、本明細書で述べられる任意の実施形態による関連アクションサーバーであり、オブジェクト３１０に関連する関連アクションコンテンツを提供する。一実施形態において、ＲＡＳ３３０は、コンテキスト３１２に基づき何のコンテンツを選択的に提供するかを決定する。
【００４８】
オブジェクト３１０は関連メタデータ３２０を含み、それは、関連性情報(REL INFO)３２２及び／又はオブジェクト識別子(OBJ ID)３２４を含んでもよい。関連性情報３２２は、関連アクション３２６及び／又は関連オブジェクト(OBJ)３２８に直接的関係を提供することができる。一実施形態において、関連オブジェクトは示されるが、関連アクションは示されない。関連オブジェクトおよび関係は、何のアクションがオブジェクト３１０に関連するかをＲＡＳ３３０に示すことができる。オブジェクトＩＤ３２４は、関連性マップ３４０を指示(point)してもよく、それは、企業内、例えば、企業サーバー内、ＲＡＳ３３０内、または、企業の他の場所に維持されてもよい。
【００４９】
関連性マップ(RELATEDNESS MAP)３４０に関し、このマップは、１又は２以上の企業データオブジェクトのためのエンティティを含むと共に関連性情報を提供するルックアップテーブルまたはデータベースであってもよい。関連性マップ３４０においてこのような情報が提供されるオブジェクトは、オブジェクトＩＤ(OBJ ID)３４２によって示されることができる。例えば、オブジェクト(OBJ)３１０は、オブジェクト(OBJ)３５２，３５４（図示なし）と同様に関連性マップ３４０に示されてもよい。各オブジェクト(OBJ)３１０および３５２−３５４は、関連性カラム(REL)３４４に示されるようなアクションまたはオブジェクトに対する関連性を有してもよい。一例として、オブジェクト(OBJ)３１０は、アクション(ACTION)３２６およびオブジェクト(OBJ)３２８と関連して示され、オブジェクト(OBJ)３５２は、アクション(ACTION)３６２，３６６とオブジェクト(OBJ)３６４と関連して示され、オブジェクト(OBJ)３５４は、アクション(ACTION)３６８と関連して示される。関連アクションとオブジェクトとの任意の組み合わせが可能である。１又は２以上の複数の関係が存在してもよい。一実施形態において、関連性マップ３４０は、条件カラム(CONDITION)３４６を含み、それは、関連性カラム(REL)３４４の関係が存在する条件(CONDITION)３７２−３７８を示す。条件カラム３４６は、例えば、コンテキストの１又は２以上の様相(aspect)を示し、その様相の下で、アクションまたはオブジェクト関係が関連性コンテンツを提供するために使用されてもよい。
【００５０】
ＲＡＳ３３０は、メタデータ３２０及び／又は関連性マップ３４０をアクセスして、もしあるとすれば何の関連アクションが利用可能であり、オブジェクト３１０に適用可能であるかを判断する。関連アクションは、識別され、オブジェクト消費者によって実施されている作業に適用可能である追加のファンクションに対するアクセスを提供するために、オブジェクト３１０の消費者に提供される。
【００５１】
図４は、検索アーキテクチャにおける関連アクションサーバーの一実施形態のブロック図である。システム４００は、ユーザー装置４０２を含み、それは、１又は２以上ののコンテキスト特性を適用する作業環境を含む。例えば、ユーザーデバイス４０２の作業環境は、ビジネスロール４１２、オブジェクトタイプ４１４、特定のオブジェクト(OBJ)インスタンス４１６、オブジェクトに対する関係(REL TO OBJ)インスタンス４１８、コンテキスト４２０、ソース４２２を含んでもよい。コンテキスト特性のそれぞれは上述した。簡単に言えば、ビジネスロール４１２は、組織内の立場または責務を示し、オブジェクトタイプ４１４は、関連性情報が得られるところのオブジェクトのタイプまたはクラスを示し、特定のオブジェクトインスタンス４１６は、オブジェクトの特定のインスタンスの特性を示し、オブジェクトに対する関係(REL TO OBJ)インスタンスは、ユーザー装置４０２のユーザーの関係またはオブジェクトインスタンスに対するユーザー装置４０２の作業環境を示し（例えば、関係は、別のロールまたはコンテキストで変わる）、コンテキスト４２０は、ユーザー装置４０２の作業コンテキストを示し、ソース４２２は、検索クエリーが生成されるチャネルを示す。
【００５２】
ユーザー装置４０２は、システム４００の企業における検索クエリーを生成する任意のタイプの電子装置を表す。ユーザー装置４０２は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ(personal digital assistant)、携帯電話または他の移動携帯端末などであってもよい。検索クエリーは、電子的に生成され、または、音声インターフェイスを介して生成される。クエリーは、クエリーエンジン４３０で受信され、それは、検索インターフェイスを提供し、そのインターフェイスを介してクエリーを受信する。クエリーエンジン４３０は、そのクエリーをパーサー４４０に渡し、それは、そのクエリーを解析(parse)する。パーサー４４０は、クエリーのスコープ(scope)と、キーとなる語(key terms)を判断する。一実施形態において、パーサー４４０は、クエリーに応答して結果を生成するために使用される１又は２以上の利用可能な検索サービスを識別する。解析されたクエリー４４２は、検索サービス４５０に渡され、それは、１又は複数の検索サービス４５２−４５６にクエリーを転送することができる検索コンテナを表す。サービス４５２−４５６は、保存場所(REPOS)４６２−４６６をそれぞれ有してもよい。保存場所４６２−４６６のうちの１又は２以上は、同一の保存場所であってもよく、または、保存場所の別々の部分であってもよい。保存場所は、ネットワークエンティティ（例えば、インターネット上で利用可能なサービス）であってもよいが、すべてが同一のネットワーク上にある必要はない。サービス４５２−４５６は、保存場所４６２−４６６から得られるコンテンツから結果を生成する。
【００５３】
一実施形態において、パーサー４４０は、クエリーの解析前または解析後の何れかに、クエリー４４２を関連アクションサーバー４９０に転送する。関連アクションサーバー４９０は、検索サービス４５２−４５６と並列に動作してコンテンツを生成することができ、或るいは、より代表的には、検索サービス４５２−４５６によって生成された結果についてのコンテンツを生成する。一実施形態において、パーサー４４０はクエリーを関連アクションサーバー４９０に転送せず、しかし関連アクションサーバー４９０は検索サービスコンテナ４５０からクエリーを取得する。
【００５４】
検索サービスコンテナ４５０は結果４７２を生成し、それは、クエリーを満足する（即ち、検索アルゴリズムによって決定されるような統計的関係を有する）１又は２以上のアイテムのコンテンツを表す。コンテンツを有するクエリーの満足および検索アルゴリズムは、この記載の範囲を超えており、ここではこれ以上説明しない。結果４７２は、フォーマッター４７０に転送され、それは、表示のために結果コンテンツをフォーマットし編成(organize)する。関連アクションサーバー４９０は、また、フォーマッター４７０によってフォーマットされるコンテンツを提供してもよい。一実施形態において、フォーマッター４７０は、表示のために関連アクションサーバー４９０から受信された関連アクションをクラスタ化する。フォーマッター４７０は、リンクまたはコンテンツにおける他のアクセスポイントを生成して、関連アクションサーバー４９０によって生成された関連アクション及び／又は結果に対するアクセスを提供する。フォーマッター４７０は、関連アクションサーバー４９０によってビジュアライザー／レンダラー４８０に提供された任意の関連アクションコンテンツを含んで、フォーマットされた検索結果を転送し、上記ビジュアライザー／レンダラー４８０は、ユーザー装置４０２のディスプレイにフォーマットされたコンテンツを提供する。
【００５５】
図５は、コンテンツに対するリクエストに応答してコンテンツを提供するコンテンツマネージャの一実施形態のブロック図である。システム５００はリクエストジェネレータ５１０を含む。図４のシステム４００は検索コンテンツに特有のものであった。システム５００は、検索コンテキストに適用してもよく、また、非検索コンテキスト内からのデータオブジェクトに対するアクセスに適用してもよい。リクエストジェネレータ５１０は、従って、検索インターフェイスを提供するクエリーエンジンであってもよく、及び／又はリクエストジェネレータ５１０は、ユーザー装置のバックグラウンドにおいて動作するアクティブエージェントであってもよい。このエージェントは、オブジェクトに対するアクセスについてのリクエストが生成され、オブジェクトに関連する関連アクションを識別するためのプロセスを起動するときを判断することができる。オブジェクトについてのリクエストは、例えば、オブジェクトを選択することにより生成されることができ、それは、アプリケーション内のオブジェクトのインスタンスを生成する。オブジェクトは、アプリケーションのロード時にインスタンス化されてもよい。オブジェクトは、ユーザーによって作業環境またはアプリケーション内から積極的に選択されるときにインスタンス化されてもよい。オブジェクトアクセスがリクエストされると、それは、関連アクション判定(a related actions determination)を起動する。
【００５６】
リクエストジェネレータ５１０は、図４のパーサー４４０の例に該当するパーサー５２０にリクエストを提供することができ、または、それは、システム５００内の利用可能なデータオブジェクトアクセスメカニズムを表してもよい。パーサー５２０は、リクエスト５２２をコンテンツマネージャ５３８に提供し、コンテンツマネージャ５３８は、データオブジェクトリクエストや検索リクエストなどをマネージおよび編成するコンテナを表し、結果５４２を提供する。コンテンツマネージャ５３８は、コンテンツサーバー５３０の一部であり、それは、一般的に、作業環境における表示のためのオブジェクトに関連するコンテンツの提供、マネージメント、生成に関連する任意のサービスを表す。コンテンツサーバー５３０は、サービス５３２を含み、それは、リクエスト５２２が検索リクエストである場合の検索サービスを表し、または、リクエスト５２２がデータオブジェクトアクセスリクエストである場合のデータオブジェクトアクセスサービスを表す。広告サーバー(AD)５３４は、プロモートまたは広告されたコンテンツまたはサービス（例えば、“その月の従業員についてのノミネート＜従業員＞”、または、“＜プロバイダ＞からの商品＜コンポーネント＞”などに対する広告）を提供するサーバーを表す。一実施形態において、広告サーバー５３４は、関連アクションサーバー５３６に結果を送信するよりも前に、サービス５３２の結果に関する動作を行う。
【００５７】
関連アクションサーバー５３６は、何のビジネスアクションが、サーバー５３２によって結果として生成された１又は２以上のオブジェクトに関連するかを判断し、そして、コンテンツマネージャ５３８に関連アクションコンテンツ結果を提供し、コンテンツマネージャ５３８は、サービス５３２、広告サーバー５３４からコンテンツを提供し、及び／又は、関連アクションサーバー５３６から関連アクションを提供する。フォーマッター５４０は、結果をフォーマットし、そのフォーマットされた結果をビジュアライザー／レンダラー５５０に渡す。
【００５８】
ビジュアライザー／レンダラー５５０は、コンテンツ５６２と、広告を含む提示(suggestion)であってもよい任意のプロンプト５６４と、関連アクション５６６とを含む視覚化(visualization)を生成する。
【００５９】
一実施形態において、システム５００は、コンテキストサービスプロバイダ５７０を含み、それは、作業環境のコンテキストを決定し、その作業環境のコンテキストからリクエストが受信され、その作業環境のコンテキストに結果が戻され及び／又はその作業環境のコンテキストに結果が戻され、且つ、コンテキストによって影響されるシステム５００のエンティティにコンテキストを提供する。例えば、パーサー５２０およびフォーマッター５４０は、それぞれ、コンテキスト情報に従ってリクエストおよび結果を準備することができる。コンテキストサービスプロバイダ５７０は、また、サービス５３２、広告サーバー５３４、関連アクションサーバー５３６に影響を与えるコンテキスト情報を提供する。一実施形態において、コンテキストサービスプロバイダ５７０は、また、リクエスト／結果のコンテキストを知らせる情報を受信してもよい。パーサー５２０、フォーマッター５４０、サービス５３２、広告サーバー５３４、関連アクションサーバー５３６の何れも情報をコンテキストサービスプロバイダ５７０に提供することができ、コンテキストサービスプロバイダ５７０は、任意の他の個々のエンティティに共有され、または分散されることができる。
【００６０】
図６は、関連アクションサーバーの一実施形態のブロック図である。認証エージェント(authentication agent)６００は、認証エージェント６００の動作を命令する論理ファンクション制御を実施する制御ロジック６０２、及び／又は認証エージェント６００の動作の命令に関連するハードウェアを備える。ロジックは、ハードウェアのロジック回路であってもよく、及び／又はソフトウェアルーチンであってもよい。このロジックは、コンピュータ装置のプロセッサ上で実行する命令であってもよい。一実施形態において、認証エージェント６００は、１又は２以上のアプリケーション６０４を含み、それは、命令を制御ロジック６０２に提供するプログラム及び／又はコードシーケンスを表す。認証エージェント６００は、データ及び／又は命令を格納するためのメモリ６０６、及び／又は、メモリ資源６０６に対するアクセスを含む。メモリ６０６は、認証エージェント６００にローカルなメモリを含んでもよく、のみならず、または、それに代えて、認証エージェント６００が存在するシステムのメモリを含む。認証エージェント６００は、また、１又は２以上のインターフェイス６０８を含み、それは、認証エージェント６００の外部のエンティティ（電子的または人）に関する認証エージェント６００との間のアクセスインターフェイス（入力／出力インターフェイス）を表す。インターフェイス６０８は、それを通じて認証エージェントがホストシステムに組み込まれることができるメカニズムを含む。
【００６１】
認証エージェント６００は、また、認証エンジン(authentication engine)６１０を含み、それは、認証エージェント６００が認証動作を提供することを可能にする１又は２以上のファンクションコンポーネントを表す。この認証動作は、ネットワーク上のハードウェアプラットフォームの認証、および上記ハードウェアプラットフォームに対するパーティションの認証を含む。コンポーネントのファンクションまたは特徴は、オブジェクト識別器６２０、判定コンテキストモジュール６３０、アクション識別器６４０、アクション提示器６５０のうちの１又は２以上を含む。各モジュールは、さらに、特定のファンクションを提供する他のモジュールを含んでもよい。本明細書では、モジュールは、ルーチン、サブシステムなどを指し、ハードウェア、ソフトウェア、またはその組合せを問わない。１又は２以上のモジュールは、ハードウェアとして実施されることができ、その他はソフトウェアで実施されることができる。
【００６２】
オブジェクト識別器６２０は、関連性エンジン６１０が、どのオブジェクトが関連性をチェックするかを決定することを可能にする。オブジェクト識別器６２０は、検索クエリーを受信することにより、またはオブジェクトをアクセスするリクエストを受信することにより、オブジェクトを識別するための受信リクエストモジュール６２２を含む。一実施形態において、オブジェクト識別器６２０は、関連性がチェックされるべき複数のオブジェクトを識別する。
【００６３】
判定コンテキストモジュール６３０は、関連性エンジン６１０が、識別されたデータオブジェクトに関連するコンテキストを判定することを可能にする。判定コンテキストモジュール６３０は、どの実施においても存在しなくてもよい。或いは、判定コンテキストモジュール６３０は、存在してもよく、選択的に起動されてもよい。即ち、判定コンテキストモジュール６３０は、或るオブジェクトアクセスについて起動され、他のものについては起動されなくてもよい。判定コンテキストモジュール６３０は、コンテキストサービスをアクセスしてコンテキスト情報をリクエストしてもよい。コンテキストサービスは、また、リクエストがなくても情報を提供してよい。
【００６４】
判定コンテキストモジュール６３０は、この判定コンテキストモジュール６３０がコンテキストを識別することを可能にする１又は２以上のモジュールまたは識別器を含むことができる。図６に示されたものよりも多くのもの、または少ないものが提供されることができる。ロール識別器６３２は、識別されたオブジェクトに関連するビジネスロールを識別する。ロール情報は、ログイン認証書(credential)及び／又は提供された企業認証によって提供されることができる。オブジェクトタイプ識別器６３４は、識別されるオブジェクトのタイプまたはクラスを識別する。オブジェクト識別器は、タイプ情報を提供するためにリードまたはアクセスされることができるオブジェクトと共に格納されることができる。オブジェクトインスタンス識別器６３６は、特定のオブジェクトインスタンスの特性を識別する。例えば、もしオブジェクトインスタンスが特定の従業員を表せば、オブジェクトインスタンス識別器６３６は、また、その特定の従業員に関連するカレンダーをアクセスして、仕事を引き受ける従業員の利用可能性、または、提示されたアクション及び／又は特定の情報を有する従業員の必要性を判断する。
【００６５】
判定コンテキストモジュール６３０は、また、オブジェクトがリクエストされたコンテキストを識別する作業コンテキスト識別器６３８を含んでもよい。作業コンテキスト識別器６３８は、また、オブジェクトが消費されるべきところのコンテキストを識別してもよい。作業コンテキストは、コンテキストプロバイダによって提供されることができる。インターフェイス識別器６３９は、オブジェクト消費者のチャンネルまたはインターフェイスを識別する。インターフェイス識別器６３９は、何の特定アクションが、アクセスチャンネルに基づきオブジェクト消費者に利用可能であるかに関する判断を通知することができる。
【００６６】
アクション識別器６４０は、関連エンジン６１０が、識別されたオブジェクトに関連する１又は２以上のアクションを識別することを可能にする。上述したように、関連性情報は、代表的には、メタデータに格納され、それはオブジェクトと共に格納されたであることができ、または、関連性情報は、メタデータ保存場所に格納され、または企業の他の場所に格納される。アクション識別器６４０は、与えられたオブジェクトについての全ての利用可能なアクションをアクセスすることができ、そして、判定コンテキストモジュール６３０からのコンテキスト基準に基づきアクションをフィルタリングし、または、アクション識別器６４０は、コンテキストパラメータまたは１又は２以上のコンテキストフィルターに基づき選択的にアクションをアクセスすることができる。
【００６７】
アクション提示器(action suggester)６５０は、関連性エンジン６１０がアクションを提示(suggestion)として提供することを可能にする。アクション提示器６５０は、アクション識別器６４０とともに動作し、そして、識別されたアクションをフィルタリングして、与えられたリクエストに最も関連するアクションを提供してもよい。アクション提示器６５０は、特に検索コンテキスト内の関連アクションコンテンツを提供するために検索結果修正器６５２を含んでも良い。前述の事柄と同様に、検索結果修正器６５２は、広告モジュール（図６に示されず）によりコンテンツの付加の後、またはコンテンツの付加の前に検索クエリーの結果を修正することができる。
【００６８】
本明細書におけるモジュールまたは識別器の記述、または関連アクションサーバー６００の他のコンポーネントの記述は、ハードウェア、ソフトウェア、及び／又はそれらの組合せを含んでもよいコンポーネントを表す。本明細書で述べられる動作を実行するためのコンポーネントがソフトウェアを含む場合、ソフトウェアデータ、命令、及び／又は構成は、マシン／電子的な装置／ハードウェアによる製造品を通じて提供されてもよい。製造品は、命令やデータなどを提供するコンテンツを有するマシン読み取り可能な媒体を含んでもよい。コンテンツは、本明細書で述べたような電子装置という結果になってもよく、本明細書で述べたような、種々の動作または実行を遂行する。マシン読み取り可能な媒体は、マシン（例えば、コンピュータ装置、電子装置、電子システム／サブシステムなど）によってアクセス可能な形式で情報／コンテンツを提供（即ち、格納及び／又は伝送）する任意のメカニズムを含む。例えば、マシン読み取り可能な媒体は、再書き込み可能／読み出し専用の媒体（例えば、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)、磁気ディスク記録媒体、光記録媒体、フラッシュメモリ装置など）を含む。マシン読み取り可能な媒体は、さらに、電子装置が動作中であるときに実行される記憶装置にロードされたコードを有する電子装置を含んでもよい。従って、このようなコードを備えた電子装置を引き渡す(deliver)ことは、本明細書で述べたようなコンテンツを有する製造品を提供することとして理解されてもよい。更に、データベースまたは他のメモリ場所上にコードを格納すること、およびそのコードを通信媒体を介してダウンロードするために提供することは、本明細書で述べたこのようなコンテンツを有する製造品を提供することとして理解されてもよい。
【００６９】
図７は、関連アクションコンテンツを提供するためのプロセスの一実施形態のフロー図である。種々の動作の説明に関し、本明細書に示されるようなフロー図は、種々の動作のシーケンスの一例を提供する。特定のシーケンスまたは順序で示されているが、特段の定めがない限り、動作の順序は修正可能である。従って、示された実施は、例としてのみ理解されるべきであり、動作は、別の順序で実行されることができ、幾つかの動作は並列に実行されてもよい。
【００７０】
関連アクションサーバーは、データオブジェクトについてのリクエストを受信する（７０２）。このリクエストは、複数のチャンネルの何れかからも受信されることができ、検索のためのものであることができ、または、他のデータオブジェクトアクセスのためのものであることができる。関連アクションサーバーは、リクエストが検索に関連しているかどうかを判断する（７０４）。もし、リクエストが検索に関連していれば（７１０）、１又は２以上の検索サービスが識別され（７１２）、そのリクエストは識別されたサービスに伝送される（７１４）。検索サービスを識別することと、識別されたサーバーにリクエストを送信することは、関連アクションサーバーによって実施されない動作であってもよい。もし、リクエストが検索ベースでなければ（７１０）、またはリクエストが、識別された検索サービスに転送された後に（７１４）、リクエストは関連アクションサーバーに提供される（７１６）。
【００７１】
一実施形態において、関連アクションサーバーは、リクエストと関連するコンテキストを識別する（７１８）。他の実施形態において、関連アクションサーバーは、単に関連アクションを識別するだけであり、コンテキストを識別しない。関連アクションサーバーは、もしコンテキスト情報が使用されていれば、識別されたコンテキスト内のオブジェクトに関連する１又は２以上のアクションを識別し、または、もしコンテキスト情報が使用されていなければ、オブジェクトに関連するアクションを単に識別するだけである（７２０）。
【００７２】
システムは、リクエストされたオブジェクトを戻し（７２２）、そして関連アクションサーバーは、識別されたアクションを提示する（７２４）。関連アクションサーバーは、システムによって生成されたコンテキスト内の提示されたアクションを提供して、リクエストされたオブジェクトを戻す。一実施形態において、関連アクションサーバーは、関連アクションコンテンツをコンテンツフォーマッターに提供し、それは、データオブジェクトコンテンツを提供することとは別個のアクションとして関連アクションコンテンツを提供する。
【００７３】
本明細書で述べたことに加え、本発明の要旨を逸脱することなく、開示された本発明の実施形態および実施例に対して種々の修正が可能である。従って、本明細書の説明および例は、例示的なものであると解釈されるべきであり、本発明の意味を限定するものではない。本発明の範囲は、添付の特許請求の範囲を参照することによってのみ定められるべきである。
【図面の簡単な説明】
【００７４】
【図１】ランタイム及びデザインタイムコンポーネントを備えたアプリケーションフレームワークの一実施形態のブロック図である。
【図２】複合アプリケーションアーキテクチャの一実施形態のブロック図である。
【図３】オブジェクトについての関連性情報をアクセスする関連アクションサーバーの一実施形態のブロック図である。
【図４】検索アーキテクチャにおける関連アクションサーバーの一実施形態のブロック図である。
【図５】コンテンツに対するリクエストに応答してコンテンツを提供するコンテンツマネージャの一実施形態のブロック図である。
【図６】関連アクションサーバーの一実施形態のブロック図である。
【図７】関連アクションコンテンツを提供するためのプロセスの一実施形態のフロー図である。
【符号の説明】
【００７５】
１００  複合アプリケーションフレームワーク
１０２  デザインタイムコンポーネント
１０４  ランタイムコンポーネント
１０６  メタデータ
１８０  企業ベースシステム
１９０  関連アクションサーバ
【図１】
2008134998.tif 000003
【図２】
2008134998.tif 000004
【図３】
2008134998.tif 000005
【図４】
2008134998.tif 000006
【図５】
2008134998.tif 000007
【図６】
2008134998.tif 000008
【図７】
2008134998.tif 000009
【外国語明細書】
2008134998.tif 000010
2008134998.tif 000011
2008134998.tif 000012
2008134998.tif 000013
2008134998.tif 000014
2008134998.tif 000015
2008134998.tif 000016
2008134998.tif 000017
2008134998.tif 000018
2008134998.tif 000019
2008134998.tif 000020
2008134998.tif 000021
2008134998.tif 000022
2008134998.tif 000023
2008134998.tif 000024
2008134998.tif 000025
2008134998.tif 000026
2008134998.tif 000027
2008134998.tif 000028
2008134998.tif 000029
2008134998.tif 000030
2008134998.tif 000031
2008134998.tif 000032
2008134998.tif 000033
2008134998.tif 000034
2008134998.tif 000035
2008134998.tif 000036
2008134998.tif 000037
2008134998.tif 000038
2008134998.tif 000039
2008134998.tif 000040
2008134998.tif 000041