Posts tagged ‘GlassFish v3’

EJB 3.1 の新機能概要

EJB 3.1 の新機能をプレゼン形式でまとめてみました。
かんたんに概要を紹介します。

EJB 3.0 から EJB 3.1 になり、かんたん開発に向けて多くの改善が施されています。まず、パッケージの簡略化が挙げられます。今までアプリケーションの種類に応じて .ear, .war 等のアーカイブにまとめる必要がありましたが、EJB コンポーネントも .war に含めることができるようになったため開発時の手間が大幅に削減されます。また、EJB 3.1 Lite が提供されフル Java EE の機能の一部の機能だけを利用できるようになったため、フル Java EE の機能が必要ないお客様にとっては不要なメモリリソースを消費せずに運用できる等のメリットがあります。

次のポイントはローカルビジネスインタフェースの実装が必要なくなった点です。これは開発者の生産性が向上するだけではなく、修正の手間も大幅に削減してくれます。例えば、過去に実装したクラスにおいて、特定のメソッドに対する引数や返り値の変更が必要になった場合を想定してください。今まではインタフェースのメソッド定義と実装クラスのメソッド定義を両方変更しなければなりませんでしたが、インタフェースの定義が必要がなくなったため、実装クラスのメソッド定義を変更するだけでよくなります。

次に、移植可能な Global JNDI 名では、今までベンダー独自に実装していた Global の JNDI 名が仕様の中で標準化されましたので、今後アプリケーションを他のアプリケーションサーバへ移行したいような場合、Global JNDI 名を変更する必要がなくなり移植性が高まります。

また、Java SE に組み込み可能な EJB コンテナ は開発時におけるテストの手間を大幅に削減してくれるようになります。今までは EJB のアプリケーションをテストする際、アプリケーションサーバにデプロイして Global 経由でアクセスする等の必要がありました。これは別の Java VM のプロセスとして稼働するためデバッグ等も困難でしたが、EJB 3.1 では Java SE のプロセス内に EJB コンテナをロードして実行する事ができるようになるため、同一 Java プロセス内で処理ができる他、EJB の単体テスト等がしやすくなります。

その他の追加機能として、Singleton Session Beans が追加された事が挙げられます。これはアプリケーション間で同一の情報を扱いたい場合に有効です。今までは独自に Singleton のクラスを作成して運用しなければなりませんでしたが、クラスタ環境のように複数台で実現するためには苦労していたかと思います。なぜなら異なる JVM プロセスの間で Sigleton のインスタンスを共有させる事は面倒だったからです。しかしEJB 3.1で提供する Singleton Session Bean はコンテナを跨ぐ環境においても唯一のインスタンスが保障されるため、こういった実装の手間が必要なく、アノテーションの追加だけで利用できるようになります。その他、タイマーサービスや非同期処理もそれぞれアノテーションを利用して簡単に実装できるようになっています。

最後に、
EJB といえば実装が難しい、設定も面倒という時代は今や過去の事で、今では実装がとてもかんたんになっています。また便利な機能をデフォルトで数多く持っている便利なフレームワークですので、今一度EJB を見直し利用をご検討ください。



























2010年4月7日 at 8:32 午後


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2020年12月
 123456
78910111213
14151617181920
21222324252627
28293031  

カテゴリー

Twitter

  • RT @itakash: [お知らせ] Java SE 15の日本語ドキュメント、公開されました。 今回も、日本オラクルドキュメントチームに感謝! docs.oracle.com/javase/jp/15/i… 20 hours ago
  • RT @rorypreddy: Terraform and Azure made easy - live with @juliendubois at @1MACoders. See the full tutorial here: youtu.be/b0APzGlBWMA2 days ago
  • RT @cero_t: JJUG CCC 2020 Fallはオンラインイベントでしたが、幹事たちはこの記事の通り、オフラインで集合して運営をしていました。面白い形よね。 春には反省を活かしてもう一度同じようなフォーマットで行ない、秋くらいにはオンとオフの両方の良さを活かした… 2 days ago
  • RT @yusuke_arclamp: 11/7に開催したJJUG CCC 2020 Fallの報告です。コミュニティイベントのオンライン開催ノウハウ、まだまだ少ないと思うので公開しました。もっと知りたいとかあれば、ぜひコメントください。 https://t.co/MuEOmF… 2 days ago
  • @cero_t 今、教えて頂いた通りやったら 530Mbps でした。 その仕様はなんなんでしょうね🤔 2 days ago

clustermap

ブログ統計情報

  • 1,198,079 hits

RSSフィード

アーカイブ