Top / Java関連 / JavaEE5 / EJB3.0(1)

EJB3.0

JavaEE5になってから、Enterprise JavaBeans(以降、EJB)の仕様が3.0にバージョンアップされ、
今までの2.1仕様から変わり、より使いやすいものになりました。
様々なサイトで解説されている特徴について、改めて列挙してみます。

  • JavaSE5から導入されたアノテーション(注釈)を利用し、XMLファイルによる設定が減った。
  • EJB3.0仕様になってから、コンポーネントインタフェースの実装が不要な場合、実装しなくとも良くなった。
  • EJB3.0のコンポーネントの単体デバッグが、JavaSE環境でも出来るようになった。
  • EJB3.0仕様からは、分散環境オンリーの設計思想から、1つのサーバー内で収まる小さなアプリについても考慮されるようになった。

参考

EJB3.0入門講座:第1回 複雑さを捨てて使いやすさに徹したEJB 3.0
http://itpro.nikkeibp.co.jp/article/COLUMN/20060613/240774/

EJBの種類

EJBにはいくつか種類があります。

区分(1)区分(2)内容
Entity Bean(エンティティビーン)CMP Entiry Bean(コンテナ管理永続化エンティティビーン)コンテナがリソース(DB)への永続化を行ってくれるBean形態
BMP Entiry Bean(ビーン管理永続化エンティティビーン)デベロッパー自身がリソース(DB)に対する永続化を行うBean形態
Session Bean(セッションビーン)Stateless Session Bean(ステートレスセッションビーン)状態を保持しないセッションビーン。1メソッドで簡潔するような処理に向く。
Stateful Session Bean(ステートフルセッションビーン)内部状態を保持することが出来るBean。一般的なクラスインスタンスと同様に取り扱うことが出来る。セッション毎にメモリが必要で、使い回すことが出来ないため、サーバーメモリには優しくない。
Message Driven Bean(メッセージ駆動型ビーン)-JMS メッセージの処理専用のサーバサイド オブジェクト

参考

EJBの種類を教えてください
http://www.atmarkit.co.jp/fjava/javafaq/j2ee/j2e13.html

EJB3.0を使ったアプリの作成方法

Eclipse+WTP+Sun GlassFish Application Serverを使用して、ステートレスセッションビーンを使った
非常に簡単なアプリケーションを作成してみます。

準備

まずは開発環境を整えてください。
以下を参考にして、Eclipse、WTP、JavaEE5(GlassFish)をインストールしてください。

プロジェクトの作成

JavaEEパーステクティブに切り替えて、プロジェクトエクスプローラーの何もないところで、右クリックし、コンテキストメニューから、
[エンタープライズ・アプリケーション・プロジェクト]を選択します。
http://www.techch.com/wikiparts/JavaEE_WTP_000.png

 

新規EARアプリケーションプロジェクト作成のウィザードが開始されます。
プロジェクト名として、ここでは[EJB3]と入力します。
ターゲットランタイムが選択されていない状態ですので、新規のボタンをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_001.png

 

初期状態ですと、対象のサーバーランタイム環境が少ないです。
http://www.techch.com/wikiparts/JavaEE_WTP_002.png

 

ですので、[追加サーバーアダプターのダウンロード]のアンカーをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_003.png

 

リモート更新サイトに接続され、サーバーアダプターの一覧がダウンロードされます。
(ネット接続環境が整った状態での説明になります。クローズドな環境で作業を強いられている方はできません。)
http://www.techch.com/wikiparts/JavaEE_WTP_004.png

 

しばらくすると、サーバーアダプター一覧の更新が終わります。
http://www.techch.com/wikiparts/JavaEE_WTP_005.png

 

ちょっとスクロールすると、今回使用したいGlassFish JavaEE5サーバーがありますので、選択してください。
他のJ2EEコンテナを使用したい場合、適宜それを選択してください。
http://www.techch.com/wikiparts/JavaEE_WTP_006.png

 

フィーチャーのソフトウェアライセンスの使用条件について同意します。
http://www.techch.com/wikiparts/JavaEE_WTP_007.png

 

ダウンロードとインストールが開始されます。
ここでの注意点として、インストールが完了するまでEclipseを触らないほうがよいということです。
自分は触ってえらい目に逢いました。
http://www.techch.com/wikiparts/JavaEE_WTP_008.png

 

インストールが完了すると以下のようなダイアログが出ます。
指示通りにEclipseを再起動してください。
http://www.techch.com/wikiparts/JavaEE_WTP_009.png

 

Eclipseを再起動すると、次のような画面になると思います。(ならない場合もあるとおもいますが...。)
ワークベンチに戻るのアイコンをクリックしてください。
http://www.techch.com/wikiparts/JavaEE_WTP_010.png

 

再び、エンタープライズ・アプリケーション・プロジェクトを作成して、
サーバーランタイムとして、[GlassFish v2.1 JavaEE5]を選択します。
これは、JavaEE5 SDKといっしょにインストールされるJ2EEコンテナになります。
[新規ローカルサーバーの作成]にチェックを入れて、[次へ]のボタンをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_011.png

 

[次へ]のボタンをクリックすると、エラーになります。
これはアプリケーションサーバーのディレクトリの指定が無いためです。
[参照]のボタンをクリックし、アプリケーションサーバーのインストール先を指定します。
http://www.techch.com/wikiparts/JavaEE_WTP_012.png

 

自分の場合、Java関連/JavaEE5のインストールでの説明のとおり、デフォルトとインストール先を変えているため、このようにしています。
自分のJavaEE5のSDKをインストール先に合わせて、適宜選択します。
http://www.techch.com/wikiparts/JavaEE_WTP_013.png

 

正しく選択すると、エラーが消えます。[次へ]のボタンをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_014.png

 

ドメイン名の指定と、ドメインディレクトリの指定、管理者IDの指定と管理者パスワードを指定します。
JavaEE5をインストールした際に決めた管理者パスワードを正しく入力してください。
[完了]のボタンをクリックして、ターゲットランタイムの設定を完了させます。
http://www.techch.com/wikiparts/JavaEE_WTP_015.png

 

ターゲットランタイムが指定されている状態になりました。
[次へ]のボタンをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_016.png

 

JavaEEモジュールプロジェクトはまだ存在していない状態なので、選択することはできません。
配備記述子の生成にチェックを入れて、[完了]のボタンをクリックします。
http://www.techch.com/wikiparts/JavaEE_WTP_017.png

 

EARプロジェクトに何もアプリケーションが関連付けされていないため、エラーになります。
関連付けするアプリケーションのプロジェクトの作成については、以降で詳しく説明します。
http://www.techch.com/wikiparts/JavaEE_WTP_018.png

 

コンテンツが、大きくなってしまったので、Java関連/JavaEE5/EJB3.0(2)のページで、ステートレスEJBの作成などを説明します。

 

以上です。

最新の10件
2010-07-09 2010-07-08 2010-07-07 2010-06-29 2010-06-28
人気の20件
Counter: 2222, today: 7, yesterday: 0