ひがやすを技術ブログ

電通国際情報サービスのプログラマ

リファレンスモデル

S2JSF EA2で出てくるExampleは、くーすのリファレンスモデルにかなり近くなってます。最も応用が利くだろうと思われるマスターメンテ系の画面構成(検索条件入力、検索結果一覧、編集、確認)になっています。

  • プレゼンテーション層(Action)、業務ロジック層(Logic)、データアクセス層(Dao)、DTOによる役割分担。
  • AOPによる業務ロジック層でのトランザクション制御。
  • AOPによるAction,Logic,Daoのメソッド呼び出しのトレース
  • AOPによる業務ロジック層での例外発生時のトレース
  • AOPによるプレゼンテーション層での例外発生時の処理の仕方。
    • 業務ロジック的な例外は、メッセージに変換してもとの画面に表示させるなど。
  • 検索条件入力画面から、新規のときは、編集画面に遷移し、検索のときは、一覧画面に遷移する方法。
  • 一覧画面(HTMLのtable)から、データを特定するキーだけを次の画面に引き渡す方法。
  • 1つのページ(編集)を新規・更新で使い分ける方法。
  • 1つのページ(確認)を新規・更新・削除・照会で使い分ける方法。
  • 編集画面で戻るボタンを押すと、新規時には、検索条件入力画面に遷移し、更新時には、一覧画面に遷移する方法。

S2JSFの実装や時間が追いついてなくて、足りない部分もありますが、Seasar2くーすを体験できます。
実際にやってみての感想は

  • Javaのコーディングあまりない。
    • マスターメンテなんで複雑なロジックはないということを除いても。
  • ファイルは多い。
    • Action,Logicがインターフェースと実装に分かれる。
    • diconファイルも役割に応じて分かれる。
    • 1つのファイルは単機能。
    • コンパイラKijimunaがチェックしてくれるので間違いは少ない。
  • HTMLへのバインディング情報の埋め込みは、一気にやるより、1つやってはプレビューを繰り返した方が良い。
    • はっきりいって、バインディングを結構間違えました。HTML層だけではなくて、diconファイルへの登録漏れだとか。
  • 間違える可能性があるのは
  • プラグインで、上記の間違いを指摘してくれるようになれば、実装で悩むところはほとんどなくなるのではないでしょうか。