みちゃったよ

http://d.hatena.ne.jp/habuakihiro/20070720#1184899909
今回のカンファレンスでスターロジックさんが発表したことを、一Rails使いとして、Railsを使って可能かどうか、Railsに置き換えて考察してみます。なお、カンファレンスに参加してないと分からない部分が多々あるかと思いますが、ご容赦ください。
まず、要件定義部分。マジカは公開されているし、KBMもカンファレンスに出てれば、できるんじゃないかと思います。羽生さん自身もセッションの資料をみればできるというような事を言ってましたし。伝票の作成も同様。ユーザにやってもらうこの要件定義部分は、Rails関係なしに可能かと思います。
次、設計、レビュー。レビューは問題ないというか、すぐに本番環境と遜色ないものをみせられると思うけど・・・。現状だとDB設計が確実にボトルネックになると思います。
次、開発工程。ここはRailsの得意分野。コードの自動生成もあるし、そもそもコード記述量が少なくてすみます。が、Buriというワークフローエンジン、Ebiというルールエンジンの存在は大きいと感じました。現状、Railsにおいては、フラグはDBにまかせるのがベターでしょうが、スターロジックさんの場合はフラグはBuriに任せられるので、DB設計から除去できてしまいます。ルール判定についても複雑な条件式をEbiに片付けてしまうことができるようです。自分が実際にRailsで内製した時は、フロー制御やルール判定で、結局if文をネストさせた処理を書いてメンテナンスが大変でした。Railsで実現させるためには、Buri等に相当する仕組みを用意しておかないと難しいかと思います。入力チェックはRailsにはvaridationの仕組みが用意されているので問題ないかと思います。
最後、工程には入ってなかったけど、運用、保守。これ、Railsの弱味というものを改めて感じました。武田ソフトさんのRailsに冷める | ブログ.武田ソフト.jpでも出た話ですが、中小での導入となった時に、やはり自前のハード、運用保守用の人員を用意してもらうというのは難しいと感じました。これは、私がRailsでの最適範囲はスターロジックさんのターゲッティングしている範囲よりもっと小規模かなと考えているからというのもあるのですが。ただ、逆にいえば、ここを解決できればかなりいい線いける気がします。しかし現状のRailsの使いどころとしては、所謂自前のWebサービスなり、システムの内製なりなのかなという気がします。それから、運用環境としてみたときに、RailsはやはりJavaの信頼性には遠く及びません。
総括。Railsでも頑張ればできなくはない気がします。が、運用、保守の問題を解決しないと難しいのではないかと思います。それと、羽生さんは今回発表したやり方を、Railsでやられたら怖いと言ってましたけど、やられてもそれを上回れる自信があるのだと思います。それはシステム屋専業という強みや今までの積み重ねだったり、将来の明確なプランを持っているからなんだと思います。何より強い信念を感じました。