BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

Seasarのからさわぎに参加

SeasarプロジェクトのNPO法人化を計画との発表があった。「Apache Foundationのように…」と言ってた。「目的は新しい技術を追うことではなく、実案件の課題解決」を基本方針に実用的な純国産プロダクトが沢山誕生したら素敵かも。かなりワクワクしました。

くーすに関して。よく言われるように手法的に目新しいところは何もないかと。Seasar/くーすの素晴らしいところは、今日から使える材料が揃っているところ。本格的にはくーす本が出てからとなるでしょうが、とりあえず今回のパワポS2JSF EA2のサンプルで、実践に必要な情報は揃ってるんじゃないかな。なんせ難しいことは排除されてますから。くーすは、オブジェクト指向的に異端かもしれないけど、顧客の要求を確実に実現するために、難しいドメインモデリングより、ずっと安心して使える手法だと思う。とりわけ目標のひとつである「個人の能力に依存せず、誰でも正しく設計できる技術を身に付ける」に共感。ソフトウェア大量生産の時代には必須の課題だと思う。事例が増えればより洗練されていくことでしょう。

疑問点。ていうかレベル低すぎて会場では聞けなかった。これから勉強するとして、とりあえずメモ。

  1. 「ページング」は業務ロジック層じゃないよ。と言っていたとけど、ということは、プレゼンテーション層、ということは、Actionクラスみたいなところに書くということでいいんだろうか。プレゼンテーション層に依存するものを業務ロジック層に持ち込むなってことだよね。「プレゼンテーション層」がちょっと分厚いが、自分的にはさらに「デザイン層」と「UI層」に分かれると考えています。
  2. 「プレゼンテーション層でのバリデーションは最低限のもののみ」と言っていたけど、なぜ全部業務ロジック層以下じゃだめなんだろう。プレゼンテーション層でやっちゃうと、テストがめんどい。それにデータの妥当性にかかわるところなので、基本はデータアクセス層。処理モードごとに異なる部分は業務ロジック層やりたい。もちろんコードをガリガリ書くわけじゃなくて、JakartaのValidatorなどのフレームワークを使うことを想定。ところでS2JSFで業務ロジック層からRuntimeExceptionを運んでプレゼンテーションで表示するメカニズムは美しいですね。
  3. 業務ロジック層のクラスの粒度が良くわかんなかった。基本は業務機能ごとにクラスを作って、共通部分は補助ロジック。ってことでいいのだろうか。

ところで、ニュースサイトの記事で良く見かける「軽量Javaアプリケーション・サーバー」という表現は誤解を招かないのだろうか?