HotDeploy をやってみる

私はシステム開発を生業としています。
そして、現在はとある WEB アプリを保守しています。
保守という単語は曖昧だけど、基本的にバグがあれば直し、お客様がこんな機能がほしい!と言ってお金を出してもらえる場合は機能追加をやったりします。

ひとつ問題なのが、うちのシステムは古い。
C/O してから、7年くらいになると思います。

まあ何か保守・開発が楽にならないかなあ、ということでやってみたことは eclipse plugin 開発くらい。
これは個人的には成功。周りがどう思っているかは知りません。

他に何かないかなー、と探してみたところ(それほど熱心に探してみたわけではないですが)、 Seasar の HotDeploy に出会います。たしかに、すべてが JSP の様に修正がすぐ反映される状態であればなんと嬉しいことか…。
ということで、まず試してみたのは今保守している WEB アプリを SAStruts に載せ替えること。
プロジェクトではなく、個人の勉強のために。これが 2年くらい前かな?
全部作りきってはいないですが、というか途中でやめましたが、快適な開発でした。
でも何故ここで Exception が出るのだろう…というのでは悩まされましたが…。

ところで、システムというのは「保守コストが下がるので、フレームワーク載せ替えの費用をください!」というのはあまり無いかと思います(実際はどうか分かりませんが)。ハードの載せ替えはありました。

ということで、今の開発をよりスムーズにするためにはこれをやってみよう!ということで HotDeploy に挑戦してみることにしました。この決意が2ヶ月くらい前。

ちなみに今保守している WEB アプリは社内の独自フレームワークです。
WebWork(Strust2 の前身のアレです)に近いフレームワークで、DB 部分は iBATIS を使用しています。
サービス(って一般的かどうかわかりませんが)インスタンスの DI に関してもフレームワーク独自の方法で行っています(これは Guice に近い)。あとは Interceptor を自分で用意したりですね…。

というわけで HotDeploy 対応をはじめました!