従来のEAっていうのは、会社全体のシステムを調査し(to-be)、そしてあるべき姿を分析する(as-if)という形式だった。つまり、全体像を描き挙げ、それを、ブレークダウンし、実装していくという、
伽藍とバザール
http://cruel.org/freeware/cathedral.html
で言えば、伽藍型の開発方法といえる。
では、バザール型の開発方法はないのか?
つまり、会社の機能を部分部分につくっていき、それをつなぎ合わせる手法
・・・って、まさにSOAである(^^;)
でも、その場合、各部分で利用するデータの関連をとるには、どーしたらいいだろう?
従来(伽藍型)は、会社全体を考え、そこからデータの全体構造、関連を正規化手法にしてER図などで表現し、1事実1箇所、データベースによる関係演算で実現してきた。
バザール型では、この全体構造をつかめない。プロジェクトが違えば、関連が分からないし、かりに分かったとしても、共通の表現方法を持たなければ、データを利活用できない。
つまり、全体構造を把握して正規化するようなことを行わないで、データを関連付けれないといけない。
っておもったら、それに対して、ヒントを言っていた人がいた。
XMLコンソーシアムDayのXMLDB部会の人の発表で、
その部会ではゲストを呼んで、いろいろ聞くんだそうだが、
アメリカのカーナビにXMLDBを入れようとしている人が、
XMLDBだと、正規化がいらないから・・・
という言い方をしていた。
たしかに、今はスピード的に問題あるけど、
XMLDBだと、正規化しないで入れて、データに関連があれば、XLinkなどで、関連付けるという手もあるかもしれない。
つーか、データの読み込み、書き出し、管理もSOAで提供するようにして、そのサービスのひとつとして、データの関連性、正規化などのサポートをする、データディクショナリ+管理支援サービスがあれば、XMLだろうがRDBだろうが、関係ないか・・・
P.S 今日の夕方か、あしたあたりに、この辺の話のたとえ話として、
スーパー(=伽藍)とバザール
ってのを載せたいと思います。