JavaOne出張2008 5日目 JavaOne最終日

今日は

  • Hudson、Road test results of the Big Three Web Application Frameworks、Jython

■Hudson

PCは安くなり、人は高くなる。王様のように。

Find more ways to put computers work for you.

Continuous integration!

HudsonはCIサーバ
コミュニケーションオーバヘッドを減らす
 ビルド、テスト
 reduce people dependency

Hudsonはあなたのチームの一員


基本機能
 Checkout
  CVSSVN。。。。。
 Do builds
  Ant、Maven
 Record results
 Close the feedback loop
  RSS
  Email、IM
  Tray application
 Tool integration
  findbugs、emma

テストのfailをトラックバックできる

maven2と連携できる

ベストプラクティス
 DependencyTracking
  build←→Test

 Baseline
 
 Compartmentalization?
  でかいビルドとするのではなく、小さくビルドする
   Faster feedback
   Good engineering practice anyway
   Isolation of problems

 Test/Build separation
  Tests often dominate build time
  Multiple tests are run in parallel
   improves turn-around time
  Tricks
   wgetなどで成果物を取得

 そのほかの問題
  Does this build work?
  QA takes time
  CI should be fast


Nightlies
 Why just once a day?
 Disconnected from CI builds

Once promoted,
 Commence more expensive QA
 Deploy on staging server
 Integrate
 Push to maven repository

Distributed builds
 Master
  HTTPリクエストを受け付ける
  重要な情報を保管
 Slave
  83kのjarだけですむ
  ビルドする

SlaveはJavaWebstart経由でアクセプトされる
チェックボックスをいれるだけで、分散ビルドが可能


拡張性
 RESTful API
 Eclipseプラグイン
 Integrate with Issue Trackers
 プラグイン開発
  mavenプラグイン

2008 Duke's choice award!


  • Road test results of the Big Three Web Application Frameworks

Struts/JSF/SpringMVCのパフォーマンス比較。

しかし実際は3つではなく、Struts1.x、Struts2.x、JSF Sun RI、MyFaces
SpringMVC 2.xの5つの比較。

プレゼンターの人は事あるたびにこれはあくまで私の検証結果だから
このとおりにならないこともあるよと言っていたw というか訴えないでとか言ってるしw
若干その前置きが長すぎていらいらした。

ひとまずわかったことは、
JSF Sun RIがやや健闘
・だけどJSFはメモリ使用量/CPU使用量がバカにならない
MyFacesは話にならない
Struts2は安定したレスポンスを返すが全体的にパフォーマンスはまだまだといったところ
・Maximum throughputをみるとStruts1.xとSpringMVCは良好
・プレゼンターの個人的な使いやすさでいえば、JSFStruts2、SpringMVC、Struts1の順番らしい


て感じかな。
アクションベースとかコンポーネントベースとかそういう分類でも
検証してほしかったなあ。