J2EE勉強会(第11回)

id:higayasuo:20050814 に釣られて初めて参加させていただきました。
久しぶりに秋葉原へ行ったのですが、駅前に大きなビル(会場)はできているわ、駅構内も大きく変わっているわでびっくりしました。
J2EE勉強会」というタイトルですが、アーキテクチャの話やテスティングの話やかなり盛り沢山の内容で、充実した勉強会でした。

はやめぐり EJB 3.0 Simplified API

id:taediumさんの発表。
最近あまり EJB は追いかけてなかったのですが概要を知る良い機会になりました。

EJB 3.0 の3つのドキュメント

今日はこのうち Simplified API を紹介していただきました。

EJB 3.0 の特徴

EJB 2.0 に比べるとだいぶ開発者に優しい仕様になったようです。

勉強になったこと
  • 規約にしたがえば設定不要。
  • 設定が必要な場合はソースコードアノテーションで記述するため、設定ファイルは不要。
  • でもデプロイはしないといけない。
  • DI や AOP が使える。
気になった点など
  • 僕も「インスタンス変数インジェクション」より「セッターインジェクション」の方がいいと思う。
  • @Local/@Remote はクライアント側で指定できた方がうれしくないか?
    → Remote Proxy を作ればいいのでは。(by ひがさん)
  • @Interceptor/@Interceptors の違いは可変長引数で対応できないのかな?

Next Generation J2EE Deployment

id:higayasuoさんの発表。

次世代のDependency Injection
  • 「設定ファイルの条件付ロード」で Dicon Injection が実現できるかも。
Seasar2 VS Spring/EJB3

おもしろかった。僕も実際使ってみて Spring より Seasar の方が洗練されていると思うので、ぜひグローバルにもがんばって欲しい。

  • Spring と Hibernate は最近仲が悪いらしい。
    Seasar にとってチャンス!!
次世代の O/R Mapper
  • 永続系は EJB 3.0 の Persistence API が良くできているので、準拠する方向で進むらしい(KuinaDao)。
DxoFramework
  • DM(Domain Model)→PM(Presentation Model) はできそうな気がするけど、PM→DM はちゃんとできるか疑問。足りない項目は空にしておくのかDBから取ってくるのか?
レイヤモデルアーキテクチャ

最近ブログで議論していた件。詳しくは日を改めて書きます。

  • オブジェクト指向っぽい」は長所でも短所でもないと思う。「リッチドメインモデル」の長所が実感できる実例がほしい。
  • くーすでは Dao が PM を返すような設計を認めていたが、Goya では DM/PM を分ける設計を推奨。

テスティング話

id:t-wadaさんの発表。分かりやすくて納得させられてしまうプレゼンでした。
いまの仕事を考える上でも参考になりそう。

3種類のテスト。
  • Developer Test
  • Customer Test
  • QA Test

TDD のテストは Developer Test。

Developer Test の種類。
  • Unit Test … テスト対象以外は Mock。
  • Assembly Test … DB、ネットワークなど以外は本物。
  • Functional Test … DB、ネットワークなども本物。

リファクタリングの前後で担保されるのは Functional Test (=State Base Test)。
Unit Test、Assembly Test (=Interaction Base Test) は赤になっても良い。
# ...で良かったっけ?

えっと、もっとためになるお話がいろいろあったんですがうまく整理できません(^^;)。
プレゼンの行間まで含めてどこかで公開してもらえるとうれしいです。そのうち一冊本が書けるかもしれませんね。