• ベストアンサー

「EJBとServletの違い」「J2SEとJ2EEの違い」が??です。

IT用語辞典で調べてみたのですが、 1.「EJBとServletの違い」 2.「J2SEとJ2EEの違い」 の2つについてイメージがつかないというか、良くわかりません。 どう理解すればよいのでしょう?

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.2

あまりEJBは開発したことないんですが、わかる程度ということで・・。 1.「EJBとServletの違い」 これは、難しいですね。なかなか一口にはいえないように思えます。 サーブレットというのは、Webアプリケーションで使うものですね。これは、クライアントからアクセスして呼び出して実行します。では、「クライアントから直接呼び出しはしないけれど、常時これこれという機能を用意していつでもサーブレットなどから利用できるようにしたい」というときはどうすればよいでしょう?  こういう場合に使われるのがEJBです。要するに、特定のWebアプリケーションの特定の処理などとは切り離して、非常に多用される汎用的な機能をコンポーネント的にサーバに追加し、外部からいつでも利用できるようにするものですね。 非常に重要なのは、「JavaサーバだからといってEJBが使えるわけではない」という点です。Javaサーバには、WebアプリケーションサーバとJ2EEサーバがあります。EJBを使うためにはJ2EEサーバでなければいけません。  例えば、よく用いられているTomcatサーバはWebアプリケーションサーバではありますが、J2EEサーバではありません。従って、EJBは動かないのです。ですから、ちょっとした規模の開発ではEJBを使うことはないでしょう。 2.「J2SEとJ2EEの違い」 これは、よく勘違いすることが多いのですが、(現在の)J2EEは、サーバ向けに用意された特殊なJavaではありません。J2EEは、端的にいえば「J2SEに、サーバ用のライブラリやサーバプログラム、各種ドキュメントなどを足したもの」です。ざっと整理すると、J2EE 1.4はこんなもので構成されてます。 ・J2SE 1.4 ・J2EE基本ライブラリ(JSP/サーブレットなどのライブラリ) ・JavaServer Faces(新しいWebアプリケーションのフレームワーク) ・Sun Java Application Server PE(Sunのバンドル版サーバプログラム。pure JavaのデータベースサーバPointBase限定版を含む) ・ドキュメント つまり、Javaの部分は、J2SEと全く同じなのです。ですから、今ではJ2EEをまるごと使うというより、普段使っているJ2SEに、必要に応じてJ2EEのライブラリなどを足して使う方が一般的になっています。

noname#41444
質問者

お礼

回答ありがとうございます。 J2EEサーバーがないとEJBは動かないんですね。 なるほどー。 わかり易い説明ありがとうございました。 回答を元に勉強させて頂きます。 また不明なことが出てきた際には質問させて頂きますので宜しくお願い致します。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

>2.「J2SEとJ2EEの違い」 J2SEはJavaの基本的な部分で、J2EEはJavaの中でもサーバ側技術に特化した(というか拡張された?)部分とでもいったものでしょうか? >1.「EJBとServletの違い」 EJBは様々なサービスを提供するもので、JSP/Servletはその中でもWebサービスに特化したもの。EJBもJSP/ServletもJ2EE技術の一部です。 私はなんとな~くこんな風に分類しています。正確な定義は見たことないですがw

noname#41444
質問者

お礼

回答ありがとうございます。 なろほど!簡潔でとてもわかり易いです。 また不明な事がありましたら質問させて頂きますのでその際には宜しくお願いします。

関連するQ&A