blanco Framework is code generation framework for Java. It include R/O mapping tool 'blancoDb', SQL editor plug-in 'BlancoSqlEditorPlugin'.
blancoDbDotNet は C#(.NET Framework)言語/ADO.NET用の R/Oマッピングツール実装の一つです。
[理念・思想]
blancoDbDotNetは下記のような理念および思想を特徴としています。
* 低機能でありつづける
* 自由度の低さ
リレーショナルデータベース上の型をC#の特定のオブジェクト型に強制的にマッピングを行います。型マップに関しては極力自由度を排除しています。このことによりJDBCドライバの実装に起因したJDBCレベルでの型マッピングによる不具合発生を最小限にとどめることが出来ます。加えて自由度が低いために極めて少ない設定によりマッピングを自動生成することができます。原則として列名や型情報はJDBCドライバから得られるメタ情報を活用して自動的に決定します。自由度の低さゆえに非常に安全に動作させることもできます。型マップ済みのJavaクラスが提供されることにより、実行時エラーの可能性を激減させます。多くの場合 自由度の高さは設定を増やして不確実性を押し上げ、各種トラブルを誘発するのです。
* カスタマイズの容易さ (ただし現バージョンでは 未達部分が含まれる)
カスタマイズの容易さを理念としています。基幹系・大規模開発で利用される際にはカスタマイズが発生することでしょう。生成されるソースコードにいろいろ手が加わるのはもちろんのこと、blancoDbのソースコードそのものにもカスタマイズが入ることを想定しています。そういったカスタマイズのしやすさを実現するための方法として、機能を増加させず自由度を増やさずblancoDbそのものの規模の肥大化を抑制している側面もあります。blancoDb の規模が小さいことはカスタマイズ実施後のテスト規模を抑制することも出来ます。
[R/Oマッピング定義 2005.05.10版]
下記の仕様をR/Oマッピングと呼ぶことと定義します。また R/Oマッピングツールとは下記の仕様を満たすものを指します。
* リレーショナルデータベース指向である。
o リレーショナルデータベース上の型を、強制的に特定のオブジェクト型にマッピングする。
o リレーショナルデータベースのカーソルが利用できる。
o リレーショナルデータベースが持つ機能・性能を阻害しない。
* ANSI SQL (ごくあたりまえのSQL文) を利用する。
o 各種ロックが適切に利用できる。(行ロック、更新用の検索)
o NULL許容列を適切に扱うことができる。NULLはNULLとして入出力ができる。
* トランザクションが適切に扱える。
o トランザクションのコミットとロールバックを任意のタイミングで呼び出すことができる。
o トランザクション分離レベルを適切に扱うことができる。
* メモリ消費量が常識的であること。
o 処理件数が増えてもメモリ消費量が線形には増えないこと。
o StreamやReaderを適切に利用し、大きなデータや大量データを扱ってもメモリ上には展開しない。
* ストアドプロシージャ呼び出しに適切に対応する。
[開発者]
1.伊賀敏樹 (Tosiki Iga / いがぴょん): blancoDb Enterprise Editionから blancoDbDotNetにフォークした後の開発および維持メンテ担当
2.下地宏和 : 仕様決定およびリリース判定担当
3.小堀陽平 : 試験およびリリース判定担当
4.山本耕司 (Y-moto) : 試験およびリリース判定担当
[ライセンス]
1.blancoDbDotNet は ライセンス として GNU Lesser General Public License を採用しています。
[依存するライブラリ]
blancoDbDotNetは下記のライブラリを利用しています。
※各オープンソース・プロダクトの提供者に感謝します。
1.JExcelApi - Java Excel API - A Java API to read, write and modify Excel spreadsheets
http://jexcelapi.sourceforge.net/
http://sourceforge.net/projects/jexcelapi/
http://www.andykhan.com/jexcelapi/
概要: JavaからExcelブック形式を読み書きするためのライブラリです。
ライセンス: GNU Lesser General Public License
2.blancoCommons
概要: blanco Framework の構成要素のひとつ。共通ライブラリを担います。
ライセンス: GNU Lesser General Public License
3.blancoCodeGenerator
概要: ソースコード生成ライブラリ
ライセンス: GNU Lesser General Public License
2006.10.24 (0.4.6)
ステートメントのタイムアウト値に対応開始。