Java™ EE 仕様では、これまでの EJB 仕様よりも EJB 3.1 アプリケーションの作成が単純になりました。
以下のフィーチャーが EJB 3.1 (JSR 318) で追加されました。
- Singleton Bean (@Singleton)
- EJB 3.1 より前は、アプリケーション全体でデータを簡単に共有することはできませんでした。EJB 3.1 Singleton はアプリケーション規模の singleton です。
- 並行性は、コンテナーまたは Bean 開発者のいずれかが管理可能です。
Java EE は、以下のように EJB 開発を簡素化しています。
- 必要なクラスおよびインターフェースの削減
- ホーム・インターフェースとオブジェクト・インターフェースが不要になりました。
必要なのは、ビジネス・インターフェースのみです。
- javax.ejb.SessionBean の実装が不要になりました。
- チェック例外を宣言する必要がなくなりました。
- オプションのデプロイメント記述子
- 注釈によって、コンポーネントの定義と依存関係の注入が実現されます。
- 単純なルックアップ
- JNDI 呼び出しの代わりに、新規の EJBContext() インターフェース・メソッドが使用されます。
- オブジェクト・リレーショナル・マッピングに対する軽量のパーシスタンス
- エンティティーは、リレーショナル・データベースに格納されているデータのオブジェクト指向ビューを提供する POJO です。
- 新規のインターセプター・クラス (Java EE 5 の新機能)
- インターセプターとは、ビジネス・メソッド呼び出しを (例えば、セキュリティーを処理するために) インターセプトできるオブジェクトです。
- サーブレット・フィルターや Web サービス・ハンドラーの目的とアクションの類似
- 限定された形式のアスペクト指向プログラミングを提供します。