« UI改善への取り組み | メイン | Office 7 記念Tシャツ »

まずはテーブル定義

畑です。

サイボウズ Office X のプロトタイプ開発のフェーズは大きく2つに分けられます。1つ目はWebアプリケーション(CGI)としてのフレームワーク部分で、もう1つがグループウエアとしてのアプリケーション部分です。フレームワーク部分の設計方針については何となく固まりました。そこで、いよいよアプリケーション部分の設計方針を固めようと調査に入っております。

アプリケーション部分のプロトタイプ開発においては、今回からデータベースに MySQL を採用するので、実装に入る前に何はともあれテーブル定義を固める必要があります。テーブル定義においては、後からこの機能が必要だからといって変更すると、別の機能の部分の SQL がうまく記述できなかったりすることがあります。したがって、最初の時点でアプリケーションに必要とされる機能を見極め、その機能が表現できる SQL を確認することにより、テーブル定義を固めていく必要があります。

サイボウズ Office シリーズの場合、もうかれこれバージョン7まで来ているので、アプリケーション数も多いです。また、アプリケーションに共通で必要となるユーザーやグループの概念と、各アプリケーション固有の部分とが存在し、さらに添付ファイルなんかも複雑に絡むので、テーブル定義を固めるのは容易ではありません。

ここで固めたテーブル定義がおそらく何年か使用され続けることになるので、かなり慎重に行う必要があり、結構、悩んでおります。

そういえば、サイボウズはサイボウズ ガルーンという MySQL の実績があるグループウェアがあったではないか。是非、参考にせねば!

と思って、ガルーンのテーブル定義を拝見してみたのですが、

なんと約750テーブル。。。。
「クエリーもきてますよ」とガルーン開発関係者に言われました。

参考にするのにも時間がかかりそー。

ガルーンの2.0の初期版には僕も開発に関わっていたのですが、ガルーンもバージョンアップを重ねるにつれチューンナップされ性能もアップしています。テーブル定義にもその工夫が現れているのでしょう。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年05月12日 17:59に投稿されたエントリーのページです。

ひとつ前の投稿は「UI改善への取り組み」です。

次の投稿は「Office 7 記念Tシャツ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。