BT

Java EE 5はEJBを用いたほうが簡単か?

| 作者: Geoffrey Wiseman フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2007年9月7日. 推定読書時間: 3 分 |
たくさんのエンタープライズJava開発者達がEJB1.Xと2.Xの時代にEnterprise JavaBeansの 経験を得た。そしてこの開発者達はより軽量だと思ったSpringフレームワークのような技術を選ぶようになった。なぜなら人手でソリューションを構築することや軽量のフレームワークを使うのはEnterprise Java Beansよりも簡単で時間を要さないと感じたからだ。

Java EE5.XとEJB3.Xは両方とも簡潔さと軽量開発の実践を追求したものだ。それでもまだPOJOソリューションのほうがシンプルで簡潔なコードであることは事実なのか?Adam Bien氏はそれに同意していない(source)

実はEJB3.0を簡潔にするのは困難なのだ。(提案があればいつでも受け入れている。)      

面白いことは・・・EJB 3 Session BeansなしのJava EE 5ウェブアプリケーションはもっと複雑なのだ。

彼はEJB 3を用いたもの、用いてないものの二つのコードの断片を使って実演している。結果は下記のとおりである。

コードが簡潔なだけでなくきれいになる。そのリソースはコンテナによって注入され管理されている。しかし単体のSession Beanの導入を用いると管理性とモニタリングを大幅に増やすことができる。Glassfishのコールフローのようなツールを用いると呼び出しのスタッ ク全体のパフォーマンスをモニターすることができる。すごいのはXML設定がオプショナルということだ。EJB3.1内ではローカルインターフェースでさえオプショナルとなる。

Matt Coreyは下記のように付け加えている。

EJB3.1内ではもはやウェブアプリケーションから離してEJBをパッケージする必要がないということを考えると、これはとても面白くなってくる。 JSRにはこう記されている”簡潔化されたパッケージングのオプションを含めてサーブレットコンテナの中のEJBの直接使用をサポートする。”

Jason Carreiraがそれに対立する意見を述べている。

要はEJB3とEJB2.1は同じくらい優れているが、SpringはEJB 3よりも断然優れているということです。EJB3の依存性注入はフルパワーに比べるとかなり弱いのでSpringはスタックをまとめるためのワイヤーを提供するのです。

それに加えて、Springを持ってきていつも一貫性のあるインプリメンテーションができるのに、私はなぜEJB3スペックを実装する異なるアプリケーションサーバに頼りたいのでしょう。私が一つの特定のインプリメンテーションを使うことにすれば、それをどんなアプリケーションサーバやサーブレットコンテナにでも使用することができるのです。そしてスペックが進化して変更されても、自分がそうしたくなければコードをアップグレードや変更する必要がないのです。最 新のアプリケーションサーバは五年後でもEJB 3アプリケーションを作動させるでしょうか。しているかもしれないし、していないかもしれません。

SpringとEJB3の比較はよくあるもの(source)だ。たくさんの人たちがEJB 1.Xと2.Xの複雑さから離れてSpringに移行した。そして今EJB 3、またはGroovyとGrails、RubyとRailsのような大幅な移行がどう比較されるか考慮され始めたのである。

Java Enterprise EditionはEJB3を用いるのと用いない場合どちらがシンプルだろうか。もしあなたが以前のEnterprise JavaBeansを使ったことがあれば、よりシンプルになったJava EE 5でEJBをもう一度使いたいと思うだろうか。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

私はEJB1.Xの時代から使っています。 by 仁志 亀崎

私はEJB1.Xの時代から使用しています。

確かにEJB2.Xまでは複雑な面もありましたが、良い面もありました。その良い面はSpringFrameworkなどに生かされています。

そして現在、EJB3とSpringFrameworkとはそれほど差がないのではと考えています。開発フレームワークもJBoss Seamの採用を考えており、今後もEJBを活用する方向で考えています。

(問題は他のメンバーが同意してくれるかどうかですが)

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

1 ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT