BT

InfoQ ホームページ ニュース Java EE 5はEJBを用いたほうが簡単か?

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

ブックマーク
たくさんのエンタープライズ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

コミュニティコメント

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

    by 仁志 亀崎 /

    スパムの可能性があると認識されました。モデレーターが確認し問題がなければ24時間以内に公開します。その際あなたへの通知は行われませんのでご了承ください。

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

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

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

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

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

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

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。