(57)【特許請求の範囲】
【請求項１】
コンピュータ装置における方法であって、
前記コンピュータ装置によって、振る舞い規定を有するビルディングブロックコンポーネントをモデリングするステップと、
前記コンピュータ装置によって、前記ビルディングブロックコンポーネントを用いてモデリングされた複合アプリケーションのコンポーネントに対する前記ビルディングブロックコンポーネントの関連情報を収集するために、前記ビルディングブロックコンポーネントに関する情報収集部を生成するステップであって、前記関連が、前記複合アプリケーションにおける前記ビルディングブロックコンポーネントの観測された実行時の振る舞いに少なくとも部分的に基づくと共に、前記観測された実行時の振る舞いが、コンポーネントに対する関連を判定するために、以前に観測された前記ビルディングブロックコンポーネントの振る舞いと比較されるところのステップと、
前記コンピュータ装置によって、前記ビルディングブロックコンポーネントを用いて前記複合アプリケーションを生成するために、前記関連情報を格納することを含んで、前記ビルディングブロックコンポーネントを前記ビルディングブロックコンポーネントの貯蔵部に格納するステップと、
前記コンピュータ装置によって、前記貯蔵部からの前記ビルディングブロックコンポーネントを用いて前記複合アプリケーションをモデリングするステップと、
前記コンピュータ装置によって、前記ビルディングブロックコンポーネントの前記関連情報の観測された振る舞いに従って前記ビルディングブロックコンポーネントの振る舞い規定を修正するステップとを含み、
前記ビルディングブロックコンポーネントの前記振る舞い規定を修正することは、前記ビルディングブロックコンポーネントに規定されているアクションまたはプロセスが既知のアクションまたはプロセスとマッチングするかどうかをコンパレータによって判断し、前記判断の結果に基づいて、前記ビルディングブロックコンポーネントの再使用の尤度を増加させ、そのビルディングブロックコンポーネントの有用性を増加させるように、前記ビルディングブロックコンポーネントに含まれると共に前記ビルディングブロックコンポーネントの前記振る舞い規定の少なくとも一部を定義するメタデータを修正することを含む、方法。
【請求項２】
前記ビルディングブロックコンポーネントは、ビジネスオブジェクト、ビジネスオブジェクトをアクセスするサービス、ビジネスプロセス、またはテンプレートの１又は２以上をモデリングすることを含む請求項１記載の方法。
【請求項３】
前記複合アプリケーションは、ソフトウェアプログラムを含む請求項１記載の方法。
【請求項４】
前記複合アプリケーションは、ビジネスプロセスを含む請求項１記載の方法。
【請求項５】
前記関連情報を格納するステップは、前記ビルディングブロックコンポーネントを用いてメタデータを格納することを含む請求項１記載の方法。
【請求項６】
前記ビルディングブロックコンポーネントの振る舞い規定を修正するステップは、
前記ビルディングブロックコンポーネントと他のビルディングブロックコンポーネントとの間の関係を示すメタデータを修正することを含む請求項１記載の方法。
【請求項７】
コンピュータ装置の中で実行する複合アプリケーションコンテンツマネージャであって、
コントロールロジックに結合されたメモリを備え、
前記コントロールロジックは、前記コンピュータ装置によって実行された場合に、前記コンピュータ装置に、
データオブジェクトをアクセスする複合アプリケーションの１又は２以上の他のコンポーネントとの関係のデスクリプションを含んでいる振る舞い規定を有する前記データオブジェクトを含むデータオブジェクト貯蔵部へのアクセスを提供するオブジェクトアクセスモジュールを生成し、
前記オブジェクトアクセスモジュールに結合され、前記複合アプリケーションにおける前記データオブジェクトの観測された実行時の振る舞いに基づき情報を収集するオブジェクト振る舞い観測部を生成し、
前記オブジェクト振る舞い観測部に結合され、前記観測された実行時の振る舞いを以前に観測された前記データオブジェクトの振る舞いと比較することによって判定された関連に基づいて修正することを含んで、少なくとも部分的に前記収集された情報に基づき前記データオブジェクトの前記振る舞い規定を修正するオブジェクト修正モジュールを生成することを実行させ、
前記データオブジェクトの前記振る舞い規定を修正することは、前記データオブジェクトに規定されているアクションまたはプロセスが既知のアクションまたはプロセスとマッチングするかどうかをコンパレータによって判断し、前記判断の結果に基づいて、前記データオブジェクトの再使用の尤度を増加させ、そのデータオブジェクトの有用性を増加させるように、前記データオブジェクトに含まれると共に前記データオブジェクトの前記振る舞い規定の少なくとも一部を定義するメタデータを修正することを含む、複合アプリケーションコンテンツマネージャ。
【請求項８】
前記オブジェクト振る舞い観測部は、
前記複合アプリケーションの１又は２以上の他のコンポーネントと前記データオブジェクトとの関係を評価し比較することを可能にする関係評価モジュールを更に含む請求項７記載の複合アプリケーションコンテンツマネージャ。
【請求項９】
前記オブジェクト修正モジュールは、
前記データオブジェクトと、前記データオブジェクトと比較して新しいと判定された他のコンポーネントの１又は２以上との関係を前記データオブジェクト振る舞い規定に付加する新関係モジュールを更に含む請求項８記載の複合アプリケーションコンテンツマネージャ。
【請求項１０】
前記オブジェクト修正モジュールは、
前記データオブジェクトと、前記データオブジェクトと比較して新しいと判定された他のコンポーネントの１又は２以上との関係を含む新たなメタデータを生成する新関係モジュールを更に含む請求項７記載の複合アプリケーションコンテンツマネージャ。
【請求項１１】
異種の複数の企業システムのサービスへのアクセスを提供するフレームワークと、
振る舞い規定を有するビジネスオブジェクトを格納する貯蔵部と、
前記フレームワークと前記貯蔵部に接続された複合アプリケーションコンテンツマネージャとを含み、前記複合アプリケーションコンテンツマネージャは、
複合アプリケーションのコンポーネントとして前記ビジネスオブジェクトをアクセスするオブジェクトアクセスモジュールと、
前記ビジネスオブジェクトの観測された実行時の振る舞いに基づいて、前記ビジネスオブジェクトが前記複合アプリケーションの他のコンポーネントを用いてどのように使用されるかを示す関連情報を収集するオブジェクト振る舞い観測部と、
前記観測された実行時の振る舞いを前記ビジネスオブジェクトの以前に観測された実行時の振る舞いと比較することによって判定された関連情報に基づいて、前記ビジネスオブジェクトの振る舞い規定を修正することを含んで、少なくとも前記ビジネスオブジェクトの前記振る舞い規定の一部を規定するメタデータを修正するオブジェクト規定修正モジュールとを含み、
前記ビジネスオブジェクトの前記振る舞い規定を修正することは、前記ビジネスオブジェクトに規定されているアクションまたはプロセスが既知のアクションまたはプロセスとマッチングするかどうかをコンパレータによって判断し、前記判断の結果に基づいて、前記ビジネスオブジェクトの再使用の尤度を増加させ、そのビジネスオブジェクトの有用性を増加させるように、前記ビジネスオブジェクトに含まれると共に前記ビジネスオブジェクトの前記振る舞い規定の少なくとも一部を定義するメタデータを修正することを含む、複合アプリケーションプログラミングシステム。
【請求項１２】
前記複合アプリケーションコンテンツマネージャは、アクセスされた前記ビジネスオブジェクトについて提供されるコンテキストに基づき前記複合アプリケーションのアクセス可能なコンテンツを修正するコンテキストモジュールを更に含む請求項１１記載の複合アプリケーションプログラミングシステム。
【請求項１３】
前記コンテキストモジュールは、前記収集された関連情報を用いて生成された経験的判断の結果に基づき前記アクセス可能なコンテンツを修正する請求項１２記載の複合アプリケーションプログラミングシステム。
【請求項１４】
コンピュータ装置における方法であって、
前記コンピュータ装置によって、モデリングされたソフトウェアについてのビルディングブロックとしてデータオブジェクトを提供するステップであって、前記データオブジェクトが１又は２以上の他のデータオブジェクトとの関係のデスクリプションを含んでいるデータオブジェクトの振る舞いの規定を有するところのステップと、
前記コンピュータ装置によって、前記データオブジェクトをアクセスするモデリングされたソフトウェアアプリケーションにおける前記データオブジェクトの実行時の振る舞いを観測するステップと、
前記コンピュータ装置によって、前記データオブジェクトの前記実行時の振る舞いを前記データオブジェクトの以前に観測された振る舞いと比較するステップと、
前記コンピュータ装置によって、前記データオブジェクトの前記振る舞いの前記規定を修正して、前記データオブジェクトの前記実行時の振る舞いの比較に応答してモデリングされたソフトウェアについて更新されたビルディングブロックを提供するステップとを含み、
前記データオブジェクトの前記振る舞い規定を修正することは、前記データオブジェクトに規定されているアクションまたはプロセスが既知のアクションまたはプロセスとマッチングするかどうかをコンパレータによって判断し、前記判断の結果に基づいて、前記データオブジェクトの再使用の尤度を増加させ、そのデータオブジェクトの有用性を増加させるように、前記データオブジェクトに含まれると共に前記データオブジェクトの前記振る舞い規定の少なくとも一部を定義するメタデータを修正することを含む、方法。
【請求項１５】
前記規定を有する前記データオブジェクトを提供するステップは、
１又は２以上の他のデータオブジェクトとの関係のデスクリプションを有する前記データオブジェクトを提供することを含む請求項１４記載の方法。
【請求項１６】
前記データオブジェクトの前記振る舞いを観測するステップは、
企業データベースを調査して、前記データオブジェクトと他のデータオブジェクトとの間の関係を識別する請求項１４記載の方法。
【請求項１７】
前記データオブジェクトの前記振る舞いを観測するステップは、
前記データオブジェクトと他のデータオブジェクトとの間の関係を識別するユーザー入力を受信することを含む請求項１４記載の方法。
【請求項１８】
前記コンピュータ装置によって、前記データオブジェクトを用いて前記モデリングされたソフトウェアを開発するデベロッパーインターフェイスウィンドウを提供するステップを更に含み、
前記データオブジェクトの前記振る舞いを観測するステップは、
開発されている前記モデリングされたソフトウェアにおける前記データオブジェクトの使用を判断することを含む請求項１４記載の方法。
【請求項１９】
前記コンピュータ装置によって、前記データオブジェクトの前記振る舞いの観測に応答して、前記データオブジェクトの使用の示唆を前記デベロッパーインターフェイス内に提供するステップを更に含む請求項１８記載の方法。
【請求項２０】
前記示唆を提供するステップは、
前記データオブジェクトの既知の使用に基づき前記モデリングされたソフトウェアにおける使用のパターンを示唆するガイド付きのプロシージャを提供することを含む請求項１９記載の方法。
【請求項２１】
マシンにオペレーションを実行させるための命令を提供するコンテンツが格納されたマシン読み取り可能な記録媒体であって、
前記オペレーションが、
モデリングされたソフトウェアのためのビルディングブロックとしてデータオブジェクトを提供するステップであって、前記データオブジェクトが、１又は２以上の他のデータオブジェクトとの関係のデスクリプションを含んでいる前記データオブジェクトの振る舞いの規定を有するところのステップと、
前記データオブジェクトをアクセスするモデリングされたソフトウェアアプリケーションにおける前記データオブジェクトの実行時の振る舞いを観測するステップと、
前記データオブジェクトの前記実行時の振る舞いを前記データオブジェクトの以前に観測された振る舞いと比較するステップと、
前記データオブジェクトの前記振る舞いの前記規定を修正して、前記データオブジェクトの前記実行時の振る舞いの比較に応答してモデリングされたソフトウェアについての更新されたビルディングブロックを提供するステップとを含み、
前記データオブジェクトの前記振る舞い規定を修正することは、前記データオブジェクトに規定されているアクションまたはプロセスが既知のアクションまたはプロセスとマッチングするかどうかをコンパレータによって判断し、前記判断の結果に基づいて、前記データオブジェクトの再使用の尤度を増加させ、そのデータオブジェクトの有用性を増加させるように、前記データオブジェクトに含まれると共に前記データオブジェクトの前記振る舞い規定の少なくとも一部を定義するメタデータを修正することを含む、マシン読み取り可能な記録媒体。
【請求項２２】
前記データオブジェクトの前記振る舞いを観測するステップは、
前記データオブジェクトの既知の使用と比較された前記データオブジェクトの使用の経験的評価を生成することを含む請求項２１記載のマシン読み取り可能な記録媒体。
【請求項２３】
前記データオブジェクトの前記規定を修正するステップは、
前記データオブジェクトの振る舞いのメタデータ規定を入れ替える請求項２１記載のマシン読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデリング(modeled)されたソフトウェアアプリケーションに関し、更に詳しくは、ソフトウェアコンポーネントの実際の振る舞いに従って、モデリングされた上記ソフトウェアコンポーネントの振る舞いを変更することに関する。
【背景技術】
【０００２】
従来のソフトウェア開発は、ビジネスプロセス(business process)またはプログラムの直接的コーディングを伴う。従来のコーディングは、ビジネスオブジェクト(business objects)を含んで、ビジネスプロセスまたはプログラムにおいて使用される基本コンポーネントの多大なカスタム開発(custom development)をもたらす。モデリングフレームワーク(modeling framework)を通じてソフトウェアをモデリングする場合でさえ、システム開発の多くのコンポーネントは、コンポーネントの再使用を目指すことなく、特定のアプリケーションのためにデザインされた。企業では、類似の基本コンポーネント、並びに、非標準化されたアプリケーション及びプロセスが大量に増える結果になる。このようなコンポーネントの蓄積は、重複したプログラミングの努力の結果であり、それはシステムの開発における効率の悪さを表す。
【０００３】
努力の重複に加えて、従来のシステムは、極めて多くの潜在的コンポーネント及びシステムから選択することをユーザーに要求する。従来のシステムは、標準化及びコンポーネント再使用に焦点を当てたデザインを促進することはできない。
【発明の開示】
【課題を解決するための手段】
【０００４】
本方法及び装置は、モデリングされたアプリケーション及びプロセスの開発において使用されるコンポーネントの漸進的発展(evolution)を可能とする。フレームワークは、他のコンポーネントに対するコンポーネントの関連に関する情報を観測(observe)し格納することを可能にする。上記フレームワークは、開発されたアプリケーション及びプロセスの実行及び／又は開発における使用のための実際の関連情報に少なくとも部分的に基づいて、コンポーネントの修正(modifications)及びコンテキストの変更(changes)を提供することができる。
【０００５】
以下の記述は、本発明の実施形態の一実施例として与えられた種々の図面の説明を含む。図面は、一例として理解されるべきであり、本発明を制限するものではない。
【０００６】
図１は、ランタイム及びデザインタイムコンポーネントを有するアプリケーションフレームワークの実施形態のブロック図である。
【０００７】
図２は、企業サービスアーキテクチャの実施形態のブロック図である。
【０００８】
図３は、複合アプリケーションの実施形態のブロック図である。
【０００９】
図４は、アプリケーションコンテンツマネージャを有するユーザー装置の実施形態のブロック図である。
【００１０】
図５は、複合アプリケーションコンテンツマネージャの実施形態のブロック図である。
【００１１】
図６は、コンテンツマネージャに結合されるユーザーインターフェイスの実施形態のブロック図である。
【００１２】
図７は、ビジネスオブジェクトをモデリングする実施形態のフロー図である。
【００１３】
図８は、関連エンジンを備えたコンテンツマネージャの実施形態のブロック図である。
【００１４】
図９は、関連を判定する実施形態のフロー図である。
【発明を実施するための最良の形態】
【００１５】
本実施形態では、１又は２以上の“実施形態(embodiments)”なる表現は、本発明の少なくとも一つの実施例(implementation)に含まれる特定の特徴、構造、または特性を記述するものとして理解されるべきである。従って、本実施形態に現れる“一実施形態において”または“他の実施形態において”のようなフレーズは、本発明の種々の実施形態および実施例を述べるものであり、必ずしも、全て同一実施例を言うものではない。しかしながら、また、それらは、必ずしも相互に排他的でもない。図面の説明を含み、以下に詳細および実施例を述べるが、それらは、以下に述べる実施形態の幾つか又は全部を表し、同様に、本明細書に表された進歩的な概念の他の潜在的実施形態または実施例を述べる。本発明の実施形態の概要は以下に提供され、その後、更に詳細な説明が図面を参照してなされる。
【００１６】
アプリケーションをプログラミングし、ビジネスプロセス(business process)を生成しモデリングするのに、種々のビルディングブロックコンポーネントを使用することができる。コンポーネントは、コンポーネントの再使用の尤度(likelihood)を増加させ、そして、そのコンポーネントの有用性を増加させるように適合(adapt)されることができる。上記コンポーネントは、上記コンポーネントについて収集／観測された関連情報(relatedness information)に基づき適合されることができる。
【００１７】
通常、従来のソフトウェアアプリケーションは直接的にコーディングされる。アプリケーションは、フレームワークのコンテキスト内にメタデータデスクリプションを生成し、アプリケーションが行うべき事柄を記述することによって、コーディングに代えてモデリングされることができる。メタデータは、或るビルディングブロックコンポーネント（例えば、データオブジェクト、プロセス、アクション、テンプレート／パターン）と情報のやり取りを行う方法を記述し、そして、異なるコンポーネント間の関係を規定してもよい。コンポーネントは、データオブジェクトであってもよく、または、データオブジェクトに関する／と共に(on/with)アクションを記述するコンポーネントであってもよい。コンポーネントは、それ自体、上記コンポーネントの振る舞い(behavior)に関するルールまたは規定およびデータを含む。コンポーネントの振る舞いは、上記コンポーネントと他のコンポーネントの関係、即ち、データまたは上記データと共に処理される他の任意のデスクリプションを呼び出し使用することを指し、或いは反対に、データまたは上記データと共に処理される他の任意のデスクリプションと情報のやり取りを行うことを指す。
【００１８】
アプリケーションに関して述べると、ビジネスプロセスは、また、ビジネスプロセスが行われるべきフレームワークのコンテキスト内にメタデータデスクリプションを生成することによりモデリングされることができる。アプリケーション及びビジネスプロセスの両方について、フレームワークは、モデルデスクリプションに基づきコードを生成することができる。加えて、フレームワークは、機能の枠を超えたもの(cross-functional)であってもよく、複数の異種のバックエンドシステムに対するアクセスを有してもよい。従って、オブジェクト(object)と機能(functionality)とサービス(service)は、多くの異なるシステム（例えば、ヒューマンリソース（ＨＲ）、ファイナンス、カスタマーリレーションマネージメント（ＣＲＭ）など）にわたってアクセスされることができる。ここで、デスクリプションは、アプリケーションを参照して作成され、そのアプリケーションはソフトウェアプログラムを指し、ビジネスプロセスに等しく適用することが理解されるべきであり、そのビジネスプロセスはアクション(actions)／アクティビティ(activities)のシーケンスを指す。
【００１９】
ビルディングブロックコンポーネントは、メタデータモデルが導き出されるところのコンポーネントである。ビルディングブロックコンポーネントは、１又は複数のビルディングブロックコンポーネント貯蔵部(repositories)またはギャラリー(galleries)において提供されることができる。コンポーネントの貯蔵部は、モデリングのプロセス中にアクセスされる。コンポーネントの使用または共通の振るい舞に基づき上記コンポーネントが適合されることを可能にすることにより、コンポーネントの貯蔵部は、再使用(reuse)を促進するコンポーネントを有する可能性が高まる。オブジェクトの再使用は、企業を超えてアプリケーションの大きな標準化をもたらすかもしれない。
【００２０】
ソフトウェアを構築する場合、デベロッパー(developer)は、オブジェクトを比較し、そして或るオブジェクトが他のオブジェクトと共に現れるか否か、或いは特定のアクション又はプロセスで使用されるかを判断するために意味調査(semantic research)を相談してもよい。上記使用は、他のオブジェクトまたはアクションと共に特定のオブジェクトの使用の頻度として定量化されてもよい。例えば、特定の電話番号は、特定のアドレスと関連づけられてもよく、それら二つのアイテム間の高度に関連づけられた関係をもたらす。もし、複数のオブジェクトが常に関連づけられるのであれば、それらは、単一のオブジェクトとして結合されてもよい。上記二つの他のアイテムと共に頻繁に使用される第３のアイテムは、上記二つの他のアイテムと共に頻繁に使用されてもよく、上記他の二つと共に一つに結合されなくてもよい。しかしながら、それは、常に、上記単一のオブジェクトに関する特定のアクションの一部であり、したがって上記アクションに関連している。
【００２１】
関連情報は、間接的(implicit)であってもよく、ここで、関連は、値、経験則(heuristics)、上記データにおける関係およびモデルに基づき推測されてもよい。関連は、例えば、ユーザーによって指示されるように、明確であってもよい。従って、関連は、データベースを検索し、経験則機能に基づき関連を判断することにより判断され、及び／又はユーザーによって直接的に提供されてもよい。
【００２２】
本明細書で述べられるフレームワークの下でのソフトウェアの開発において、関連情報は、開発されるべき新たなアプリケーションを記述するために組み込まれることができる。関連は、また、例えば、ガイドされたデータエントリー、コンテキストのビュー(contextual views)、及び／又は他のメカニズムを通じて、アプリケーションの実行において使用されることができる。例えば、新たなプロジェクトを開発するための関連情報を組み込むアプリケーションを用いる場合、経費(budget)、デパートメント、トピックなどに関する或る情報が知られてもよい。上記知られた情報の幾つか又は全ては、例えば、関連した経験(relevant experience)を有するチームメンバー、プロジェクトリーダーなどを含む関連情報を有してもよい。加えて、関連情報は収集され、それは、特定のユーザーが常に他の記録を見ること同時に一つの記録を見ることを示す。この情報は、ユーザーのコンテキストに適合する能力を提供する。関連情報は、この関連情報が適用するデータと関連するメタデータとして格納されてもよい。
【００２３】
関連情報は、開発されたアプリケーションの使用及び／又は開発のための予測能力(predictive capacity)を提供することができる。アプリケーションの開発では、予測メカニズムは、選択されたプロセス及びサービス、並びに潜在的には選択されたコンポーネントの順序に基づいて決定することができ、その統計確率は、通常は他の或るサービスが選択されることを示す。開発インターフェイスは、通常は或るサービスが一緒に選択されると認識することができ、そしてそれぞれ個別に選択するよりも、むしろ、単一のファンクションにサービスを一緒に加えることを提示することができる。加えて、特定のプロセスパターンが認識されることができる（例えば、雇用ビジネスプロセス(hiring business process)）。もし、パターンが、コンテンツマネージャと称される関連エージェントによって認識されれば、このコンテンツマネージャは、貯蔵部における利用可能なパターンの使用を提案してもよい。
【００２４】
関連情報は、アプリケーション又はプロセスの実行中またはモデリングにおいてオブジェクトの振る舞いの観測を通じて生成される。コンテンツマネージャは、情報を収集し、そして、それを、関連情報メタデータ貯蔵部に格納することができる。一実施形態において、関連情報は、特定のオブジェクト、プロセスなどと関連づけられてメタデータとして格納される。メタデータは、オブジェクトが呼び出されたときに、パス(pass)又はアクセス(access)され、それは、プログラミング又はアプリケーション実行のためのコンテキストを与えることができる。
【００２５】
コンテキストの提供に加え、関連情報は、法定給付(legal benefit)と再使用の利益を提供することができる。プロセスは使用されることができ、それは合法性の問題（例えば、サーベンス・オークスリー法）に従うことが知られている。プロセスが提示されることができ、または合法性を提供するコンポーネントが示唆される。再使用の利益は、時間と知識の観点でコストがかかりすぎて生成することができないシステムをユーザーが開発することを可能にすることによってもたらされる。加えて、再使用は、例えば、異なる部署、異なる企業などからのように、任意のソースからプロセスを得ることに適用することができる。再使用は、時間がたてばコンポーネントがひとりでに適合されることを可能にすることにより、重複、または極めて類似するコンポーネントの尤度(likelihood)を低減することができる。
【００２６】
図１は、ランタイムおよびデザインタイムコンポーネントを備えたアプリケーションフレームワークの実施形態のブロック図である。概して、フレームワーク１００は、基本的企業ベースシステム１８０を活用し増進し、それは、オペレーションを実行するための機能及び／又はデータの１又は２以上の要素を含む。フレームワーク１００は、複合アプリケーションを生成するための構成を提供し、それは、モデリングされ／生成されたソフトウェアである。複合アプリケーションは、半構造(semi-structured)のプロセスを支援し、イベントドリブン及び知識ベースのビジネスシナリオを処理し、及び／又は、協調(collaboration)を支援してもよい。一実施形態において、複合アプリケーションは、ＪＡＶＡ（登録商標）スタックを支援する。複合アプリケーションは、種々の部分に分解されてもよく、そのそれぞれは、個別に生成／モデリングされてもよい。一実施例において、複合アプリケーションの部分は、エンタープライズＪＡＶＡ（登録商標）ビーンズ（ＥＪＢ）として実施されてもよく、他の実施例では、デザインタイムコンポーネントは、Ｊ２ＥＥ、ＡＢＡＰ、または．ＮＥＴのような、異なるプラットフォームにランタイム実施を生成する能力を備えてもよい。一実施形態において、フレームワーク１００は、ドイツのウォルドルフのＳＡＰ  ＡＧから入手できる複合アプリケーションフレームワーク（ＣＡＦ）である。
【００２７】
通常、フレームワーク１００は、基本的企業プラットフォームからアプリケーションを切り離すことにより既存のシステム環境内でアプリケーションが動作することを可能にする。基本的企業プラットフォームからアプリケーションを切り離すことは、中央インターフェイスを介してバックエンドシステムに対する通信を提供することと、バックエンドに依存しないオブジェクトモデルを提供するを含んでも良い。フレームワーク１００は、デザインタイムコンポーネント１０２と、ランタイムコンポーネント１０４を備える。デザインタイムコンポーネント１０２は、複合アプリケーションを生成するのに用いるモデリングコンポーネントと、モデルを生成するための１又は２以上のメカニズムを備える。通常、デザインタイムコンポーネント１０２は、ランタイムコンポーネント１０４によって実行される複合アプリケーションを開発するのに関与する。
【００２８】
デザインタイムコンポーネント１０２は、プロセスモデラー(process modeler)１１０と、ＵＩモデラー(UI modeler)１２０と、サービスモデラー(service modeler)１３０を備える。これらのモデラーは、必ずしもセパレート型のエンティティである必要はないが、セパレート型であってもよい。さらに、追加的なモデリングツールが、デザインタイムコンポーネント内に提供されてもよい。通常、モデラーは、ビジネスオブジェクト、ビジネスサービス、ビジネスプロセス、ユーザーインターフェイスなどを可能にする。プロセスモデラー１１０は、１又は２以上のアクション１１２を生成する能力を備え、それは、プロセスの種々のフェーズを表す。各アクション１１２は、関連したオペレーション、又は、アクション１１２のワークを表すオペレーションを有する。アクション１１２は、生成されたアクティビティの一部、または、オペレーションを実行することに関しユーザーとの情報のやり取りを提供するガイド付きのプロシージャの一部であってもよい。アクション１１２がガイド付きのプロシージャの一部であるところの一実施形態において、プロセスモデラー１１０は、ガイド付きのプロシージャを実行するための各アクション１１２を含む情報を備える。
【００２９】
プロセスモデラー１１０は、また、コンテキスト１１４を含み、それは、それが稼動する企業システムに関するプロセスに対する認識を提供する。ファンクションが企業システムを理解しないアプリケーションから使用されるところでは、プロセスモデラー１１０は、ファンクションを上記システムに組み込むためにメタデータにファンクションをラップ(wrap)することができる。
【００３０】
ユーザーインターフェイス（ＵＩ）モデラー１２０は、ユーザーインターフェイスを生成する能力を提供し、そしてフレームワーク１００と共に生成される複合アプリケーションを通じてアクセスされることができるデータ／プロセスのビュー(view)を提供する。ＵＩモデラー１２０は、データに関する多くのビュー１２２の何れかを生成することができる。一実施形態において、標準ビュー(standard views)またはパターンは、開発される各アプリケーションのために使用される。ユーザーインターフェイスは、テンプレートからの或るエレメントを含んでも良い。従って、ユーザーインターフェイスは、或る共通コンポーネントを有し、そしてなじみの表情を提供し、そして複数のアプリケーションにわたって感知してもよい。或るビューは、アプリケーションが実行されるところの環境に依存する。ビュー１２２は、アプリケーションと関連するアクティビティ、承認(authorization)、ロール(roles)に基づきビューを動的に生成するための能力を備えてもよい。ＵＩモデラー１２０のパターンコンフィグレーション(pattern configuration)１２４は、標準ＵＩコンポーネントとテンプレートの使用を可能にする。
【００３１】
サービスモデラー１３０は、複合アプリケーションがデータをアクセスすることを可能にする。データオブジェクトは、サービスを介してアクセスされる。従って、サービスモデラー１３０は、サービス指向のモデルを提供し、このサービス指向のモデルを介してデータがアクセスされる。一実施形態において、サービスモデラー１３０は、企業サービスアーキテクチャ（ＥＳＡ）を提供し、そこでは、アプリケーションは、モデルドリブンのアーキテクチャよりも、サービスドリブンのアーキテクチャを通じて開発される。サービスドリブンのアーキテクチャデータは、データとのやり取りを提供する呼び出し可能なサービスに対するアクセスを提供する。サービスモデラー１３０は、サービス１３２を備え、それは、提供される１又は２以上のサービスを表す。サービス１３２は、これに限定はされないが、ガイド付きのプロシージャ、オブジェクトモニタリング、スタンドアローンアクション、プログラム、またはファンクションなどを含む。サービスモデラー１３０のエンティティ１３４は、企業またはウェブサービス内のサービスをアクセスするために生成されるコンポーネントを提供する。本実施形態における企業またはウェブサービスは、アドレッシング可能であるところのネットワーク内（企業のネットワーク内、または、インターネット内）のエンティティを指し、リクエスト及び／又は入力パラメータ（例えばフライトブッキング）に基づく能力を提供する。
【００３２】
ジェネレータ１４０は、モデルをランタイムコンポーネントに変換するための１又は２以上のコンポーネントを表す。一実施形態において、ジェネレータ１４０は、単一のコンポーネントであるが、他の実施形態では、ジェネレータ１４０は複数のコンポーネントである。
【００３３】
ランタイムコンポーネント１０４は、ランタイムコンポーネント１０２と共にモデリングされたアイテムのインスタンス化(instantiation)を提供し、そして、オブジェクトまたはサービスインスタンスが稼動するところの種々のフレームワークを含む。プロセスフレームワーク１５０は、そのフレームワーク１５０の下でプロセスの１又は２以上のインスタンスが実行できるところのフレームワークを表す。例えば、プロセスフレームワーク１５０は、ガイド付きのプロシージャ１５２、ユニバーサルワークリスト(universal worklist)１５４、及び／又はワークフローインスタンス(workflow instance)１５６を含んでもよい。ガイド付きのプロシージャ１５２は、前述したようなガイド付きのプロシージャのインスタンスを表す。ユニバーサルワークリスト１５４は、ユーザーに利用可能なプロセスアイテムまたは全てのワークフローのリストを提供する。ワークフローまたはプロセスは、ワークフロー／プロセスに関しユーザーのリクエストのオペレーションを通じて、及び／又は、上記ワークフロー／プロセスに関する責任認証(responsibility authorization)を有するユーザーを通じて、ユーザーに利用可能である。ユニバーサルワークリスト１５４は、利用可能な各プロセスのためのワークセンターをアクセスするために使用されてもよい。ワークフローインスタンス１５６は、ユーザーのリクエストのワークを表す１又は２以上のワークフローの例を提供する。ワークフローはユーザーが実行する１又は２以上のアクションを有しても良い。
【００３４】
ＵＩフレームワーク１６０は、プロセスとデータに関するビューを翻訳(render)する能力を提供する。一実施形態において、ＵＩフレームワーク１６０は、ユーザーに表示／提示されるコンテンツの動的マネージメントを提供するビューマネージャ（図示なし）を提供する。ＵＩフレームワーク１６０は、ＵＩコンポーネント１６２を含んでもよく、それは、ユーザーディスプレイの１又は２以上のエレメントを表す。一実施形態において、ＵＩコンポーネント１６２は、ウェブブラウザにおいてディスプレイを翻訳するためのエレメントを含むが、他の環境も使用できる。一実施形態において、セパレート型のアプリケーションビューワー(viewer)が使用される。ＵＩパターン１６４は、ユーザーインターフェイスを翻訳するための標準エレメントとパターンを提供する。ＵＩパターン１６４は、ＵＩコンポーネント１６２を提供してもよい。ＵＩパターン１６４は、ボタン、リンク、テキストなどを提供する種々のコンポーネント１６２を備えるテンプレートであってもよく、それは、生成されるあらゆるアプリケーションに標準であってもよく、または、部分的にインスタンス特定のデータでカスタマイズされてもよい。
【００３５】
一実施形態において、ＵＩフレームワーク１６０は動的ビュー１６６を含む。動的ビュー１６６は、１又は２以上の動的コンポーネントを備えたビューを表し、ユーザーに提供されるアプリケーションのコンテンツを変えてもよい。動的ビュー１６６は、ユーザーの認証(authorization)に基づきコンテンツを変える。コンテンツは、人員構造(personnel structuring)の変化（例えば、ムーブ、プロモーション、ターミネーション）、および基本的データまたはサービスコンテンツの変化を反映させるために動的に変えられることができる。
【００３６】
サービスフレーム１７０は、ユーザーに利用可能なサービスを通じてデータアクセスを実施する。ユーザーは、１又は２以上のエンティティサービス１７２、アプリケーションサービス１７４、ＪＡＶＡ（登録商標）データオブジェクト（ＪＤＯ）サービス１７６、及び／又は外部サービス１７８へのアクセスを有してもよい。アプリケーションサービス１７４は、複合アプリケーションに特有のサービス、または、アプリケーションによって直接アクセス可能なサービスを表す。ＪＤＯ１７６は、企業ベースシステム１８０のオブジェクト貯蔵部をアクセスすることができる。同様に、企業ベースシステム１８０は、１又は２以上のリモートファンクションコール（ＲＦＣ）１８４、および１又は２以上のウェブサービス１８６を通じてアクセスされるリモートファンクションを含んでも良い。外部サービス１７８は、リモートエレメント（例えば、ＲＦＣ１８４およびウェブサービス１８６）をアクセスする。
【００３７】
メタデータ１０６は、デザインタイムコンポーネント１０２とランタイムコンポーネント１０４によって利用されアクセスされるかもしれないアクセス／サービス資源及び／又は１又は２以上のデータの抽出(abstraction)を表す。メタデータ１０６は、必ずしも、コンポーネントの一つの内部の資源ではなく、またコンポーネントにのみ利用可能であるとも理解されない。メタデータ１０６は、アプリケーション部分を実行し及び／又はモデリングするのに使用するためのビジネスオブジェクト、ビジネスサービス、ビジネスプロセス、及び／又は、他のアプリケーション部分に関するメタデータを含む貯蔵部を提供しても良い。従って、アプリケーション部分は、ローカルデータベース、リモートデータベース、またはこれらの組合せにおいて、データの源(origin)と同様に、モデリングされてもよい。一実施形態において、メタデータ１０６のコンテンツは、アプリケーション部分の特定の実施を超えて拡張する情報を含む。特定の実施を記述する貯蔵部が存在してもよく、それは、より通常の貯蔵部から満たされる。メタデータ１０６は、貯蔵情報の通常、特定、または組合せを含むものと理解されることができる。
【００３８】
複合アプリケーションコンテンツマネージャ１９０は、フレームワーク１００を通じて関連情報を管理し、生成し、及び／又は使用するエージェントまたはモジュールを表す。複合アプリケーションコンテンツマネージャ１９０は、コンテキスト情報(contextual information)を提供してもよく、そして、フレームワーク１００を用いたアプリケーションの開発で使用されるコンポーネントエレメントの漸進的変化(evolution)を可能にする。ランタイムコンポーネント１０４は、モデリングされたエレメントのインスタンスを生成し、それは、複合アプリケーションコンテンツマネージャ１９０によってモニタされる。複合アプリケーションコンテンツマネージャ１９０は、オブジェクト貯蔵部にあるデータをアクセスしてもよく、及び／又は上記貯蔵部に情報を書き込んでも良い。貯蔵部１８２は、フレームワーク１００を用いてソフトウェアを開発するために使用されることができるコンポーネントエレメントを含む。
【００３９】
図２は、企業サービスアーキテクチャの実施形態のブロック図である。企業サービスアーキテクチャは、アーキテクチャを提供し、このアーキテクチャを通じて動的コンテンツビューを提供し、そしてアクセスポータル２１０を通じてアクセスする。アクセスポータル２１０は、どのようなタイプのネットワークポータルであってもよく、それを通じて企業がアクセスされる。
【００４０】
図２のシステムは、複合アプリケーションとして組み合わせられる機能のための複数タイプのソースを含んでもよい。一例として、これに限定するものではないが、複合アプリケーションは、多くの機能ソースからのコンポーネントを含むことが考えられる。異なるソースの機能の使用は、本明細書で述べられるような動的データビューの開発に対する要件として理解されるべきではない。機能の潜在的なソースの例は、モデリングされたプロセス２５０、既存のアプリケーション２６０、および外部機能２７０を含む。
【００４１】
モデリングされたプロセス２５０は、例えば、図１に示されたフレームワークにより、モデリングされたコンポーネントから生成された１又は２以上のプロセスを含む。モデリングされたプロセス２５０はデータ２５８を含み、それは、モデリングされたプロセス２５０のプロセスに関連するデータを表す。プロセスの一つのエレメントはフェーズ(phase)２５２であり、それは、或るアクションまたはアクティビティまたはガイド付きのプロシージャを含んでも良い。
【００４２】
既存のアプリケーション２６０は、１又は２以上の既存のアプリケーションから生成された１又は２以上のプロセスを含む。この場合、より多くのアプリケーションは、モデリングされたプロセス２６０とは対照的に、モデリングされていないものである。モデリングされ生成されるよりも、既存のアプリケーション２６０は、専用の機能、またはサブシステムを通じて利用可能な標準コンポーネントに基づかないデータおよびサービスを含んでも良い。既存のアプリケーション２６０はデータ２６８を含み、それは既存のアプリケーション２６０のプロセスに関連するデータを表す。プロセスの一つのエレメントはフェーズ２６２であり、それは、動的複合ビューに求められる機能を含む。既存のアプリケーション２６０およびモデリングされたプロセス２５０は、複合ビューがインスタンス化されるところのシステムおよび基本のフレームワークを理解してもよい。従って、フェーズ２５２および２６２は、コンテキスト上、承知している。
【００４３】
外部ファンクション２７０は、企業システムの環境の外部で利用可能な１又は２以上のプロセスを含む。例えば、外部ファンクション２７０は、企業システムに関してサードパーティであるプログラムからの利用可能な機能を表してもよい。外部ファンクション２７０は、アクセスされ実行されるところのリモートファンクションであってもよい。フェーズ２７２および２７４は、複合アプリケーションに求められる外部ファンクション２７０のプロセスのフェーズを表す。メタデータは、外部ファンクション２７０からコンポーネントに運ぶときに含まれてもよく、それは、外部機能を組み込むためのラッパー(wrapper)として働くことができる。
【００４４】
サービス２８０は、複合プロセスにサービスを提供することができる１又は２以上のサービスを表す。サービス２８０はサービス２８２を含み、それは、複合アプリケーションの複合プロセスに組み込まれるサービスを提供する。
【００４５】
選択されたプロセスフェーズ及びサービスは、複合アプリケーションフレームワーク２４０を通じて企業サービスアーキテクチャ２３０に引き込まれる。複合アプリケーションフレームワーク２４０は、図１のフレームワーク１００の実施形態によるフレームワークである。プロセスフェーズは、また、既存のプロセスから引き込まれないフレームワーク内で生成されてもよい。例えば、複合アプリケーションフレームワークは、フェーズ２４２を複合アプリケーションプロセスのエレメントとしてモデリングしてもよい。複合アプリケーションのために選択されたサービスおよびフェーズのそれぞれは、組み合わせられて複合アプリケーション２２０を生成し、それは、種々の選択されたエレメントの生成された複合プロセス２２２を含む。即ち、フェーズ２５２，２４２，２６２，２７２，２７４は、組み合わされて複合プロセス２２２を形成し、それはアクセスポータル２１０を通じてユーザーにアクセス可能である。
【００４６】
一実施形態において、図２のシステムは、データオブジェクト貯蔵部２９２とコンテンツマネージャ２９４を含む。データオブジェクト貯蔵部２９２は、複合アプリケーション２２０を生成するのに使用できるコンポーネントオブジェクトの１又は２以上のギャラリーまたは貯蔵部を提供する。サービス２８０は、データオブジェクト貯蔵部２９２のデータオブジェクトをアクセスするのに利用可能である。コンテンツマネージャ２９４は、また、オブジェクト、オブジェクトについてのメタデータ、およびストアメタデータ(store metadata)をアクセスするためにデータオブジェクト貯蔵部２９２をアクセスすることができる。コンテンツマネージャ２９４は、複合アプリケーション２２０の複合プロセスの実行及び／又は開発に基づきオブジェクトの振る舞いを判断してもよい。コンテンツマネージャ２９４は、プロセスの実行をガイドし、及び／又は複合プロセスの開発をガイドすることができる。
【００４７】
図３は、複合アプリケーションアーキテクチャの実施形態のブロック図である。複合アプリケーション３１０は、本実施形態による複合ビューまたは複合アプリケーションの例である。複合アプリケーション３１０は、バックエンドシステムのクロスファンクションコンポーネントへのアクセスを提供するためのサービス指向のアーキテクチャを用いて生成される。複合アプリケーション３１０は、コンテキストビュー３１２を含み、それは、基本的アクセスシステムコンポーネントの変化に応じてコンテンツを変えると共に、複合アプリケーションをアクセスするために使用されている別の承認(permission)に応答してコンテンツを変える動的ビューを表す。コンテキストビュー３１２は、ロール及びワークセンター、複合アプリケーション特定のユーザーインターフェイスなどを含む。動的ビューに関し、特定の認証を用いたユーザーの呼び出しに応答して、コンテキストビュー３１２は或るコンテンツを表示させてもよい。別の認証を用いた別のユーザーの呼び出しに応答して、または別の認証を用いた同じユーザーの呼び出しに応答して、別のコンテンツが表示されてもよく、または別のアクセスが可能であってもよい。
【００４８】
複合アプリケーション３１０は、複合アプリケーション（ａｐｐ）オブジェクト３２０を含み、それは、複合アプリケーション３１０に関連するオブジェクトを表す。複合アプリケーションオブジェクト３２０は、ステータス／アクションマネージメント(mgt)３２２を含み、これは、複合アプリケーションオブジェクト３２０を追跡(track)するために使用されることができる。ステータス／アクションマネージメント３２２は、オブジェクトの振る舞いを管理し、そして複合アプリケーションオブジェクト３２０のインスタンスと企業プラットフォーム３３０との間の一貫性を提供してもよい。ステータス／アクションマネージメント３２２は、また、複合アプリケーションオブジェクト３２０の振る舞いに関する統計値（即ち、関連値データ）を収集するために使用されることができる。一実施形態において、ステータス／アクションマネージメント３２２は、コンテキストビュー３１２に影響を与える。複合アプリケーションオブジェクト３２０は、関連複合アプリケーションエージェント３１４を有し、それは、オブジェクト３２０への入力とオブジェクト３２０からの出力を提供する。一実施形態において、複合アプリケーションエージェント３１４は、複数のエージェントエンティティであり、そして入力エージェントおよび出力エージェントであってもよい。加えて、複合アプリケーションエージェント３１４は、複合アプリケーションオブジェクト３２０へのクエリー(queries)または複合アプリケーションオブジェクト３２０からのリクエストを提供してもよい。一実施形態において、複合アプリケーション３１０の各オブジェクトは個別のエージェントまたは複数のエージェントを有する。一実施形態において、複合アプリケーションエージェント３１４は、複合アプリケーション３１０と関連づけられ、そして、複合アプリケーション３１０内の複数のオブジェクトインスタンスのためのサービスを提供する。複合アプリケーションエージェント３１４は、後述するように、情報マネージメント３７２への関連データを提供することができる。
【００４９】
企業プラットフォーム３３０は、複数のオブジェクト３４０，３５０を有してもよく、そのそれぞれは、企業エージェント、具体的には、インターフェイスエージェント３４４および３５４をそれぞれ有してもよい。上記エージェントを通じて、オブジェクト３４０，３５０は、企業プラットフォーム３３０の他のコンポーネントによってアクセスされ、またはアクセスしてもよい。オブジェクト３４０，３５０は、また、ステータス／アクションマネージメント３４２，３５２をそれぞれ含む。オブジェクト３４０，３５０は、オブジェクトを表し、そのオブジェクトから、特定のインスタンスが複合アプリケーション３１０において生成される。
【００５０】
企業プラットフォーム３３０はバックエンド３６０を含み、それは、企業のためのバックエンドコンポーネントを提供する。バックエンド３６０はフレームワーク３６２を含んでも良く、それは、複合アプリケーション３１０を生成するのに用いるフレームワークを提供するための本実施形態で述べられるような複合アプリケーションフレームワークであってもよい。エンジンサービス３６４は、複合アプリケーション３１０を生成するのに利用されるバックエンドサービスを提供する。従属オブジェクト(dependent object)３６６およびマスターデータオブジェクト３６８は、バックエンド３６０において利用可能なオブジェクトタイプを表す。
【００５１】
企業プラットフォーム３３０は、また、情報マネージメント３７２を有する企業サーバー３７０を含み、それは、分析論(analytics)、研究(search)、タスク(tasks)、マスターデータなどを含んで、マネージメントファンクションを提供する。一実施形態において、情報マネージメント３７２は、コンテンツマネージャ３７４を含み、それは、本実施形態によるコンテンツマネージャである。情報マネージメント３７２は、関連情報を収集し提供することができる。
【００５２】
図４は、アプリケーションコンテンツマネージャを有するユーザー装置の実施形態のブロック図である。ユーザー装置４１０は、ユーザーが企業をアクセスするためのコンピュータ装置を表す。ユーザー装置４１０は複合アプリケーション４２０を含み、それはモデリングされたソフトウェアを表し、そのソフトウェアは、関連情報を用いて生成され、及び／又は実行における関連情報から構成されてもよい。複合アプリケーション４２０は、任意の数のオブジェクト４２２−４２４、及び／又はオブジェクト４２２−４２４を呼び出すサービスを含むことができる。
【００５３】
一実施形態において、ユーザー装置４１０はコンテンツマネージャ４１２を含み、それは、オブジェクトマネージメントファンクションを提供することができる１又は２以上のモジュールを表す。ユーザー装置４１０上に存在するようなコンテンツマネージャ４１２は、単に１又は２以上のメカニズム（例えば、通信エージェント）であってもよく、それは、複合アプリケーション４２０におけるオブジェクトの使用に基づき関連情報を収集し、及び／又は複合アプリケーション４２０のビュー可能なコンテンツに影響を与えるための関連情報を提供するものである。複合アプリケーション４２０は、提供する情報においてコンテキスト(contextual)であることができる。例えば、複合アプリケーション４２０内のアクセスするオブジェクト４２２は、オブジェクト４２４を提供するためにコンテンツマネージャ４１２をトリガーしてもよい。他の実施形態では、複合アプリケーション４２０内のオブジェクト４２２−４２４の組み合わせに基づき、コンテンツマネージャ４１２は、複合アプリケーション４２０が達成することを試みている経験的な判断(heuristic determination)に基づくプロセスまたはガイド付きのプロシージャを提供してもよい。或るビューは制限されてもよく、そして、他は、コンテキストアプリケーションによって複合アプリケーション４２０のユーザーをいっそう有効にするために提供されてもよい。オブジェクト４２２−４２４は、コンテンツマネージャ４１２にアクセス可能なメタデータを含み、それは、コンテンツマネージャ４１２がコンテキストを判断し示唆を提供することを可能にしてもよい。一実施形態において、コンテンツマネージャ４１２は、オブジェクトコンテンツマネージャ４１２観測の振る舞いに基づきオブジェクト４２２−４２４へのメタデータを格納する。
【００５４】
企業サービスインターフェイス４３０は、ユーザー装置４１０から基本的企業システム及びネットワークへのアクセスを提供するための１又は２以上のコンポーネントを表す。企業サービスインターフェイス４３０は、また、ポータルを含み、このポータルを通じてネットワーク４４０をアクセスする。ネットワーク４４０は、任意のタイプのネットワークを含んでもよく、そしてソフトウェア及びハードウェアの両方、またはユーザー装置４１０がサーバー４５０をアクセスするのに用いるネットワークプロトコルを表す。ネットワーク４４０は、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、バーチャルプライベートネットワーク（ＶＰＮ）、バーチャルＬＡＮ（ＶＬＡＮ）、ワイドエリアネットワーク（インターネットを含む）などを含む。
【００５５】
サーバー４５０は、複合アプリケーションのようなサービスディレクトリを生成するためのフレームワーク４５２を含む。サーバー４５０は企業サーバーであり、１又は２以上のサービス４６０に対するアクセスを提供し、それは、複合アプリケーション４２０に組み込まれてもよく、そして企業データ４７０の１又は２以上のエレメントに対するアクセスを提供してもよい。企業データ４７０は、任意のタイプのデータまたは情報を含むことができ、そして例えば、ＸＭＬ(extensible markup language)データ、企業資源計画データベース（ＥＲＰ  ＤＢ）４７４、または他のデータ４７６を含んでもよい。
【００５６】
一実施形態において、サーバー４５０はコンテンツマネージャ４５４を含み、それは、コンテンツマネージャ４１２とは別個のコンテンツマネージャのエレメントであってもよい。一実施形態おいて、コンテンツマネージャ４５４，４１２は、複合アプリケーション４２０を開発するための関連情報を提供するために協働するエレメントである。従って、コンテンツマネージャの或るエレメントは、ユーザー装置に常駐し、あるいはユーザー装置４１０を構成するバーチャルマシンまたは物理マシン内に常駐してもよく、他のエレメントは、企業サーバーに常駐してもよい。一実施形態において、コンテンツマネージャ４１２は、コンテンツマネージャ４５４によって処理される関連情報を収集し提供するためのコンテンツマネージャ４５４のスタブ(stub)またはローカルエージェントである。
【００５７】
図５は、複合アプリケーションコンテンツマネージャの実施形態のブロック図である。複合アプリケーションコンテンツマネージャ５００はコントロールロジック５１０を含み、それは、複合アプリケーションコンテンツマネージャ５００の動作を管理し、及び／又は複合アプリケーションコンテンツマネージャ５００の動作の管理と関連するハードウェアを管理するためのロジックファンクション制御を実施する。ロジックは、ハードウェアロジック回路及び／又はソフトウェアルーチンであってもよい。一実施形態において、複合アプリケーションコンテンツマネージャ５００は、１又は２以上のアプリケーション５２０を含み、それは、コントロールロジック５１０への命令を提供するプログラム及び／又はコードシーケンスを表す。複合アプリケーションコンテンツマネージャ５００は、データ及び／又は命令を格納するためのメモリ資源５３０へのアクセス及び／又はメモリ５３０を含む。メモリ５３０は、複合アプリケーションコンテンツマネージャ５００のローカルのメモリを含み、同様にまたは或いは、複合アプリケーションコンテンツマネージャ５００が駐在するホストシステムのメモリを含む。複合アプリケーションコンテンツマネージャ５００は、また、１又は２以上のインターフェイス５４０を含み、それは、複合アプリケーションコンテンツマネージャ５００の外部のエンティティ（電子的または人間の）に関する複合アプリケーションコンテンツマネージャ５００への／からのアクセスインターフェイス（入力／出力インターフェイス）を表す。インターフェイス５４０は、複合アプリケーションコンテンツマネージャ５００がホストアプリケーションに組み込まれることができるメカニズムを含み、そしてまた、複合アプリケーションコンテンツマネージャ５００から、ホストアプリケーションが稼動するシステムの他のアプリケーションまたはコンポーネントへのインターフェイスを含む。
【００５８】
複合アプリケーションコンテンツマネージャ５００は、また、コンテンツエンジン５５０を含み、それは、複合アプリケーションコンテンツマネージャ５００が、複合アプリケーションのコンテンツに影響を与える関連情報を提供することを可能にする１又は２以上のファンクションを表す。このファンクション又は特徴は、オブジェクトアクセスモジュール５５２、振る舞い観測部(behavior observer)５５６、オブジェクト修正モジュール５６２、コンテキストモジュール５６８の１又は２以上を含み、またはそれによって提供される。これらのモジュールのそれぞれは、他のファンクションを提供するための他のモジュールを更に含んでもよい。本実施形態で使用されるように、モジュールは、ルーチン、サブシステムなどを指し、ハードウェア、ソフトウェア、または幾つかの組み合わせによって実施される。以下の説明では、データオブジェクト、または簡単なオブジェクトを参照するが、任意の複合アプリケーションビルディングブロックに適用可能であることが理解されるべきである。
【００５９】
オブジェクトアクセスモジュール５５２は、コンテンツエンジン５５０が、企業データストアからのデータオブジェクトをアクセスすることを可能にする。このデータオブジェクトは、オブジェクトアクセスモジュール５５２が、アクセスされたオブジェクトのための関連情報を判断するためにアクセスするメタデータを含んでもよい。オブジェクトアクセスモジュール５５２は、コンテンツエンジン５５０が、複合アプリケーションで使用するためのオブジェクトのインスタンスを生成することを可能にするためのインスタンスモジュール５５４を含んでもよい。オブジェクトインスタンスは、実行された複合アプリケーションの各インスタンスについて生成されてもよい。オブジェクトインスタンスは、企業データに格納されたオブジェクトから導き出され、そして、メタデータ及び関連情報を含んで、コンテンツを引き継ぐ能力を提供する。関連情報は、コンテンツエンジン５５０が、複合アプリケーションに対する動的なコンテキストの能力(capacity)を提供する。
【００６０】
振る舞い観測部５５６は、コンテンツエンジン５５０が、モニタされたデータオブジェクトの使用または振る舞いを記録し観測することを可能にする。振る舞いは、複合アプリケーションの他のコンポーネント（例えば、他のオブジェクト）との関係を含んでもよい。オブジェクトの或る関係は、データオブジェクトのインスタンス化で規定されてもよい。振る舞い観測は、関係が、加えられ、除去され、またはさもなければ、より有用性のある（そして従って再使用可能な）データオブジェクトをもたらすために変えられるかどうかを判断することを支援してもよい。振る舞い観測部５５６は、格納モジュール５５８を含んでもよく、それは、コンテンツエンジン５５０が、例えば、データオブジェクトの規定を調整することなど、観測される振る舞いを格納することを可能にする。一実施形態において、複数のデータオブジェクトのための振る舞いデータは、オブジェクトの使用に影響を与えるために使用されアクセスされることができる単一の場所に格納される。他の実施形態では、振る舞いデータは、データオブジェクトと共にローカルに格納される。振る舞い観測部５５６は、また、関係評価モジュール５６０を含んでも良く、それは、コンテンツエンジン５５０が、複合アプリケーションの他のビルディングブロックコンポーネントとオブジェクトとの関係を評価し比較することを可能にするメカニズムを提供する。関係評価モジュール５６０は、関係の親密さ（例えば、多数の分離したレベルの一つ、バイナリー（即ち、親密に関連するか否か））を示してもよい。
【００６１】
オブジェクト修正モジュール５６２は、コンテンツエンジン５５０が、オブジェクト規定変更を提供すること、または観測されたオブジェクトに基づき新たなオブジェクトを規定することを可能にする。本実施形態で使用されるように、オブジェクトの規定を修正することは、オリジナルのオブジェクトから始める新たなオブジェクトを規定することを含むこととして理解され、そして加えられ、またはさもなければ、新たなオブジェクトで変えられる。オブジェクト修正モジュール５６２は、複数のアプリケーションにアクセス可能なオブジェクトの貯蔵部にオブジェクト規定を保存する能力を含む。オブジェクト修正モジュール５６２は、特に、オブジェクトの規定を変えるための規定(def)修正モジュール５６４を含んでもよい。オブジェクトの規定は、その関係を含んでもよい。オブジェクトの関係を変えることは、オブジェクトに関連するメタデータを変えることを含んでもよく、なぜなら、メタデータは、オブジェクトの関係と振る舞いを規定することができるからである。オブジェクト修正モジュール５６２は、また、付加(add)関係モジュール５６６を含んでもよく、それは、コンテンツエンジン５５０が、オブジェクトについての関係を付加することによりオブジェクトの規定で拡張することを可能にする。規定は、例えば、オブジェクトがビューされるときに、特定の他のオブジェクトがまたアクセスされるべきであるということを含んでもよい。
【００６２】
コンテンツエンジン５５０は、また、コンテンツエンジン５５０が、アプリケーションの開発または実行中にコンテキストを提供することを可能にするコンテキストモジュール５６８を含んでもよい。本実施形態で説明するように、複合アプリケーションのビューは、アクセスされるプロセスまたは特定のビジネスオブジェクトについて提供されるコンテキストに基づき変更されることができる。コンテキストモジュール５６８は、開発されている特定のプロセスのコンテキスト、または使用されているオブジェクトに基づきユーザーに入力指示することにより開発ウィンドウのコンテンツに影響を与えることができる。このコンテキストは、後述するように、経験的判断に基づき影響を受けてもよい。
【００６３】
複合アプリケーションコンテンツマネージャ５００は、貯蔵部５７０をアクセスしてもよく、それは、１又は２以上のオブジェクト５７２−５７４を含み、それらの規定を含む。貯蔵部５７０は、必ずしも単一の物理装置である必要はないことに注意されたい。貯蔵部５７０をアクセスするより多くのアプリケーション及びシステム、上記オブジェクトのより多くの使用が促進される。複合アプリケーションコンテンツマネージャ５００は、複合アプリケーション５９０をアクセスすることができ、そして、後述するように、複合アプリケーション５９０のコンテンツに影響を与えても良い。
【００６４】
複合アプリケーションコンテンツマネージャ５００は、ハードウェア、ソフトウェア、及び／又はこれらの組み合わせを含んでもよい。複合アプリケーションコンテンツマネージャ５００またはその構成要素がソフトウェアを含む場合、そのソフトウェアデータ、命令、及び／又は構成は、マシン／電子装置／ハードウェアによる製品を介して提供されてもよい。製品は、命令、データなどを提供するためのコンテンツを有するマシン読み取り可能な記録媒体を含んでもよい。コンテンツは、本実施形態で述べるように、電子装置をもたらし、上述の実行または種々のオペレーションを実施する。読み取り可能であってアクセス可能な記録媒体は、マシンによってアクセス可能な形態で情報／コンテンツを提供する（即ち、格納及び／又は伝送する）任意のメカニズム（即ち、コンピュータ装置、電子装置、電子システム／サブシステム、など）を含む。例えば、マシン読み取り可能な記録媒体は、読み取り可能／書き込み不能の記録媒体（例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ記録媒体、光記録媒体、フラッシュメモリ装置など）を含む。マシン読み取り可能な記録媒体は、また、電子装置が稼動しているときに実行されるストレージにロードされたコードを有する電子装置を含んでもよい。従って、このようなコードと共に電子装置を配給することは、本実施形態で述べられるこのようなコンテンツと共に製品を提供することとして理解されてもよい。さらにデータベースまたは他のメモリロケーションにコードを格納し、そして通信媒体を介したダウンロードのためのコードを提供することは、本実施形態で述べられるこのようなコンテンツと共に製品を提供することとして理解されてもよい。
【００６５】
図６は、コンテンツマネージャに結合されたユーザーインターフェイスの実施形態のブロック図である。一実施形態において、ワークセンター、コントロールセンター、またはビジネスプロセスのフェーズに関するアクティビティは、データに関する同様のビューを備えてもよい。例えば、ユーザーインターフェイス６１０は、ディスプレイウィンドウの上部を横切るプロセスウィンドウ枠(process pane)を含む。プロセスウィンドウ枠６２０は、ユーザーインターフェイス６１０に表示されたビジネスプロセスの視覚化を提供する。ユーザーインターフェイス６１０は、グラフィカルユーザーインターフェイスが提供されるところのソフトウェア（例えば、オペレーティングシステム）およびハードウェア（例えば、ディスプレイ装置）を表す。プロセスウィンドウ枠６２０は、プロセスのどのフェーズが実行されているか、及び／又は、どのフェーズが表示されているかを示す。
【００６６】
ユーザーインターフェイス６１０は、コンテキストウィンドウ枠６３０を含み、それは、ナビゲーションメニュー項目のための領域を提供する。ナビゲーションメニュー項目は、選択されるコンテキストを示すためのテキスト、及び／又は、タブ(tabs)、アイコンを含んでもよい。提供されるデータのビューは、コンテキストウィンドウ枠６３０において何が選択されたかに依存してもよい。一実施形態において、コンテキストウィンドウ枠６３０は、関連情報を含む。コンテキストウィンドウ枠６３０は、コンテキスト上は従属(contextually dependent)であり、そして、ヘルプ、フェイバレット、アクティビティ特定の情報などを提供し、それは、関連情報およびコンテキストに依存して変わる。標準ビジネスプロセスが提供され、そしてこのビジネスプロセスを作り出すオブジェクト及びプロセスは、コンテキストウィンドウ枠６３０の項目が動的に変化することを可能とする情報を提供することができる。
【００６７】
コンテンツウィンドウ枠(content pane)６４０は、関連データのコンテキストにおいて提供されるビューに従って、ビジネスプロセスのための使用可能なコンテンツを提供する。ワークウィンドウ枠６５０は、ユーザーからの入力がビジネスオブジェクトをアクセスし、使用し、修正するなどを可能にする。
【００６８】
プログラミング環境は同様のことを可能とするが、しかし、データに関して同一のビューではない。一実施形態において、同様のウィンドウ枠が使用され、それは、アプリケーションを構築するための領域を提供する。示された特定のウィンドウ枠に加え、開発指向のユーザーインターフェイスは、開発するためのユーザーの能力を改善するための追加の機能を提供することができる。デベロッパーインターフェイス６６０は、開発指向の環境を提供する。一実施形態において、デベロッパーインターフェイス６６０は、ポップアップウィンドウの一部である。デベロッパーインターフェイス６６０は、ドラッグアンドドロップのメカニズムを含んでもよく、そして他への一つのオブジェクトの関連に依存して、動的に変化するコンテンツを有してもよい。
【００６９】
一実施形態において、デベロッパーインターフェイス６６０は、対話型のウィザードと共に動作し、または対話型のウィザードを含み、それは、開発タスクの各部分を実行するためのユーザー入力をリクエストするガイド付きのプロシージャを指す。ウィザードは、複合アプリケーションコンテンツマネージャ６７０によって判断された関連を示すことができ、それは、ここで述べられる任意の実施形態によるコンテンツマネージャの例である。例えば、ウィザードは、ワークが雇用プロセス(hiring process)であるかどうかを問い合わせてもよい。もし、提供された回答が‘ノー’であれば、ウィザードは、ワークが容認パターン(acceptance pattern)であるかどうかを問い合わせてもよい。一実施形態において、ウィザードは、プロセスに対する最初のマッチングを試み、そしてパターンに対するマッチングを試みる。
【００７０】
ユーザーインターフェイス６１０は、コンテンツマネージャ６７０に結合される。本実施形態で使用されるように、結合は、電子的、通信の、物理的のような、任意の形態の接続を提供することを指す。コンテンツマネージャ６７０は、ネットワーク６８０の一部であってもよく、または、ネットワーク６８０上の装置から実行されてもよい。ユーザーインターフェイス６１０は、コンテンツマネージャ６７０を介する他に、ネットワーク６８０に対する接続を有してもよい。ネットワーク６８０は、コンテンツマネージャ６７０を貯蔵部６９０に結合し、それは、上述したようなメタデータおよびオブジェクトを含んでもよい。一実施形態において、コンテンツマネージャ６７０は、関連情報のための貯蔵部６９０を調査(search)し探す(scour)ためのバックエンドプロセスを実行する。コンテンツマネージャ６７０は、また、あるいは代わりに、ユーザーから直接的に提供される関連情報を格納してもよい。従って、関連情報は、直接的または非直接的に判断されることができ、そしてユーザー装置上でインスタンス化されたオブジェクト内に格納された情報、企業ストレージに格納されたメタデータまたはオブジェクト、及び／又はコンテンツマネージャ内に格納された情報を含んでもよい。
【００７１】
図７は、ビジネスオブジェクトを修正する実施形態のフロー図である。ビジネスオブジェクトは規定され、それは、上記オブジェクトと他のオブジェクトとの関係を規定し、そのオブジェクトの振る舞いを規定することを含んでもよい（７０２）。ビジネスオブジェクトは、ここで述べられたフレームワークでモデリングされる（７０４）。ビジネスオブジェクトの規定およびモデリングは、ビジネスオブジェクトのインスタンスをもたらす。そして、ビジネスオブジェクトのインスタンスは、ビジネスオブジェクトの特性(property)を引き継ぐために生成され、そして、モデリングされたソフトウェアで使用される。ビジネスオブジェクトは、モデリングされたソフトウェアの生成において使用されるコンポーネントのギャラリー(gallery)に格納される。フレームワーク内のモデリングおよび規定は、典型的にはユーザーによって実施される。
【００７２】
関連情報収集部(relatedness information gatherer)は、また、ビジネスオブジェクトのために生成される（７０６）。関連収集部は、ビジネスオブジェクトと関連するメタデータを含んでもよい。関連収集部は、オブジェクトの振る舞いに関する情報を格納し観測するコンテンツマネージャまたはエージェントを指してもよい。関連収集部は、オブジェクトが規定されたとき、及び／又はオブジェクトインスタンスが生成されたときにフレームワーク内で自動的に生成されてもよい。或いは、関連収集部は、ユーザーによって生成されてもよい。
【００７３】
ビジネスオブジェクトは、複合アプリケーションによる使用およびアクセスのために、ビジネスオブジェクト貯蔵部に格納される（７０８）。複合アプリケーションは、ビジネスオブジェクトに基づきモデリングされることができる（７１０）。ビジネスオブジェクトのインスタンスは、複合アプリケーションが実行されるときに複合アプリケーションのために生成されることができる（７１２）。ビジネスオブジェクトのインスタンス化は、既知のパターンまたはプロセスに対しオブジェクトの使用を比較し及び／又はデータを収集することを開始するために情報収集部を起動(trigger)してもよい。情報収集部／コンテンツマネージャは、モデリングされたアプリケーションにおいて観測されるようなオブジェクトの振る舞いを観測し格納する（７１４）。振る舞いの格納は、選択的に実行されてもよく、例えば、アプリケーション内のビジネスオブジェクトについて規定されたモデリングされた関係または新たな関係のみを格納することにより実行されてもよい。特定の企業は、他の企業と異なるビジネスオブジェクトを使用してもよい。関連情報は、ビジネスオブジェクト貯蔵部が、ビジネスオブジェクトのそれらの使用および各特定の企業をマッチングさせることを促進することを可能にする。
【００７４】
観測された振る舞いは、観測された振る舞いに基づきオブジェクト規定（オブジェクトの規定のコア、及び／又はオブジェクトのメタデータ）を変更するかどうかを判断するために、以前の観測された振る舞い、または既知の振る舞いと比較されてもよい（７１６）。オブジェクト規定の変更は、経験的アルゴリズム(heuristic algorithms)の任意のセットを用いて規定されてもよく、それは、オブジェクト規定を積極的に変更し（例えば、異なる使用がなされるたびに）、または、より注意深く変更してもよい（例えば、時間の閾値の後）。もし、規定が変更されるべきでなければ（７２０）、コンテンツマネージャは、オブジェクト規定を変更するためと考えられる他の変更がなされるかどうかをモニタすることを継続することができる。もし、振る舞い規定が変更されるべきであれば（７２０）、この変更は実施に従って格納される（７２２）。この変更は、オブジェクトと共に格納されることができ、または、メタデータ貯蔵部におけるような或る他の方法で格納されることができる。
【００７５】
図８は、関連エンジンを有するコンテンツマネージャの実施形態のブロック図である。コンテンツマネージャ８１０は本実施形態によるコンテンツマネージャを表す。コンテンツマネージャ８１０は、コンテンツマネージャ８１０が、モデリングされたソフトウェアで使用されるオブジェクトのための関連情報に作用し、この関連情報を判断することに関連するオペレーションを実行することを可能にするための関連エンジン８２０を含む。関連エンジン８２０は、プロセス入力を受信し、そして関連出力を提供する。プロセスは、プロセス内のアクションの動作またはプロセスのステータスに関する情報を受信することを指す。関連出力は、既知の情報の観点からプロセスの評価または結果を指す。
【００７６】
関連エンジン８２０はプロセスモニター８２２を含み、それは、関連エンジン８２０が、評価されたプロセスの振る舞いを観測することを可能にする。プロセスまたはオブジェクトと共にアクションに基づく入力を受信することは、振る舞いのモニタリングを活性化することを指す。関連エンジン８２０は、更にコンパレータ８２４を含み、それは、関連エンジンがプロセスをモニタし、観測された振る舞いに基づき多くの任意の判断をなすことを可能にする。例えば、コンパレータ８２４は、他のオブジェクトとの関係を記述すると共にその関係のためのアクションを規定するメタデータを有するオブジェクトが選択されたか動作されたかを判断し、アクションまたはアクションのシーケンスが既知のシーケンスとマッチングするかどうかを判断し、規定されているプロセスが既知のプロセスに似ているかどうかを判断してもよい。もし、コンパレータ８２４が、動作している多くのオペレーションの何れかについてマッチングを検出すれば、関連エンジン８２０は、実行するのに適切なアクションが何であるか示唆部(suggester)８２６を通じて判断してもよい。例えば、メタデータは、特定の関係または条件について特定のアクションを規定してもよい。
【００７７】
関連エンジン８２０は、例えば格納するために、情報の１又は２以上のデータベースに観測された振る舞いのデータを提供してもよい。一実施形態において、コンテンツマネージャ８１０は、パターンオントロジー(pattern ontology)８３２および経験則データ及びアルゴリズム(heuristics data and algorithms)８３４からのアクセス（例えば、インターフェイス、または情報を得るための他の呼び出しメカニズム）を有してもよく、または含んでもよい。パターンオントロジー８３２は、或るプロセスパターンをクラス分けする情報の格納を指す。全ての可能なビジネスプロセスをマッピングしクラス分けする能力は、アカデミックによって実行されているワークであり、この文書の要旨の範囲外である。パターンオントロジー８３２は、企業に知られているプライベート（私有の）なプロセスに関連する公開のプロセス及び／又は企業によって使用される過去のプロセスを含んで、特定の企業に適用可能であるところのプロセスクラス分けの有用なセットまたはサブセットを指すものと理解されることができる。
【００７８】
経験則データ及びアルゴリズム８３４は、経験的データを既知のテストデータと比較する方法の判断および比較をなすことができる統計エンジン及び情報を指す。経験的アルゴリズムおよびデータは、例えば実行のために、コンパレータ８２４に提供されることができる。経験的データは、どのデータが観測されたかについて各プロセスで更新されることができる。経験的アルゴリズムは、また、観測されたデータに基づき影響を受けてもよい（例えば、増加を説明するアルゴリズムへの変化を起動するテストセットを増やすことにより）。
【００７９】
図９は、関連を判断する実施形態のフロー図である。ビジネスプロセスソフトウェアを実施し生成するためのシステムは、開発フレームワークを提供する（９０２）。開発フレームワークは、複合アプリケーションの生成を可能とし、本実施形態で述べられるようなフレームワークの任意の実施形態の例を提供する。開発フレームワークは、関連データに基づきアプリケーションにコンテキスト情報を提供するためにコンテンツマネージャの使用を含んでもよい。コンテンツマネージャは、フレームワークを用いて開発されたプロセスに関する入力を受信する（９０４）。入力は、ビジネスオブジェクトの使用であることができ、それは、関連判断メカニズムを用いて評価される。
【００８０】
関連データは、任意的に格納される（９０６）。そのデータは、新しい関係が使用されるようなときに選択的に格納され、または常に格納されてもよい。関連判断メカニズムは、入力データを既知のパターンまたはプロセスと比較するために経験的アルゴリズムを適用してもよい（９０８）。そして、関連判断メカニズムは、入力データと既知のプロセスまたはパターンとの間に統計的マッチング(statistical match)が存在するかどうかを判断することができる（９１０）。統計的マッチングは、経験的アルゴリズムの出力統計を指す。例えば、特定の閾値またはより高い値の結果は、複合アプリケーションのオペレーションまたはビューにおけるコンテキストシフトを提供するための十分な関係を示してもよい。一実施形態において、潜在的マッチングは、存在するマッチングの量に基づき命令(order)されることができる。この命令された潜在的マッチングは、順に一つずつ試みられることができ、入力をユーザーに促す。表された数は、試みの或る数に制限されることができ、及び／又は或る結果値（例えば、マッチングの尤度の特定のパーセンテージを超える値）に制限されることができる。
【００８１】
もし、統計的マッチングが存在しなければ（９２０）、関連判断メカニズムがより多くの入力を待ち受ける（９２２）。もし、マッチングが存在すれば（９２０）、関連判断メカニズムは、マッチングに基づきコンテキストの示唆を提供することができるコンテンツマネージャにマッチングを示してもよい（９２４）。例えば、他のオブジェクトがアクセスされることができ、ビューが変更されることができ、ポップアップ示唆がユーザーなどに提示されることができる。
【００８２】
本実施形態で述べたことの他に、本発明の要旨を逸脱することなく、本発明の実施形態および実施例に対して種々の修正をなしてもよい。従って、本実施形態の例示および例は、例示的であるものと解釈され、制限を意図するものではない。本発明の範囲は、添付の特許請求の範囲を参照することによってのみ評価されるべきである。
【図面の簡単な説明】
【００８３】
【図１】ランタイム及びデザインタイムコンポーネントを有するアプリケーションフレームワークの実施形態のブロック図である。
【図２】企業サービスアーキテクチャの実施形態のブロック図である。
【図３】複合アプリケーションの実施形態のブロック図である。
【図４】アプリケーションコンテンツマネージャを有するユーザー装置の実施形態のブロック図である。
【図５】複合アプリケーションコンテンツマネージャの実施形態のブロック図である。
【図６】コンテンツマネージャに結合されたユーザーインターフェイスの実施形態のブロック図である。
【図７】ビジネスオブジェクトをモデリングする実施形態のフロー図である。
【図８】関連エンジンを備えたコンテンツマネージャの実施形態のブロック図である。
【図９】関連を判定する実施形態のフロー図である。
【符号の説明】
【００８４】
１００；複合アプリケーションフレームワーク
１０２；デザインタイム
１０４；ランタイム
１０６；メタデータ
１１０；プロセスモデラー
１２０；ＵＩモデラー
１３０；サービスモデラー
１４０；ジェネレータ
１５０；プロセスフレームワーク
１６０；ＵＩフレームワーク
１７０；サービスフレームワーク
１８０；企業ベースシステム
１９０；複合アプリケーションコンテンツマネージャ
【図１】
0005265880.tif 000002
【図２】
0005265880.tif 000003
【図３】
0005265880.tif 000004
【図４】
0005265880.tif 000005
【図５】
0005265880.tif 000006
【図６】
0005265880.tif 000007
【図７】
0005265880.tif 000008
【図８】
0005265880.tif 000009
【図９】
0005265880.tif 000010