The Spring Experience Live 4th day

さて最終日です。

Meeting Requiments through Acceptance and Stress Testing

Some Integration Tes Classes for Spring

テストケースを係争したツリーが用意されていて、それぞれのテストに使える。
大本はAbstractDependencyInjectionSpringContextTestsなので、そこから子クラスを見ていけばいい。

結合テスト

単体テスト:クラスレベル
結合テスト:クラス組み合わせ
システムテスト:APサーバー内でのテスト?

FIt/FitNesse

FitNessってあんまり有名じゃないよなぁ…知っている人は少なかった。
顧客がテストを書くという考えはあんまないからなー。

Dirrent Fixtures

SpringActionFixtureを使えばインタラクションがエミュレートできる。これってFitNessの通常のやつより有用な気がする。

普通顧客はメソッド名とかパッケージとかわかんないと思うし。ブラウザから操作した結果に対して定義できれば有用。
SpringActionFxitureはseleniumっぽい感じのテストケースになる。

ただし、裏の動作がpressはメソッドを呼ぶとかでホントにエミュレートできてるのか微妙だ。
webレイヤはどうなるの?

StressTest

JMeterの説明がちょっとあった。

っていうかレイヤごとに計りたい要求が例として出ていて、JAMonというツールが紹介された。なんか似たようなの作ったような…

フィルタとAOPを使うのも同じだし。

DAOとSQLの切り分けをどうやるか知りたかったけど、なんかDAOでデータソースを取得するときにmonitorメソッドをかませるらしい。っていうかコレやったらDAOソースに手が入るじゃないですか。つ、使えない…
→って思ってたらDAOじゃなくてデータソースをラップしたプロクシでした。データソースをインジェクションするんじゃなくてそのプロクシをインジェクションする。これなら修正は必要ないですね。

QA
  • FitNessではパッケージやJavaのものが書いてあるので、顧客にとって書くのは難しくないですか?
    • たしかに難しいので、プログラマーが書く。重要なキーポイントはJavaプログラマと顧客が一緒にやれることで、FitNessはHTMLなので顧客は見やすい。

実際に動作するテストというのが重要みたい。Excelからテストケースを作る方法だとExcelから生成したテンプレートに手を入れないと動かないのでその辺?

コンタクトしてねとのことだったんで誰かJAMonのソースを見てコメントしましょう。

その後、どうやって集めた情報を公開しているかとか性能落ちないのかとかsynchronizedしてるのかとか聞いたら「実装はしらん」とか言われました…
まぁ多分3 = 6%は落ちるかもしれないけどねーとのことで。

ちなみにJAMonの読み方は「じゃーもん」だそうです。

うーん。期待と違ってあんまり役に立つ感じではなかったなぁ。

ROO

Ben Alexはなんか動きが面白い人です。

DDD読んでないのに理解できるか不明ですがとりあえず本買いました。日本に帰ったら読もう。

  • Code Generation Consideration

結構耳が痛いぞ
コード生成アプローチを撮っている人は割りと居ました。手を上げたのは10%くらいだけど

Benはデモで自分でコーディングするんではなくてビデオ使いました。
話すことに集中できるのでアリかなぁと

ドメインモデルドリブンなので、コンストラクタ、セッタでAssertします。
通常DTOのバリデーションはWebフォームとかを基本に考えるので、XMlに外だししますがROOはこの辺の思想が違う。
これってお客さんからUI的指摘を受けたときはドメインモデルから変更をかけないといけないのかな?それとも状態を壊さないようにするだけでUI的なものは書かない?そうすると使い分けガイドラインを作らないとチームで仕事できないぞ。


Springは昨日のKEYNOTEでも話したようにドメインモデル駆動なアーキテクチャなので、Hibernateと仲が良いし、DDDとも方向性があっている様子。

ただしドメイン駆動は開発者が全員ooに詳しくないとダメだし技術者が不足している現状で採用するのは難しいのでは?
オブジェクトの再利用性をとっても生産性ってあがるのか聞いていてますます疑問に…

設計の方法もぜんぜん変わるので設計書フォーマットはすべて作り変えになりそうだし。パッケージ開発とかなら少数精鋭で作るのでよさそうだけど。

ごはん。

ハンバーガーでした。今日はアメリカンみたいです。

デザートはブルガリア風プリンと生のベリー類。

ごはん中カナダ人とアメリカ人と話しましたが次はHibernateのセッションに出るらしい。Hibernate人気だなぁ。

アンケートに答えたら本くれるとのことだったので日本から遠いよ!って書いときました。

Trends in Java

席とるまえにちょっとほかも見てみたんですけどHibernate以外悲惨でした。みんな帰っちゃったみたい。

DDD will be an important buzzword in 2007 it's just stating now.

ということでゲロヤバです。(なにそれ)

DDDすげぇ!って言ってた人がいたのでマーキングだけはしといたのですがもう読まないとダメですね…

そういや社内からモデルの作り方の指針ないのかとか言われてましたがDDDの調査も必要?
まぁ調査は必要だろうけどホントに使えるかなぁ。FWと違って性能とか致命的な欠点が見つかりにくそうだから*調査したから*広めるとかなりそうな気がします。

ほかでお勧めはOSGiらしい。

これって結構大掛かりなんでやるには根気要りそう…

dynamic language

ほかの言語のプラットフォームになるらしいです。
基本はgroovy押しなんですけどJRubyがRubyonRailsをJVMに持ってくることもありうるとの話。

もってくる理由が良くわかりませんがJVMがプラットフォーム化したらRubyで書かれたスクリプトもWrite Oneceになりそう。
そうすると新言語開発が簡単になる(プラットフォーム考えなくていいから)のかな?

DSLとか名前しかまだわからないですがその辺関係あり?

AJAX

DOJOが進むっぽい。