InfoQ

News

新たなオープンソースプロジェクトがオブジェクト指向データアクセスを提供

作者 Steven Robbins, 翻訳者 編集部 投稿日 2008年8月5日 午後6時18分

コミュニティ
Java,
Architecture
トピック
データアクセス,
アナウンス,
オープンソース,
Object Oriented Design
タグ
データベース,
OOP,
MySQL,
Simple Design,
JDBC
Kasper Sørensen氏は、eobjects.dkでMetaModel(リンク)と呼ばれる新たなオープンソースプロジェクトを作成した。そのプロジェクトは、リレーショナルデータベースおよびフラットファイルというようなさまざまなデータストアタイプ向けの共通ドメインモデル、クエリーエンジンおよび最適化プログラムである。MetaModelは、Javaライブラリであり、SQL準拠のクエリー向けに緩やかな(リンク)オブジェクト指向インターフェイスを提供する。

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

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。