午前中はモデリング道場。
UseCaseは要求を抽出するためのものだからあまり機能的なことは書かないほうがいいのかと思っていたけど今日の話だとincludeする形で機能面のUseCaseも書いてそれをシステム設計としてロバストネス図に落とし込む
といった形が正しいようでした。
 
 
午後はゼミの次期作業についての検討。
 
僕はテストをメインでやる予定。
今週はテクマトリックスへ行ったりRationalのテストツールの評価版を取り寄せたりしたけどテストの対象になっているアプリケーションがEJB3.0を使用しているため調査するツールはJ2SE5.0に対応してないといけない。
個人的にはJavaOne2005で説明を聞いたAgitatorを調査してみたいんだけどあれはJ2SE5.0対応しているのだろうか?
そもそも、有償のツールをうまく手に入れなければならないという問題がある。
先生がいうには企画書を作ってベンダーに提案してみたらどうかとのこと。
ちょっと面白そう。がんばって企画書作ってみようかな。
 
 
夕方から大学の忘年会
ビンゴで3番目くらいにあたってBEAのかばんをもらいました。
結構たくさん入りそうなかばんなので大学用に使おうかな。
普段ゼミに出ているので通常授業の先生や生徒とあまり話をする機会がないけど
今日はいろいろと話を聞かせてもらえたのでなかなかよい忘年会でした。

jtest

jtestの説明を聞くためにテクマトリックス社に行ってきました。(今週2回目)
セミナーに集まったのが2人しかいなかったので質問をしながら説明を聞くことができました。

本来、評価版の評価は1週間だけども、相談したら1ヶ月に伸ばしてくれるらしい。
わざわざ足を運んだ甲斐がありました。

なんか、環境作り直したら動きました。
ClassLoaderでejb3アーカイブを読んでいたのはWebコンテナ側でロードしていないSeamのAnnotationがついたクラスを読むためだったみたいです。
Seamを使うかどうか検討していたのだけど、やっぱりJSPからEJBのクラスを直接呼び出されるのは気持ち悪いから使うのやめて自分で実装することにします。
まぁ、勉強不足を実感できただけでもSeam試してみてよかったかも。

WebKing

WebKingというテストツールの説明を聞きにテクマトリックス社に行ってきました。

テクマトリックスはjtestも扱っているのでテストツールとして競合するものではないのか気になっていましたが
WebKingはWebサイトのテスト、jtestはJavaコードのテストですみわけはできているようです。
製造元は両方ともPARASOFTとのこと。
機能としては

静的解析はアクセシビリティやブラウザの互換性のチェックができるようです。
機能テストというのは画面フローを登録してEXCEL用意したテストデータを流すテスト。
回帰テストや負荷テストは機能テストを自動化することでできるみたいです。

負荷テストができる割に安いというのが売りみたいです。
値段は負荷テストのための100仮想ユーザつきで180万円。
お客さんに提案して買ってもらう以外に使う機会はなさそうです。
買ってもらえなかったらJMeterでがんばればいいのさ。

結局ソースを読んでみる

Statless BeanをDIするために自力でVariableResolverを作ろうとしたけど
参考のために結局Seamのソースを見てみた。
初期化時にちゃんと動いているサンプルのほうではアノテーション
解釈するためにClassLoaderでStatless Beanを読み込んでいる事に気づいた。
僕が作ったほうはちゃんと読み込んでくれていない。
ejb3アーカイブを探すところまではうまくいっているのに、なぜだろう?
サンプルとアーカイブの構成が違うところがないか確認してみる。
すると自分の作ったほうにwarのWEB-INF/libのなかにjboss-seam.jarがはいってしまっていることにきづく。
とりあえずサンプルと構成を同じにするためにはずしてデプロイしてみる。

おっ、挙動がかわった!
今度はちゃんとComponent(SeamアノテーションをつけたStatless Beanとか)が読み込まれた。
でも、war側の設定ファイルでSeamのクラスを指定したところでクラスが見つからないとか言われた。

そもそもClassLoaderのことがいまいちよくわかってない。
でも後もう少しな気がする。