ひがやすを技術ブログ

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

いい意味でRailsにJavaから挑戦みたいな

The Apache OpenEJB community has released OpenEJB 3.1. OpenEJB is an embeddable, lightweight EJB 3.0 implementation with partial support of EJB 3.1 that can be used not only as a standalone server, but as an embedded server in Tomcat, JUnit, Eclipse, Intellij, Maven, Ant, or any other IDE or application.

OpenEJB 3.1がリリースされたみたいですね。EJB 3.1の仕様もフィックスされていないのに、それを部分的に取り込んで、リリースするなんてどうよと思うけどね。ちょっとあせりすぎでしょう。


とはいえ、これは、EJB 3.1の仕様をいち早く実装することで、EJB 3.1界をリードしたいという願いがあるからでしょうね。他にもいろんなところが参入して、超レッドオーシャンの予感。


Slim3では、もうコンテナ(DIやAOP)にはこだわっていません。この辺は、DIContainerはコモディティ化する - yvsu pron. yasのエントリで書いたとおりです。Slim3の各プロダクトは、任意のコンテナ上で使えます。
ユーザ(コンテナを使う開発者、あるいはエンドユーザ)がどのように感じるかは、まだわかりませんが、すくなくてもコンテナの開発者側は、EJB 3.1に向かうんでしょうね。


ただ、完全にEJB 3.1で決まりかというとそんなこともないと思っています。何が重要化というとHOT deploy。
HOT deployとはソースコードを変更したときに、Webアプリケーションを再起動(再デプロイ)することなく、即座にその変更を認識する機能で、スクリプト言語のようなさくさく感のある開発を可能にします。
今のEJB 3.1は、HOT deployのことがまったく考慮されていないので、それが次の焦点になるでしょう。
EJB 3.1が出てきたからといって、Seasar2のユーザは心配する必要はありません。EJB 3.1でできることは、Seasar2とその周辺プロダクトを組み合わせれば実現できるし、Seasar2のほうが、HOT deployのアドバンテージがあります。
また、ぽっと出のEJB 3.1より、Seasar2のほうが使い込まれているので安心して使えます。OSSのサポートもずっと続くし、弊社の商用サポートを利用していただくと、7年間サポートが受けられます。


後、こばやしさんにアドバイスもらったんだけど、Slim3 Containerは、EJB 3.1の実装に向かうんじゃなくて、HOT deployを全面的に押し出したスーパーウルトラアジャイルなコンテナ(こばやしさんは、スーパーウルトラアジャイルなんて言い方はしないです。)を目指した方がいいかもしれない。アノテーションは、標準のものを使うけどね。ただし、EJBじゃないからStatelessやEJBアノテーションは使わないみたいな。


で、さくさくっと作る部分は、Slim3で開発して、既存の機能やEJB 3.1ならではのナイスな機能があれば、SpringやEJB 3.1のコンポーネントと@Resourceで連携するようにするとか。
アジャイルに開発したいところはSlim3で、それ以外はSpringやEJB 3.1を使うみたいな開発。


なんかこの流れのほうが、自分っぽいかな。いい意味でRailsJavaから挑戦みたいな。