システム導入、システム開発、WEB構築のコンサルティングを納得の価格・期間でサポートいたします。

志賀IT事務所

弁慶フレームワーク

弁慶フレームワークとは

 「弁慶フレームワーク」とは、当事務所で作成した「アプリケーション・フレームワーク」であり、枠組みとしてのクラス群と便利な共通モジュール群から構成されています。

弁慶フレームワークの特徴

 「弁慶フレームワーク」を考える前に、共通モジュールの性質について考えてみましょう。

 構造化プログラミングまでの言語の場合、よく使う手続きを関数やプロシージャとして保存しておき、必要に応じてプログラマが呼び出します。この共通関数がいかに整備されているかが、生産性に繋がると考えられてきたのです。

 ところが、「アプリケーション・フレームワーク」で提供されるライブラリの多くは、抽象的な設計によって振る舞いが定義されています。プログラマは提供されているインタフェースや抽象クラスをサブクラス化やプラグインといった形で組み込むのです。

 すると、この実装されたモジュールは「アプリケーション・フレームワーク」側から必要に応じて呼び出されます。この呼び出し方は共通関数が「実装コード→共通関数」だったのに対し、「フレームワーク→実装コード」という正反対の性質を持っているのです。

 この正反対の呼び出し方は「制御の逆転(あるいはハリウッドの原則)」と呼ばれ、「弁慶フレームワーク」においてもベースとしておりますが、従来用いられてきたような共通関数も数多く提供しており、「フレームワーク→実装コード→共通関数」の流れを作り出しています。そのため、プログラマは最低限の実装だけを行えばよいのです。

 これが、「弁慶フレームワーク」の機能の一つです。

 「弁慶フレームワーク」のもう一つの機能はデータベースとの連携にあります。

 オブジェクト指向言語を用い、オブジェクトモデルで設計した場合に起こりうる問題の一つに「インピーダンス・ミスマッチ」というものがあります。

 これは、エンティティをオブジェクトモデルで設計、データベースをリレーションモデルで設計した場合、両者の概念の違い(オブジェクトモデルはシステム工学的な視点、データベースは数学的な視点)によって、モデルに食い違いが発生してしまうことを意味します。

 「弁慶フレームワーク」の場合、エンティティをデータベースのテーブル構造に合わせて自動生成することにより、「インピーダンス・ミスマッチ」を回避しています。逆に言ってしまえば、オブジェクトモデルには従わないのですが、データモデルさえ正しく設計されていれば、かなり生産性を向上させることができるのです。

作成できるシステム

 「弁慶フレームワーク」では、WEBアプリケーション、Windowsアプリケーション問わず開発できるようになっております。
 また、Windows Mobile用として、「小弁慶フレームワーク」も用意しています。

対象データベース

 「弁慶フレームワーク」とセットになっている、DAOGeneratorを使うことで、様々なデータベースへのアクセスを行うクラスを自動生成することもできます。
 最新版では、SQLServer2000、SQLServer2005、SQLServer CompactEdition、Oracle、PostgreSQL に対応しています。
 また、対応データベースは今後も増えていく予定です。

オープンソースとして

 このような特徴の「弁慶フレームワーク」ですが、オープンソースとして提供しております。勉強用としても、業務に使っていただいても構いません。ご自由にお使いください。