MetaModelは「データストア」ドメイン向けに共通ドメインモデルを提供する。たとえば、ライブラリはTable、Column、QueryおよびDataSetの ようなデータソースを照会したり、データストアの構造をビルドしたり変更したりするのに使用できるドメインオブジェクトを提供する。このモデルにより、リ レーショナルデータベスに対するJDBCを通じて、SQLクエリーを作成および操作することができる。また、CSVおよびExcelファイルに対する同様 のクエリー機能を提供する。
MetaModelのクエリーエンジンは、完全にオブジェクト指向である。これにより、任意または潜在的にエラーの傾向にあるリテラルの代わりに、Javaオブジェクトを使用してクエリーの指定が可能になる。また、クエリーを作成する際、タイプセーフティーのレベルを提供する。
MetaModelライブラリの有用性について、Sorensen氏は以下のように語った。
承認された標準やタイプセーフなクエリーの記述に基づいて、データとのより良い対話方法を実行する。フレームワークは小さく、シンプルであるが、強力であり、使いやすく、学びやすい。プロジェクトサイトは、 MetaModelの全体的な目標は、以下のようなことが可能なJava APIを提供することだと述べている。
- データストアの構造を全探索および構築する。
- SQLのような方法でデータストアに中立なクエリーを実行する。
- クエリーエンジンでクエリーをサポートしない、データストアを提供する。
- JDBCデータベース、CSVファイルおよびExcelスプレッドシートでこのシステムを実装する。
- 1つのクエリーを複数に分割して、同じ集合的な結果を残し、作業負荷が重い場合に強力なパフォーマンスの最適化およびグリッド実行を可能にする。
また、eobjects.dk(リンク)はProgramming with MetaModel(リンク)を提供し、さまざまなデータソース(CSVおよびMySQL DB)で作業するために、ドメインモデルを使用する際の基礎を示した。Webcastの前半は、データストアと対話するためにコアDataContextクラスを使用することについて詳述していた。後半は、ライブラリクラスでクエリーを生成することについて詳述していた。
MetaModelはO/Rマッピングツール(参考記事)と同等または代わりとなるものではない。データベースの対話を実装する、ストレートJDBCを使用するよりも単純な方法を提供するものである。
原文はこちらです:http://www.infoq.com/news/2008/07/introducing-metamodel