ひととおり開発終了

スケジューラ開発完了

スケジューラの作成が完了。機能は

  • ログイン(サーブレットコンテナの認証機能利用)
  • スケジュール閲覧(カレンダービュー)
  • スケジュール作成・修正・削除
  • パスワード変更
  • 一行掲示板(削除機能付)
  • ログアウト

だけのシンプルなもの。そもそも友人と情報共有のために使うという目的があったので、情報交換しやすい簡単な掲示板もつくった。

昨日、ちょっと機能改善をしたら、情けなくもデグレってたのでseleniumでほぼ全機能をパスするケースを作成し、各種ブラウザ(IE/Firefox/Safari)でチェックすることにした。

SAStrutsを使った感想

当初、Seamを勉強しようと思って挫折し、同時に目をつけていたSAStrutsを勉強することにした。上述のとおり、実際に作ってみたいものがあったのもいい機会だった。

で、どうだったか。

僕はめっちゃ気に入った。HOTdeployは最初はふーんまぁこんなもんかなという感じだったが、XMLを書かなくていいことが、HOTdeployのよさを痛感することになる。XML書かなくていいから、Javaに専念することができ、HOTdeployが開発のリズムをよくするという感じ。

S2JDBCも最高。DAOは実質不要になる。このおかげで、かんたんな画面ならすぐに作れる。SQLも意識しなくてもよく、こちらもJavaに専念できる感じ。Entityクラスを作る作業だけがなんかめんどくさいけど。ここは是非自動作成できるしくみがほしいところ。

今回は調査しながら作ってたので、あまりテストケースは書いていないがこれならAction層もService層もテストをかける。Service層も単純なinsertやupdate、delete、idをキーとしたselectなんてテストは書かなくてもいい。

あと、ブログに開発過程や不明点を書き込んでくれたらid:higayasuoさんやid:koichikさんが反応してくれたのも、Seamを使ってたら与かれない恩恵だと思う。感謝。

TODO

  • JavaScriptはまったくつかわずに開発した。JavaScriptをつかってもっとリッチにしたい感じ。
  • 最終アクセス日時を記録してもいいかも。とくに理由はないけど。
  • ユーザをメンテする画面があってもいいかな。
  • IEでテキストフィールドでエンターキーを押下した際に、ボタンのnameがリクエストに追加されないのは、なんとかしたい感じ。

アプリ公開について

スケジューラというのは、誰もが使えるし、仕様も理解しやすいし、ダウンロードしてくれた人たちからなんらかのフィードバックを得ることができたらそれはよいことだし、公開する意味はあるんだろうなぁと思う。

が、どうしようか。

  • たぶん公開するのなら、DBはHSQLDBとかH2にしてTOMCAT起動時にDBを自動起動させたりしたほうがいいんだろうなと思うけど、現実装はMySQLを想定してる(S2JDBCのDialectを変えたらいいだけなんだけど、DDLなどは依存しているので、新たに作る必要がある)
  • Tomcat(サーブレットコンテナ)の認証機能を使っているために、server.xmlに設定を書き加える必要がある。そんな難しい話でもないが、めんどくさいだろうなぁと。
  • というか、認証機能をアプリ側にもってきて、HSQLDBを使えばいいんだろうけどめんどくさいんだな。

ということで、気が向いたら恥さらします。