(57)【要約】【課題】  次元モデルからのビジネスエンティティの生成を可能とする。【解決手段】  モデルサービスシステム２５０は入力（図中符号２５２、２５４および２５６）を受信し、次元モデル２５８を自動的に生成する。モデルサービスシステム２５０は、オブジェクト記述２５４によって指定されたオブジェクトモデルにおける関連付けおよびコンポジションを使用して、次元モデル２５８内の外部キー関係を推測する。システム２５０はまた、ファイル（図中符号２５２）内でユーザによって定義された解析の焦点、および持続性データストアのマッピング２５６も使用して、次元モデル２５８を作成し、モデル２５８を通じてデータにアクセスする。エンティティジェネレータ２６０はビジネスインテリジェンスエンティティ２６２をオブジェクトの形態において、次元モデル２５８内のキューブおよび次元から作成する。【選択図】  図４Ａ
2004280819.tif 000002
【特許請求の範囲】
【請求項１】
次元モデルによって表現されたデータにアクセスする方法であって、
前記次元モデルに基づいてオブジェクトモデルを生成するステップと、
前記オブジェクトモデルに問い合わせて、前記データにアクセスするステップと
を備えることを特徴とする方法。
【請求項２】
前記オブジェクトモデルを生成するステップは、
ファクトテーブルを前記次元モデルから検索するステップを備える
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記オブジェクトモデルを生成するステップは、
検索された前記ファクトテーブルに基づいて、前記オブジェクトモデル内で主要エンティティを生成するステップを備える
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記オブジェクトモデルを生成するステップは、
検索された前記ファクトテーブルの次元に基づいて、前記オブジェクトモデル内で非主要エンティティを生成するステップを備える
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記オブジェクトモデルを生成するステップは、
前記オブジェクトモデル内の前記主要エンティティおよび非主要エンティティを、前記ファクトテーブルと前記次元との間の外部キー関係に基づいて関係付けるステップを備える
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記オブジェクトモデルに問い合わせて、前記データにアクセスするステップは、
オブジェクト指向クエリ表現を、前記オブジェクトモデルに対して実行するステップを備える
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記オブジェクトモデルを問い合わせて、前記データにアクセスするステップは、
前記オブジェクト指向クエリ表現を、次元モデルクエリ表現に変換するステップと、
前記次元モデルクエリ表現を、前記次元モデルに対して実行するステップとを備える
ことを特徴とする請求項６に記載の方法。
【請求項８】
検索された前記ファクトテーブルは複数の次元を有し、前記オブジェクトモデルを生成するステップは、
前記オブジェクトモデル内で非主要エンティティを生成する前記ステップを、検索された前記ファクトテーブルに対応する前記複数の次元の各々について繰り返すステップを備える
ことを特徴とする請求項４に記載の方法。
【請求項９】
前記次元モデルは複数のファクトテーブルを含み、前記オブジェクトモデルを生成するステップは、
前記検索するステップを、前記ファクトテーブルの各々について繰り返すステップと、
前記オブジェクトモデル内で主要エンティティを生成する前記ステップを、複数の検索されたファクトテーブルの各々について繰り返すステップとを備える
ことを特徴とする請求項５に記載の方法。
【請求項１０】
前記次元モデルは複数のファクトテーブルを含み、前記オブジェクトモデルを生成するステップは、
前記検索するステップを、前記ファクトテーブルの各々について繰り返すステップと、
前記オブジェクトモデル内で、複数の戻されたファクトテーブルの１つまたは複数に対応する主要エンティティを生成するステップとを備える
ことを特徴とする請求項５に記載の方法。
【請求項１１】
前記次元モデルを初期オブジェクトモデルから自動的に生成するステップ
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
オブジェクトモデルを次元モデルから生成する方法であって、前記次元モデルは複数のファクトテーブルを有し、各ファクトテーブルは１つまたは複数の対応する次元を有し、
前記次元モデル内で１つのファクトテーブルを選択するステップと、
前記次元モデル内で選択された前記ファクトテーブルに対応する、前記オブジェクトモデルのための主要エンティティを生成するステップと、
選択された前記ファクトテーブルの各次元について、前記主要エンティティに関係付けられた非主要エンティティを生成するステップと
を備えることを特徴とする方法。
【請求項１３】
選択された前記ファクトテーブルを、前記次元モデルから検索するステップ
をさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記オブジェクトモデル内の前記主要エンティティおよび前記非主要エンティティを、前記ファクトテーブルと前記次元との間の外部キー関係に基づいて関係付けるステップ
をさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１５】
選択された前記ファクトテーブルは複数の次元を有し、
前記オブジェクトモデル内で非主要エンティティを生成する前記ステップを、検索された前記ファクトテーブルに対応する複数の次元の各々について繰り返すステップをさらに備える
ことを特徴とする請求項１２に記載の方法。
【請求項１６】
前記次元モデルは複数のファクトテーブルを含み、
前記検索するステップを、ファクトテーブルの各々について繰り返すステップと、
前記オブジェクトモデル内で主要エンティティを生成する前記ステップを、複数の検索されたファクトテーブルの各々について繰り返すステップとをさらに備える
ことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記次元モデルを初期オブジェクトモデルから自動的に生成するステップ
をさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１８】
次元モデルにおいて表現されたデータにアクセスするためのシステムであって、
オブジェクトモデルを前記次元モデルに基づいて生成する、エンティティジェネレータと、
前記オブジェクトモデルを通じて前記データにアクセスするためのインタフェースを提供する、データアクセスシステムと
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトモデルを次元モデルから生成する方法に関する。より詳細には、オブジェクトモデルによってモデル化されたシステムにおけるデータにアクセスするためのレポーティング要件（reporting requirements）を満たすことに対処し、具体的には、オブジェクト指向表現を使用して問い合わせることができるオブジェクトモデルを、次元モデル（dimensional model）に基づいて自動的に生成するためのシステムに係る、次元モデルによって表現されたデータにアクセスする方法、オブジェクトモデルを次元モデルから生成する方法、及び次元モデルにおいて表現されたデータにアクセスするためのシステムに関する。
【背景技術】
【０００２】
ビジネストランザクションを必要とするソフトウェアアプリケーションを設計するとき、アプリケーション開発者は従来、モデル主導のアーキテクチャを使用し、ドメイン特有の知識に焦点を合わせる。モデル主導のアーキテクチャはしばしば、ビジネストランザクションで必要とされるビジネスオブジェクト（またはビジネスエンティティ）を含み、これは、顧客（customer）、オーダー（order）、製品に対応するビジネスエンティティなどである。これらのエンティティは、オブジェクト指向のパラダイムに従って、オブジェクトとしてモデル化される。
【０００３】
各オブジェクトは、ビジネスエンティティのデータおよび挙動をカプセル化する。例えば、顧客オブジェクトは、顧客についての名前、住所および他の個人情報などのデータを含む。顧客オブジェクトはまたプログラミングコードも含み、これは例えば、新しい顧客を作成し、既存の顧客のデータを修正し、顧客をデータベースに保存するためのものである。
【０００４】
オブジェクトモデルはまた、モデル化されたビジネスエンティティの間の関係の記述も可能にする。例えば、オーダーオブジェクトの数を、これらのオーダーを出す顧客を表現する顧客オブジェクトに関連付けることができる。これは、関連付け関係として知られている。コンポジション（composition）など、他のタイプの関係もまた記述することができる。オーダーは、例えば、オーダーライン（orderline）の集まり「から構成される（composed of）」可能性がある。これらのオーダーラインは、それらが属するオーダーと無関係に存在するのではない。このようにして、アプリケーション開発者は、それらのアプリケーションに関連付けられたビジネス論理を、モデルのセットに変換する。このビジネス論理を実施するアプリケーションは、しばしばオンライントランザクション処理（ＯＬＴＰ）を使用して構築される。
【０００５】
オブジェクトモデルにおけるオブジェクトは通常、それらのデータをリレーショナルデータベースに格納する。従来のレポーティング要件を満たすために、データがリレーショナルデータベース中で、抽出、変換およびローディング（ＥＴＬ）プロセスを使用して検索される。データは、これらのプロセスを使用して、データマートとして知られるステージングエリアに検索される。
【０００６】
現在、データマートに取り組むユーザと、ＯＬＴＰアプリケーション開発を行なうユーザの間に知識の差がある。データマートに取り組むユーザは通常、オブジェクトモデルがどのように構築されているかについての知識を有していない。したがって、データがＥＴＬプロセスを通じて検索されるとき、オブジェクトモデルに構築されたビジネス論理（関係およびクラスなど）が失われる。
【０００７】
したがって、従来、ユーザのレポーティング要件を容易にするために、次元モデルとして知られる別のモデルが、データマート内のデータから構築される。次元モデルは、メジャー（measures）を有するファクトテーブル（Fact table）、および、次元（dimension）と呼ばれる、関連付けられたテーブルを含む。次元モデルが構築された後、オブジェクトモデルに組み込まれたビジネス論理が失われたとしても、ユーザは次元モデルに対してクエリを指定して、いくらか論理的な方法でデータを得ることができる。
【０００８】
尚、出願人が知っている先行技術として、記載すべき先行技術文献情報は特に見あたらない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、このタイプのシステムでは、ビジネス論理（または少なくともビジネス論理の一部）を再構築して次元モデルを得ることに、多くの時間を費やす必要がある。このために、このようなシステムを使用する会社は２つのプログラマのグループを維持することが必要となる可能性があり、一方は、ビジネス論理を開発してこれをオブジェクトモデルにおいて実施するためのグループ、もう一方は、会社によって必要とされたレポーティング構造をサポートするためのグループである。言うまでもなく、この人の重複にはコストがかかり、非効率的である。
【００１０】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、次元モデルからのビジネスエンティティの生成を可能とする、オブジェクトモデルを次元モデルから生成する方法を提供することにある。
【課題を解決するための手段】
【００１１】
このような目的を達成するために、本発明の次元モデルによって表現されたデータにアクセスする方法は、オブジェクトモデルを前記次元モデルに基づいて生成するステップと、前記オブジェクトモデルを問い合わせて、前記データにアクセスするステップとを備えることを特徴とする。
【００１２】
また、上記目的を達成するために、本発明のオブジェクトモデルを次元モデルから生成する方法は、前記次元モデルは複数のファクトテーブルを有し、各ファクトテーブルは１つまたは複数の対応する次元を有し、前記次元モデル内で１つのファクトテーブルを選択するステップと、前記次元モデル内で前記選択されたファクトテーブルに対応する、前記オブジェクトモデルのための主要エンティティを生成するステップと、前記主要モデルに関係付けられた非主要エンティティを、前記選択されたファクトテーブルの各次元について生成するステップとを備えることを特徴とする。
【００１３】
また、上記目的を達成するために、本発明の次元モデルにおいて表現されたデータにアクセスするためのシステムは、オブジェクトモデルを前記次元モデルに基づいて生成する、エンティティジェネレータと、前記オブジェクトモデルを通じて前記データにアクセスするためのインタフェースを提供する、データアクセスシステムとを備えることを特徴とする。
【００１４】
本発明は、オブジェクトモデルを次元モデルから自動的に生成する。これにより、ユーザは所望のレポートを、オブジェクト指向表現のみを使用して生成することができる。オブジェクト指向表現が次元モデルクエリ表現に変換され、これが次元モデルに対して実行される。
【発明の効果】
【００１５】
以上説明したように本発明によれば、次元モデルからのビジネスエンティティの生成を可能とする。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。本発明の様々な態様は、オブジェクトモデルを次元モデルから生成することに対処する。しかし、本発明をより詳細に説明するのに先立って、本発明を使用することができる例示的環境の一実施形態を説明する。
【００１７】
図１は、本発明を実施することができる適切なコンピューティングシステム環境１００の一例を例示する。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例にすぎず、本発明の用途または機能性の範囲についてのいかなる限定も示唆するように意図されない。例示的オペレーティング環境であるコンピューティングシステム環境１００に例示したコンポーネントのいずれか１つまたはその組み合わせに関係するいかなる依存性または要件も有するように解釈されるべきではない。
【００１８】
本発明は、多数の他の汎用または専用コンピューティングシステム環境または構成により動作可能である。本発明と共に使用するために適切である可能性のある周知のコンピューティングシステム、環境および／または構成の例には、それだけに限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ（personal computer）、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【００１９】
本発明を一般に、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令に関連して説明することができる。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらは特定のタスクを実行するか、あるいは特定の抽象データ型を実装する。本発明はまた分散コンピューティング環境において実施することもでき、この環境ではタスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールが、記憶デバイスを含むローカルおよびリモートのコンピュータ記憶媒体内に位置することができる。
【００２０】
図１を参照すると、本発明を実施するための例示的システムは、コンピュータ１１０の形態における汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、それだけに限定されないが、プロセッサ１２０、システムメモリ１３０、および、システムメモリを含む様々なシステムコンポーネントをプロセッサ１２０に結合するシステムバス１２１が含まれる可能性がある。システムバス１２１は、いくつかのタイプのバス構造のいずれかにすることができ、これには、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺機器バスおよびローカルバスが含まれる。例として、限定ではなく、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスが含まれる。
【００２１】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセスすることができるいかなる使用可能な媒体にすることもでき、これには、揮発性および不揮発性媒体、リムーバブルおよびノンリムーバブル媒体が含まれる。例として、限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、揮発性および不揮発性、リムーバブルおよびノンリムーバブルの媒体を含み、これらはコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の格納のためのいずれかの方法または技術において実施される。コンピュータ記憶媒体には、それだけに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）、フラッシュメモリもしくは他のメモリ技術、ＣＤ（compact disk）−ＲＯＭ、ＤＶＤ（digital versatile disk）もしくは他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶デバイス、または、所望の情報を格納するために使用することができ、コンピュータ１１０によってアクセスすることができる他のいかなる媒体もが含まれる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波もしくは他の移送メカニズムなどの変調データ信号における他のデータを具体化し、いかなる情報配信媒体をも含む。「変調データ信号」という用語は、信号における情報を符号化するような方法でその特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定ではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ（radio frequencies）、赤外線および他の無線媒体などの無線媒体が含まれる。上記のいずれの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００２２】
システムメモリ１３０は、揮発性および／または不揮発性メモリの形態におけるコンピュータ記憶媒体を含み、これは読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などである。ＢＩＯＳ（Basic Input/Output System）１３３は、起動中など、コンピュータ１１０内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、通常はＲＯＭ１３１に格納される。ＲＡＭ１３２は通常、プロセッサ１２０によって即時アクセス可能および／または現在動作中であるデータおよび／またはプログラムモジュールを含む。例として、限定ではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７を例示する。
【００２３】
コンピュータ１１０はまた、他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。例としてのみ、図１は、ノンリムーバブル、不揮発性の磁気媒体に対する読み書きを行なうハードディスクドライブ１４１、リムーバブル、不揮発性磁気ディスク１５２に対する読み書きを行なう磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたは他の光媒体など、リムーバブル、不揮発性の光ディスク１５６に対する読み書きを行なう光ディスクドライブ１５５を例示する。例示的オペレーティング環境で使用することができる他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータ記憶媒体には、それだけに限定されないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は通常システムバス１２１に、インタフェース１４０などのノンリムーバブルメモリインタフェースを通じて接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常システムバス１２１に、インタフェース１５０などのリムーバブルメモリインタフェースによって接続される。
【００２４】
上述し、図１に例示したドライブおよびそれらの関連付けられたコンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの記憶装置を提供する。図１では、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７を格納するものとして例示される。これらのコンポーネントを、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７と同じものにも異なるものにもすることができることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７にはここで異なる番号が与えられて、最低でも、それらが異なるコピーであることが例示される。
【００２５】
ユーザはコマンドおよび情報をコンピュータ１１０へ、キーボード１６２、マイクロフォン１６３、および、マウス、トラックボールまたはタッチパッドなどのポインティングデバイス１６１などの入力デバイスを通じて、入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる可能性がある。これらおよび他の入力デバイスがしばしばプロセッサ１２０へ、システムバスに結合されるユーザ入力インタフェース１６０を通じて接続されるが、これを、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）など、他のインタフェースおよびバス構造によって接続することができる。モニタ１９１または他のタイプの表示デバイスもシステムバス１２１へ、ビデオインタフェース１９０などのインタフェースを介して接続される。モニタに加えて、コンピュータはまた、スピーカ１９７およびプリンタ１９６など、出力周辺インタフェース１９５を通じて接続することができる他の周辺出力デバイスを含むこともできる。
【００２６】
コンピュータ１１０はネットワーク環境において、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用して動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードにすることができ、通常は、コンピュータ１１０に関連して上述した要素の多数またはすべてを含む。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００２７】
ＬＡＮネットワーキング環境において使用するとき、コンピュータ１１０がＬＡＮ１７１へ、ネットワークインタフェースまたはアダプタ１７０を通じて接続される。ＷＡＮネットワーキング環境において使用するとき、コンピュータ１１０は通常、モデム１７２、またはインターネットなどのＷＡＮ１７３を介して通信を確立するための他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インタフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関連して示したプログラムモジュールまたはその一部を、リモート記憶デバイスに格納することができる。例として、限定ではなく、図１はリモートアプリケーションプログラム１８５をリモートコンピュータ１８０上に存在するものとして例示する。図示のネットワーク接続は例示的であり、通信リンクを複数のコンピュータの間で確立する他の手段を使用できることは理解されよう。
【００２８】
図２は、従来技術によるデータ処理を例示するブロック図である。図２は、アプリケーション開発者が、オブジェクトモデル２００を開発することによって、アプリケーションによって使用されるビジネス論理を実施していることを例示する。図２のように、オブジェクトモデル２００は複数の異なるビジネスエンティティを含み、これには、顧客エンティティ２０２、オーダーエンティティ２０４およびオーダーラインエンティティ２０６が含まれる。オブジェクトモデル２００は、一般に統一モデリング言語（ＵＭＬ）として知られる表記法を使用する。この表記法は、オーダー２０４とオーダーライン２０６の間の構成関係を示す。したがって、これは、オーダーエンティティ２０４が１つまたは複数のオーダーラインエンティティ２０６から構成されることを示す。オブジェクトモデル２００はまた、オーダー２０４が顧客２０２との関連付けを有することも示す。
【００２９】
従来のシステムでは、所望のレポーティング構造をサポートするために、データが最初に持続性データストア（リレーショナルデータベースなど）２０１から、抽出、変換およびローディング（ＥＴＬ）プロセスを使用して検索され、データマート２０８に入れられており、これはデータを検索するのに先立ってそのデータのためのステージングエリアとして動作した。
【００３０】
次いで、ユーザのためのレポーティング構造をサポートする開発者は、モデル２１０など、次元モデルを生成した。次元モデルは通常、ファクトテーブル２１２を含み、これはその中に示されたメジャーを有する。ファクトテーブル２１２はまた複数の次元も有し、これを図２でＤ１〜Ｄ５として例示する。次元モデル２１０は通常、ユーザがレポートおよび解析することを望んだデータにおける特定の特徴に基づいて作成された。したがって、オブジェクトモデル２００内で実施されたビジネス論理のいくつかが、次元モデル２１０内で再作成された。
【００３１】
しかし、通常は、オブジェクトモデルを通じてビジネス論理を実施するアプリケーション開発者は、次元モデルを開発する開発者とは異なり、異なる知識ベースを有する。したがって、従来、レポーティングのために使用することができる次元モデル２１０を得ることにおいて、オブジェクトモデル２００を通じて実施されたビジネス論理の少なくとも一部を再構築する際に多くの時間および労力が費やされていた。
【００３２】
いくつかの従来技術に関連するもう１つの難点は、レポートを次元モデル２１０から生成するためにも、レポート生成者がＭＤＸ（multi-dimensional expressions）に精通していることが必要とされたことである。ＭＤＸは複雑な構文を有するので、これを学習することは困難である可能性があり、オブジェクトモデル２００を作成し、これと対話するために必要とされるオブジェクト指向表現とは異なる。したがって、次元モデル２１０が構築された後にも、レポートの生成にはなお、オブジェクト指向プログラミングで使用される知識以外の専門の知識を有する人が必要とされていた。
【００３３】
本発明をより詳細に説明する前に、外部キー関係の概念を論ずる。図３は、外部キー関係の概念を例示する簡略図である。図３は、ファクトテーブル２２０が、次元として「時間」および「顧客」に関連付けられた他のテーブルを含むことを示す。したがって、ファクトテーブル２２０は、ＴｉｍｅＩＤフィールド２２２およびＣｕｓｔｏｍｅｒＩＤフィールド２２４を含む。
【００３４】
タイムテーブル２２６は、フィールド２２８内でＴｉｍｅＩＤと呼ばれる主キーを含む。主キーは、タイムテーブル２２６内でレコードを一意に識別する。タイムテーブル２２６はまた、日、週および月など、時間に関係するいくつかの追加のフィールドも含む。
【００３５】
顧客テーブル２３０もまた、ＣｕｓｔｏｍｅｒＩＤ２３２と呼ばれる主キーを含む、主キーフィールドを含む。顧客テーブルの主キーは、顧客テーブル内のレコードを一意に識別する。言うまでもなく、顧客テーブルはまた、顧客名など、顧客に関連付けられた追加の項目も含む。
【００３６】
したがって、テーブル内の主キーは、そのテーブル内のレコードについての一意の識別子である。しかし、ファクトテーブル２２０内のＴｉｍｅＩＤフィールド２２２およびＣｕｓｔｏｍｅｒＩＤフィールド２２４は、他のテーブル（この場合はそれぞれ２２６および２３０）を参照する識別子である。したがって、ファクトテーブル２２０内のフィールド２２２および２２４に含まれたキーは、外部キーである。外部キー関係に関して、いくつかの複雑さが生じる。例えば、その主キーが別のテーブル内の外部キーである場合、外部キー関係に対処することなくテーブルを削除することはできない。さもなければ、このような削除は、このようなシステムに通常課せられる完全性の制約を破る。
【００３７】
図４Ａは、本発明の一実施形態の簡略ブロック図である。図４Ａはモデルサービスシステム２５０を例示し、これは入力として、焦点２５２（focal points）の仕様、オブジェクト記述２５４、および１セットの持続性データストアのマッピング２５６を取る。システム２５０は次いで、次元モデル２５８をこれらの入力に基づいて生成する。図４Ａはまたエンティティジェネレータ２６０も例示し、これは次元モデル２５８に基づいてオブジェクトのセット（またはエンティティ）を生成し、本明細書でこれをビジネスインテリジェンスエンティティ（またはＢＩエンティティ）２６２と称する。
【００３８】
焦点２５２は、ユーザによって解析の焦点であるとしてマークが付けられる、オブジェクトモデル内のあるデータを表す。焦点２５２を例示的にＸＭＬ（eXtensible [eXtended] Markup Language）仕様ファイル内で指定することができる。ＸＭＬ仕様ファイルの一例を、本明細書の付録Ａに示す。
【００３９】
オブジェクト記述２５４は、オブジェクトのセットに対応するメタデータのセットにおけるオブジェクト指向関係を記述する入力である。これは例えば、ＵＭＬクラスダイアグラムの形態を取ることができる。複数のビジネスエンティティ（顧客、オーダーおよびオーダーライン）についてのＵＭＬクラスダイアグラムの一例を、図４Ｂに例示する。
【００４０】
持続性データストアのマッピング２５６は、オブジェクトモデルによって参照されたデータを、持続性データストアにマップし、これは１つの例示的実施形態では、図２に示すリレーショナルデータベース２０１である。これらは例示的にユーザによってマップファイルの形態において作成され、その一例が付録Ｂで見られる。付録Ｂに示すマップファイルは、顧客エンティティからリレーショナルデータベースにマップする。
【００４１】
モデルサービスシステム２５０は入力（図中符号２５２、２５４および２５６）を受信し、次元モデル２５８をこれらの入力に基づいて自動的に生成する。本発明の一実施形態によれば、次元モデル２５８が、ユーザによって供給された入力から推測され、第２の１組の開発者がモデル２５８を得るためにビジネス論理を再作成することに関係するという要件はない。一実施形態では、また以下でより詳細に論じるように、モデルサービスシステム２５０は、オブジェクト記述２５４によって指定されたオブジェクトモデルにおける関連付けおよびコンポジションを使用して、次元モデル２５８内の外部キー関係を推測する。システム２５０はまた、ファイル（図中符号２５２）内でユーザによって定義された解析の焦点、および持続性データストアのマッピング２５６も使用して、次元モデル２５８を作成し、モデル２５８を通じてデータにアクセスする。したがって、本発明の一態様は単に、次元モデル２５８の自動生成である。
【００４２】
しかし、次元モデル２５８を自動的に生成するシステムを改良することもできる。例えば、次元モデル２５８を通じて情報を得ることにはなお、ユーザがＭＤＸまたはある種類の次元モデル照会言語を知ることが必要である。したがって、本発明のもう１つの実施形態によれば、エンティティジェネレータ２６０が提供される。エンティティジェネレータ２６０はビジネスインテリジェンスエンティティ２６２をオブジェクトの形態において、次元モデル２５８内のキューブおよび次元から作成する。これをまた、より詳細に以下で説明する。
【００４３】
図４Ｃは、図４Ａに示すシステムをより詳細に例示する。図４Ｃに例示する実施例では、オブジェクトモデルがオブジェクト記述２５４によって表現され、マッピング２５６がオブジェクト記述２５４とリレーショナルデータベース表現２６４の間に示され、これはリレーショナルデータベース２０１を表す。図４Ｃはまた、次元モデル２５８もより詳細に示す。次元モデル２５８はファクトテーブル２６６を、複数の次元２６８および２７０（Ｃｕｓｔｏｍｅｒ次元およびＯｒｄｅｒ次元）と共に含む。各次元は１つまたは複数のテーブルで形成される。ファクトテーブル２６６はＯｒｄｅｒｌｉｎｅＩＤおよびＣｕｓｔｏｍｅｒＩＤを外部キー参照として含むことにも留意されたい。
【００４４】
図４Ｃはまた、ＢＩエンティティのセット２６２の一実施形態も例示する。図４Ｃに示す例では、ＢＩエンティティ２６２はＢＩＯｒｄｅｒＦａｃｔエンティティ２７６、ＢＩＯｒｄｅｒエンティティ２７２およびＢＩＣｕｓｔｏｍｅｒエンティティ２７４を含む。エンティティ２７２および２７４は、エンティティ２７６に関係付けられる。
【００４５】
オブジェクト記述２５４内のエンティティおよびそれらの関係を見ることによって、次元モデルが、次元モデル２５８に示すものなどのような、スノーフレーク（snowflake）スキーマを必要とすることがわかる。したがって、ＯｒｄｅｒおよびＣｕｓｔｏｍｅｒの２つの次元が作成されることを推測することができる。Ｏｒｄｅｒ次元は、ＯｒｄｅｒおよびＯｒｄｅｒｌｉｎｅの２つのレベルを有するようになる。ファクトテーブル２６６内のメジャー（または数値）はＵｎｉｔＰｒｉｃｅおよびＱｕａｎｔｉｔｙを含むようになり、Ｏｒｄｅｒｌｉｎｅエンティティから来るようになる。
【００４６】
図５は、モデルサービスシステム２５０のより詳細なブロック図である。図６Ａは、図５に示すシステム２５０のオペレーションをよりよく例示する流れ図である。図５および６Ａを互いに関連して説明する。図５は、モデルサービスシステム２５０がモデルサービスコンポーネント３００、マップシステム３０２および次元モデル構築システム３０４を含むことを示す。マップシステム３０２は、エンティティリレーション（ＥＲ）マッパ３０６、マップローダ３０８およびマップウォーカ（ｍａｐ  ｗａｌｋｅｒ）３１０を含む。次元モデル構築システム３０４は、モデルジェネレータ３１２、モデルマテリアライザ（ｍｏｄｅｌ  ｍａｔｅｒｉａｌｉｚｅｒ）３１４およびモデルプロセッサ３１６を含む。図５はまた、エンティティジェネレータ２６０およびＢＩエンティティ２６２も例示する。
【００４７】
モデルサービスコンポーネント３００は、焦点２５２の仕様、オブジェクト記述２５４およびＥＲのマッピング２５６を受け入れるためのメインユーザインタフェースを提供する。モデルサービスコンポーネント３００はまた、マップシステム３０２、次元モデル構築システム３０４およびエンティティジェネレータ２６０に関連付けられた機能性を呼び出すこともできる。したがって、変換プロセスにおける最初のステップとして、モデルサービスシステム２５０は、コンポーネント３００によって実施された最上位インタフェースを通じて、焦点２５２の仕様、オブジェクト記述２５４および持続性データ格納のマッピング２５６を受信する。これを、図６Ａのブロック３２０によって示す。
【００４８】
この例では、図４Ｂに示したものより詳細なオブジェクト記述が保証される。したがって、この説明では、モデルサービスシステム２５０がオブジェクト記述として、図６Ｂに示すＵＭＬクラスダイアグラムを受信すると仮定する。これは図４Ｂに示すものに類似しているが、ただし、こちらの方がわずかにより複雑であり、もう少し多くの詳細を含む。
【００４９】
モデルサービスコンポーネント３００はこれらの入力をマップシステム３０２に提供し、マップシステム３０２においてある機能性を呼び出す。ＥＲマッパ３０６を使用して、ユーザはシリアライズされたＥＲのマッピング２５６を生成して、オブジェクトモデルがどのようにリレーショナルデータベースにマップされるかを記述する。これらの直列化（serialized）マップ３２２が次いで、マップローダ３０８によってロードされる。マップローダ３０８はこれらのマップを非直列化（deserialize）し、これらをエンティティマップ（ＥＭ）オブジェクト３２４に変換する。ＥＭオブジェクト３２４の正確な形態は重要ではない。これらは単に、ＥＭオブジェクト３２４の構造がマップウォーカ３１０によって知られるように事前定義される、直列化マップ３２２から生成されたオブジェクトである。直列化マップ３２２のローディングおよびＥＭオブジェクト３２４の作成を、図６Ａのブロック３２３によって示す。
【００５０】
マップウォーカ３１０はＥＭオブジェクト３２４をナビゲートし、データセットスキーマを生成して、リレーショナルデータベース内でエンティティがマップされる先のテーブルおよび列を表現し、それらの間の関係を表現する。ＥＭオブジェクトをナビゲートしてデータセットスキーマ３２６を作成することを、図６Ａのブロック３２５によって示す。マップウォーカ３１０によって生成されたデータセットスキーマ３２６は、次元モデルにおいて次元モデルキューブを構築するための基礎を形成する。マップウォーカ３１０はまた、次元モデルによって必要とされたデータセット（ＤＳ）スキーマ３２６においていかなる追加の情報を与えることもできる。加えて、マップウォーカ３１０は、リレーショナルデータベース内のテーブルへのクエリ３２８を生成し、これが次元モデル内でファクトテーブルを定義するために使用される。次いで、スキーマ３２６が次元モデル構築システム３０４に提供される。詳細には、モデルジェネレータ３１２が次元モデルキューブをスキーマ３２６に基づいて構築する。次元モデルキューブをデータセットスキーマ３２６から構築することを、図６Ａのブロック３３０によって例示し、以下で図７に関してより詳細に説明する。
【００５１】
モデルマテリアライザ３１４は、モデルジェネレータ３１２によって生成された次元モデルをマテリアライズ（materialize）するためのインタフェースを提供する。次元モデルのマテリアライズを、図６Ａのブロック３３２によって示す。モデルプロセッサ３１６は、モデルマテリアライザ３１４によってマテリアライズ（materialize）されたモデルを処理するためのインタフェースを提供する。この時点で、次元モデルを、ＭＤＸ、または、多次元モデルを問い合わせるために使用されるいずれかの他の言語を使用して、問い合わせることができることに留意されたい。しかし、本発明のさらなる実施形態によれば、エンティティジェネレータ２６０がモデルサービスシステム２５０によって呼び出されて、ＢＩエンティティ２６２が、作成された次元モデルから生成される。ＢＩエンティティを次元モデルオブジェクトから作成することを、図６Ａのブロック３３４によって例示し、以下で図１０Ａおよび１０Ｂに関してより詳細に説明する。
【００５２】
図７は、図５に示すマップウォーカ３１０および次元モデル構築システム３０４を使用した、オブジェクトモデルからの次元モデルの作成をよりよく例示する流れ図である。記述されたオブジェクトモデル内の各エンティティに関連付けられたＥＲマッピングから、これらのエンティティと関係したリレーショナルデータベーステーブルが検索される。これを図７のブロック４００によって示す。検索された各テーブルについて、テーブルオブジェクトが作成される。テーブルオブジェクトは、テーブルに関連付けられたすべての列を含むフィールドを有する。これを図７のブロック４０２によって示す。
【００５３】
作成されたテーブルおよび列オブジェクトの間の外部キー関係が、処理中のオブジェクトモデル記述（ＵＭＬクラスダイアグラムなど）内に記述された複数のオブジェクトの間の関連付けおよびコンポジションに基づいて予測される。マップウォーカ３１０は次いで、作成された各テーブルオブジェクトからの外部キー関係を、解析のための焦点としてマーク付けされている対応するエンティティについて、トラバースする。焦点が、同じくユーザによって入力されている焦点仕様ファイルによって指定されることを想起されたい。名前付きクエリを生成するために、外部キー関係が、多対一の方向でその対応するエンティティが解析のための焦点としてマーク付けされているテーブルオブジェクトに向かってトラバースされる。適切な持続性データストアクエリステートメント（ＳＱＬ（Structured Query Language）ステートメントなど）を使用して、複数の識別されたテーブルを結合することによって、名前付きクエリを合成することができる。したがって、名前付きクエリは、ユーザによって指定された焦点に基づいて、各テーブルオブジェクトに関連付けられた他の次元に達するように設計される。
【００５４】
次いで、名前付きクエリが使用されて、次元モデルのための論理ビューオブジェクトが作成される。これをブロック４０８によって示す。次いで、次元モデルキューブが各論理テーブルオブジェクトについて構築され、他のテーブルオブジェクトがそれに次元としてリンクされる。これをブロック４１０によって示す。図８は、次元モデル内の多次元オブジェクトの汎用形態のための１つの例示的クラスダイアグラムを例示する。図９は、マテリアライズされた１つの例示的次元モデルを例示し、ファクトテーブルと、それに関連付けられた様々な次元の間の外部キー関係を例示する。
【００５５】
付録Ｃは、論じた機能性を実施するために、モデルサービスシステム２５０がどのようにその様々なコンポーネントを呼び出すかを例示する、擬似コードのもう１つの実施形態を例示する。
【００５６】
この時点で、一例が図９に示されている、この次元モデルは、外部キー関係をオブジェクトモデル内の構造（コンポジションおよび関連付け）から推測することによって、自動的に生成されていることに留意されたい。ユーザは、自動的に生成された次元モデルを、そのために設計されたツールを使用して問い合わせることができる。上述のように、ＭＤＸは、次元データベースを問い合わせるために設計された言語である。
【００５７】
図９に例示した次元モデルを問い合わせるための例示的クエリを、図１０に示す。図１０は、ＭＤＸクエリ表現を含むクエリフィールド４３０を有する画面ショットを示す。図１０はまた結果フィールド４３２も含み、これはクエリによって戻された結果を含む。
【００５８】
これも上述のように、ＭＤＸおよび他の次元モデル照会言語はかなり複雑な構文を有する可能性があり、そうでなくても学習することが困難である可能性がある。したがって、本発明のもう１つの実施形態は、自動的に作成された次元モデルを、本明細書でＢＩエンティティ２６２と称する別のセットのオブジェクトに変換して、これらのＢＩエンティティをユーザによって、次元モデル照会言語によって必要とされる複雑な構文表現ではなく、オブジェクト指向表現を使用して問い合わせることができるようにする。クライアントのレポーティング要件を満たすためには、それは元のオブジェクトモデルを問い合わせるために十分ではなく、その理由は次元モデルが、オブジェクトモデル内でその次元として２つの異なるエンティティからの属性を有するファクトテーブルを有する可能性があるからである。したがって、次元モデルへのアクセスをより容易にするために、本発明の一実施形態によれば、ＢＩエンティティ２６２が作成される。
【００５９】
ＢＩエンティティ２６２は、基礎を成す次元モデル２５８の従来のオブジェクト指向ビューを提供する。したがって、ユーザは効率的なクエリ基準を作成し、次元モデルの実際の問い合わせがユーザに対して透過的に行なわれる方法で、次元データを消費することができる。ＢＩエンティティ２６２は、キューブ、次元、階層、ネイティブの照会言語など、次元モデルの詳細を隠し、ユーザはオブジェクトおよび属性を使用することのみが必要とされる。
【００６０】
図１１Ａは、エンティティジェネレータ２６０をデータアクセスシステム５００と共に例示し、データアクセスシステム５００自体は、ＢＩサービスコンポーネント５０２、ＢＩ基準コンポーネント５０４およびＢＩメタデータ発見コンポーネント５０６を含む。図１１Ｂは、エンティティジェネレータ２６０がＢＩエンティティ２６２をどのように生成するかをよりよく例示する流れ図である。
【００６１】
ＢＩエンティティ２６２を生成するために、エンティティジェネレータ２６０が、基礎を成す次元モデル２５８へのアクセスを有することを想起されたい。エンティティジェネレータ２６０は最初に、ファクトテーブルを次元モデル２５８から検索する。これを図１１Ｂのブロック５１０によって示す。エンティティジェネレータ２６０は次いで、検索されたファクトテーブルについて主要ＢＩエンティティを生成する。ファクトテーブル内の数値（またはメジャー）は、新たに作成されるＢＩエンティティのプロパティとなる。検索されたファクトテーブルについて主要ＢＩエンティティを生成することを、図１１Ｂのブロック５１２によって示す。
【００６２】
エンティティジェネレータ２６０は次いで、非主要ＢＩエンティティを、ファクトテーブルの各次元について生成する。ネストされたクラスを使用して、次元モデルの元の構造、階層およびレベルを維持できることに留意されたい。非主要ＢＩエンティティの生成を、図１１Ｂのブロック５１４によって示す。エンティティジェネレータ２６０はこれらのオペレーションを、次元モデル２５８内の各ファクトテーブルについて行い、これをブロック５１６によって示す。エンティティジェネレータ２６０のためのクラスダイアグラムの１つの例示的実施形態を、図１２に例示する。エンティティジェネレータ２６０を呼び出すためのインタフェースを、図１３に例示する。付録Ｄは、モデルサービスシステム２５０の様々なコンポーネントによって、また、エンティティジェネレータ２６０によってサポートされるインタフェースを例示する。
【００６３】
図１４は、ＢＩエンティティ２６２によって表現されたデータが、データアクセスシステム５００を使用してアクセスされる方法をよりよく例示する流れ図である。最初に、ユーザ入力クエリ５２０がデータアクセスシステム５００に提供される。ユーザ入力クエリの受信を、図１４のブロック５２２によって示す。ＢＩ基準コンポーネント５０４は例示的にインタフェースを提供し、これを通じてユーザがユーザ入力クエリ５２０を入力することができる。ＢＩ基準インタフェースを図１５に例示し、ＢＩ基準コンポーネント５０４のための例示的クラスダイアグラムを図１６によって例示する。
【００６４】
ＢＩ基準５０４を通じて入力されたユーザ入力クエリ５２０が、ＢＩサービスコンポーネント５０２によって、ＭＤＸ表現などの次元モデルクエリ表現に変換され、これを次元モデル２５８に対して実行することができる。ＢＩサービスコンポーネント５０２のための１つの例示的クラスダイアグラムを、図１７に例示する。ユーザ入力クエリ５２０を次元モデルクエリに変換すること、および次元モデルクエリを次元モデルに対して実行することを、図１４のブロック５２４および５２６によって示す。言うまでもなく、ＭＤＸは一例としてのみ使用され、様々な異なる次元モデル照会表現のいずれも、ＢＩ基準コンポーネント５０４によってサポートすることができる。以下は、ＢＩサービスコンポーネント５０２およびＢＩ基準コンポーネント５０４によってサポートされるＭＤＸ表現の１つの例示的リストであるが、他の異なる、あるいは追加の表現もサポートされることが可能であることが強調されるべきである。
【００６５】
サポートされるＭＤＸのｓｅｔ関数は、以下の通りである。  
Ｃｒｏｓｓ  ｊｏｉｎ、ｃｈｉｌｄｒｅｎ、ｄｅｓｃｅｎｄａｎｔｓ、ａｎｃｅｓｔｏｒｓ、ａｌｌ  ｍｅｍｂｅｒｓ、ｍｅｍｂｅｒｓなど。
【００６６】
サポートされるＭＤＸのｍｅｍｂｅｒ関数は、以下の通りである。  
ＣｕｒｒｅｎｔＭｅｍｂｅｒ、ＤｅｆａｕｌｔＭｅｍｂｅｒ、ＦｉｒｓｔＣｈｉｌｄ、ＬａｓｔＣｈｉｌｄ、Ｌｅａｄ、Ｌａｇなど。
【００６７】
サポートされるＭＤＸのｎｕｍｅｒｉｃ関数は、以下の通りである。  
Ａｖｅｒａｇｅ、Ａｇｇｒｅｇａｔｅ、ｃｏｕｎｔ、ｓｕｍ、ｍａｘ、ｍｉｎ、ｍｅｄｉａｎ、ＩＩＦなど。
【００６８】
テーブル１は、サポートされるＭＤＸ演算子の１つの例示的セットをリストする。
【００６９】
【表１】
2004280819.tif 000003
【００７０】
以下は、ユーザ入力クエリ５２０をＣシャーププログラミング言語で形成する、１つの例示的基準定義を例示する。
【００７１】
テーブル２
【００７２】
【数１】
2004280819.tif 000004
【００７３】
【数２】
2004280819.tif 000005
【００７４】
次元モデルクエリが実行された後、ＢＩサービスコンポーネント５０２は次いで結果セットを戻し、これを図１４のブロック５２８によって示す。
【００７５】
最後に、ＢＩメタデータ発見コンポーネント５０６を提供することもできる。ＢＩメタデータ発見コンポーネント５０６は例示的に、システム中のＢＩエンティティ探索を行なうため、また、１つまたは複数のＢＩエンティティについて検索された詳細なメタデータを戻すために提供される。言うまでもなく、これはユーザにとって有用である可能性がある。
【００７６】
データがアクセスされる方法の一例が有用である可能性がある。例として、次元モデル２５８内のＳａｌｅｓキューブは、２つのメジャーであるＳａｌｅｓＵｎｉｔｓおよびＳａｌｅｓＤｏｌｌａｒｓ、および１つの次元「ｐｒｏｄｕｃｔ」を有し、「ｐｒｏｄｕｃｔ」はただ１つの階層「ｃａｔ」を有し、「ｃａｔ」は１つのレベル「ｃａｔｅｇｏｒｙ」を有すると仮定する。生成されるＢＩクラスコードは例示的に以下のようになる。
【００７７】
テーブル３
【００７８】
【数３】
2004280819.tif 000006
【００７９】
【数４】
2004280819.tif 000007
【００８０】
【数５】
2004280819.tif 000008
【００８１】
【数６】
2004280819.tif 000009
【００８２】
【数７】
2004280819.tif 000010
【００８３】
ＢＩ基準コンポーネント５０４を通じて入力されたユーザ入力クエリの一例は、以下の通りである。
【００８４】
テーブル４
【００８５】
【数８】
2004280819.tif 000011
【００８６】
【数９】
2004280819.tif 000012
【００８７】
ユーザ入力クエリに基づいて戻された例示的結果セットを図１８に示す。
【００８８】
このように、本発明は従来のシステムに勝るいくつかの著しい利点を提供することがわかる。本発明の一態様は、次元モデルをオブジェクトモデルから自動的に生成する。自動生成は、オブジェクトモデル内で指定された関係およびユーザが指定した焦点から次元モデルを推測すること、ならびにリレーショナルデータベースに戻るようにマップすることによって実行される。
【００８９】
本発明のもう１つの実施形態では、オブジェクトが、次元モデルの明細から離れて抽出するように提供される。したがって、ユーザは次元モデルに、オブジェクト指向表現のみを使用して、いかなる次元モデル照会言語の特有の知識を必要とすることもなく、アクセスすることができる。
【００９０】
言うまでもなく、本発明のもう１つの実施形態では、両方のシステムが共に使用されて、次元モデルがユーザ指定オブジェクトモデルから自動的に作成されるようにし、また、次元モデルから離れて抽出するエンティティも自動的に作成されるようにする。したがって、ユーザがしなければならないことは、焦点、オブジェクトモデルの記述、およびその持続性データ格納マッピングを提供することのみであり、本発明のこの実施形態は、ユーザがデータにアクセスするために必要なコンポーネントを、所望のレポーティング構造に従って自動的に生成し、これを、次元モデルを手動で作成する面倒な仕事を経ることなくオブジェクト指向表現のみを使用し、次いで次元モデル特有のクエリを次元モデルに対して生成することによって行なう。
【００９１】
本発明を、特定の実施形態を参照して説明したが、本発明の趣旨および範囲から逸脱することなく、形態および詳細において変更を行なうことができることは、当業者には理解されよう。
【００９２】
（付録）
【００９３】
【数１０】
2004280819.tif 000013
【００９４】
【数１１】
2004280819.tif 000014
【００９５】
【数１２】
2004280819.tif 000015
【００９６】
【数１３】
2004280819.tif 000016
【００９７】
【数１４】
2004280819.tif 000017
【００９８】
【数１５】
2004280819.tif 000018
【００９９】
【数１６】
2004280819.tif 000019
【０１００】
【数１７】
2004280819.tif 000020
【０１０１】
【数１８】
2004280819.tif 000021
【図面の簡単な説明】
【０１０２】
【図１】本発明を適用できる実施形態の環境の１つの例示的な図である。
【図２】ビジネス論理およびレポーティング構造を実施するための従来技術のシステムを例示する図である。
【図３】本発明を適用できる実施形態の外部キー関係を例示する次元モデルの一例の図である。
【図４Ａ】本発明を適用できる実施形態のブロック図である。
【図４Ｂ】本発明を適用できる実施形態のＵＭＬクラスダイアグラムの形態におけるオブジェクトモデル記述の一例の図である。
【図４Ｃ】本発明を適用できる実施形態の図４Ａに示すシステムのより詳細なブロック図である。
【図５】本発明を適用できる実施形態のモデルサービスコンポーネントのより詳細なブロック図である。
【図６Ａ】本発明を適用できる実施形態の図５に示すモデルサービスコンポーネントのオペレーションをよりよく例示する流れ図である。
【図６Ｂ】本発明を適用できる実施形態のＵＭＬクラスダイアグラムの形態におけるオブジェクトモデル記述のより複雑な実施例の図である。
【図７】本発明を適用できる実施形態の次元モデルの作成を例示する流れ図である。
【図８】本発明を適用できる実施形態の多次元モデルの汎用形態のためのクラスダイアグラムの図である。
【図９】本発明を適用できる実施形態の次元モデルの図である。
【図１０】本発明を適用できる実施形態の次元モデルへの一例のクエリおよび対応する結果セットを例示する図である。
【図１１Ａ】本発明を適用できる実施形態のビジネスエンティティを作成してレポートを生成するためのシステムのブロック図である。
【図１１Ｂ】本発明を適用できる実施形態のビジネスエンティティの作成を例示する流れ図である。
【図１２】本発明を適用できる実施形態のエンティティジェネレータのためのＵＭＬクラスダイアグラムを例示する図である。
【図１３】本発明を適用できる実施形態のエンティティジェネレータの機能性を呼び出すための１つの例示的インタフェースの図である。
【図１４】本発明を適用できる実施形態のデータがビジネスエンティティから検索される方法を例示する流れ図である。
【図１５】本発明を適用できる実施形態のＢＩ基準コンポーネントへのインタフェースを例示する図である。
【図１６】本発明を適用できる実施形態のＢＩ基準コンポーネントのためのクラスダイアグラムを例示する図である。
【図１７】本発明を適用できる実施形態のＢＩサービスコンポーネントの例示的クラスダイアグラムの図である。
【図１８】本発明を適用できる実施形態の１つの例示的結果セットの図である。
【符号の説明】
【０１０３】
２５０  モデルサービスシステム
２５２  焦点の仕様
２５４  オブジェクト記述
２５６  持続性データストアマッピング
２５８  次元モデル
２６０  エンティティジェネレータ
２６２  ビジネスインテリジェンスエンティティ
３００  モデルサービスコンポーネント
３０２  マップシステム
３０４  次元モデル構築システム
３０６  エンティティリレーション（ＥＲ）マッパ
３０８  マップローダ
３１０  マップウォーカ
３１２  モデルジェネレータ
３１４  モデルマテリアライザ
３１６  モデルプロセッサ
３２２  シリアライズドマップ
３２４  エンティティマップ（ＥＭ）オブジェクト
３２６  データセットスキーマ
３２８  クエリ
５００  データアクセスシステム
５０２  ＢＩサービスコンポーネント
５０４  ＢＩ基準コンポーネント
５０６  ＢＩメタデータ発見コンポーネント
５２０  ユーザ入力クエリ
【図１】
2004280819.tif 000022
【図２】
2004280819.tif 000023
【図３】
2004280819.tif 000024
【図４Ａ】
2004280819.tif 000025
【図４Ｂ】
2004280819.tif 000026
【図４Ｃ】
2004280819.tif 000027
【図５】
2004280819.tif 000028
【図６Ａ】
2004280819.tif 000029
【図６Ｂ】
2004280819.tif 000030
【図７】
2004280819.tif 000031
【図８】
2004280819.tif 000032
【図９】
2004280819.tif 000033
【図１０】
2004280819.tif 000034
【図１１Ａ】
2004280819.tif 000035
【図１１Ｂ】
2004280819.tif 000036
【図１２】
2004280819.tif 000037
【図１３】
2004280819.tif 000038
【図１４】
2004280819.tif 000039
【図１５】
2004280819.tif 000040
【図１６】
2004280819.tif 000041
【図１７】
2004280819.tif 000042
【図１８】
2004280819.tif 000043