ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Lightweight EJB3

Lightweight EJB3のポイントは

  • コーディングとテストの感覚間隔をできる限り短くすること。
  • アプリケーションサーバ無しでデプロイした状態でテストができること。

だと思っています。テストを短期間でかつ隅々まで行うことが重要です。
コーディングとテストの感覚間隔を短くするためには、コンパイルしたら即テストできるようになっていなければいけません。いちいち、デプロイなんてやってられません。
また、EJB3になってモックを使ったテストは簡単にできるようになりましたが、それだけでは不十分です。だって、実際にデプロイした状態でのテストもしたいじゃないですか。そのテストもクライアントでの自動テストにのせることができれば、ビューの部分以外は、自動テストでカバーすることができます。そのためには、アプリケーションサーバ無しで、クライアントでデプロイした状態でテストできる必要があるのです。
今のアプリケーションサーバを前提にしたEJB3は、上記を達成できません。Seasar2は、上記を実現した「Lightweight EJB3」を提供します。
ただ、JBoss Embeddable EJB 3.0は、動かしてないので分かりませんが、「アプリケーションサーバ無しでデプロイした状態でテストができること」は実現できているんじゃないかと思います。JBoss EJB3とは異なる実装のようなので、クライアントでテストしてOKだったことがサーバサイドではNGになるケースも出てきそうです。まだ実験段階なのかもしれませんが、実装が統一されるといわれるJBoss5は脅威ですね。コンパイルしたら即テストが実現できているのかしら。