導入

ようやくめどがついたので、ぼちぼち書きはじめよっかなと思います。
まず、なぜこんな事を調べはじめたかをぼちぼちと。

日頃はWebObjectsでWebアプリを作る仕事をしてます。

なぜWebObjectsか??

それは、悲しいかな、我々みたいな弱小ディベロッパー(しかも印刷業界!)が、いちいちStrutsやその他もろもろのオープンソース系(便利な製品は買えません!!)を駆使してやっている時間も体力もないからであります(哀)。

でも、はじめの頃(2〜3年くらい前)はStruts使ってました。
それでもServlet/JSPよりは格段に効率が上がって、当時は喜んだものでした。
でもでも、それでもなお、コストを下げろ!もっと早く作れ!ってな具合でどんどん追い込まれ、どうしたものかと思っていると・・・WebObjectsのデモをどこかで見て、嘘じゃなく、あっという間にサイトを作る所を見せられて、もうコレしかないと(笑)。
今時だと.NETだのJSFだの言ってますが、WebObjectsは遥か昔それくらい出来ていたと言うわけです・・・

しかし時は流れ・・・といってもたかだか2〜3年位ですけど・・・
辺りを見回せば十分WebObjectsを意識したオープンソースソフトウェアがあるではないですか!

WebObjectsにはEOF(Enterprise Objects Framework)とWOF(WebObjects Framework)という2大フレームワークが存在しています。(その他にもいろいろあるけど)
EOFは今流行のO/Rマッピング、WOFはJSFをSunのJava Studio Creatorで作るようなもんです。(ちょっとちがうけど)
これらがあるおかげで、データベースに関してはデータオブジェクトを設計した段階でスキーマ定義は終わり(その逆も可。つまりスキーマがあるものをリバースエンジニアリングしてデータオブジェクトを定義する事もできる。)、それをWOFに組み込んでHTMLオーサリングツールのようなアプリでFormをつくり、遷移を作っていけば、かなり簡単にWebサイトを作る事が出来ます。
このEOFに置き換わるのがObjectStyle Groupという団体が開発しているCayenne、WOFに置き換わるのが、よくお世話になっているApache Jakarta ProjectTapestryになります。
各ソフトウェアの詳細に関しては、はてなのキーワードのリンクでも見てもらう事にして、このページではWebObjectsだとこうするが、Cayenne+Tapestryではどうなるのかって言う視点でつらつらと書いていきたいと思います。