ひがやすを blog このページをアンテナに追加 RSSフィード

Information

2008-06-13

CTCと夜の決闘

昨日、CTCに「お前は最近Railsに批判的でけしからん」ということで、呼び出されました。もちろん、「批判的でけしからん」というのは冗談ですが、私が、Railsを嫌っていると思っているRuby関係者は、実際多いようです。

JavaからRubyへ」の本に対して、それはちょっとおかしいんじゃないのといったことはありますが、Railsを嫌いといったことはもちろんないはず。


呼び出されたのは、Rubyの話じゃなくて、Javaの社内フレームワークの話でした。

StrutsSpring、独自データアクセスフレームワーク生産性を何とかして改善したいという悩みでした。裏を返せば、今が低いと思っているということでしょうね。

あるいは、生産性が低いというより、大手SIerにとって必須の大規模開発をするのには、つらいということなのかもしれません。


CTCの話だと、SAStrutsを使えればいいんだけど、Springベースなので使えないとのことです。同じような話をおとといNTTデータともしたなぁ。NTTデータの場合は、StrutsSpringiBatisです。

StrutsSpringベースの社内フレームワーク生産性改善しなければならないという悩みを大手SIerから二日連続で聞くことになるとは。


StrutsSpringベースの社内フレームワーク生産性があがらない、大規模開発でつらいというのは、ある意味し方のないことです。もともと、生産性を上げるために作られたフレームワークじゃないから。


Strutsは、Servletベースの開発にMVCというアーキテクチャパターンを持ち込み、定型化しました。Struts以前のばらばらだった開発スタイルMVC定型化したのです。実際は、Sunのblueprintアプリケーションの中にすでにMVCは取り入れられていたので、それをフレームワーク化したというほうが正確かもしれません。

Strutsは、生産性を高めるために作られたものではないのです。


Springは、POJOベースの開発をもたらしました。EJBに苦しんでいた開発者を救ったのです。POJOベースの開発は、テストのしやすさというメリットをもたらしますが、生産性そのものは改善しません。普通Javaクラスでかけるようになっただけだから。EJBに比べると生産性はずっといいんだけど。


生産性を向上させるということを主目的としてフレームワークが作られたのは、基本的(もちろん例外はあるけど)にRails以降のフレームワークです。

Railsは、StrutsSpringHibernateへのアンチテーゼとして登場しています。裏を返せば、StrutsSpringHibernateを組み合わせても生産性は出ないということです。


じゃ、どうすればいいのかというと、SAStrutsベースSpringでも動くように修正するといいのではないでしょうか。SAStrutsは、実質的な(例外だとかアノテーションを除いた)クラス数は40位と小さいので、移植するのは難しくないはずです。

移植する中で疑問があれば、いつでも私が答えますよ。

Springは、2.5からコンポーネント自動登録に対応したので、HOT deployができないことを除いては、Seasar2と同じように使えるはずです。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証