Quickスタート | Robbie DAOについて | ダウンロード | 開発ガイド | JavaDoc | Robbie.JPについて |
Robbie DAOについて

オープンソース
Robbie DAOは、オープンソース(LGPL)のフレームワークです。自由にダウンロードして、システム構築に使用することが可能です。


Robbie DAO概要アーキテクチャ


Robbie DAOはXML内にデータベース接続情報、実行Daoクラス、SQLを記述し、その情報からデータベース接続を行います。データベース接続の際には、そのバインド変数へのマッピングパラメータの内容から、動的にSQLを作成します。


Object/SQLマッピング
最近、データベースアクセスを行う際に、O/Rマッピングのフレームワークを使用する傾向があります。しかし、現実にO/Rマッピングを使用すると、定義の複雑さや開発者の意図するSQLが実行されないなどの問題に直面します。

Robbie DAOは、複雑になるObjectとリレーションの関係をマッピングするのではなく、シンプルにObjectとSQLの関係をマッピングし、自由なSQLを記述することをコンセプトに作成されたフレームワークです。



O/Rマッピングでは実現しにくい外部結合、相関副問い合わせ、インラインビュー、HAVING句での副問い合わせなどをSQLとして記述することによって、業務要件に合うパフォーマンスの高いデータベースアクセスを行えることを目標としました。また、複雑なトランザクション要件でなければ、最小の実装でデータベースアクセスを行えます。

その結果、これまでの開発で培ったSQLの技術を使用して開発が行えるため、教育などの導入工数やデータベースアクセスにかかる実装工数を下げ、その分をビジネスロジックやビューの実装に充てることが可能でしょう。


参考にした仕様および実装
Robbie DAOは実装にあたって、以下のコンポーネントおよびフレームワークの仕様と実装を参考にしています。

上記の中で最も影響を受けているのがiBATISとcSQLBuilderです。どちらのコンポーネントもSQLを開発者自身が定義し、かつ実行時に動的なSQLを作成することが可能です。

ただし、Robbie DAOではiBATISのような1対NのO/Rマッピング(+遅延ロード)やDAOのトランザクション管理のような高機能は実装されていません。できるだけシンプルな実装にしたかった事と、J2EEアプリケーションサーバから提供される機能と重複したくなかったからです。

また、cSQLBuilderではデータベース接続情報の管理を行っていないことと、呼び出すAPIが複雑であると感じたため、Robbie DAOではデータベースアクセスにかかわる総合的な機能を実装し、少ないステップ数でデータベースアクセスが実行できることを目標としました。


→ クイックスタート


Copyright 2006 Robbie.JP