102

Java EE には、若い Java 開発者向けの「謎の覆い」があります。

混乱は次のことから生じます。

  • Java EE はライブラリとプラットフォームの両方のようです。通常、Oracle の Java EE SDK ダウンロードなどから、Java EE ライブラリを「取得」する方法は複数あります。ただし、Java EE ライブラリは、コードが Java EE アプリケーション サーバー (JBoss、GlassFish、Tomcat など) で実行されているか、アクセスできる場合を除き、機能せず、コンパイルもされません。なんで?アプリケーション サーバー環境の外でライブラリを機能させることはできませんか? 電子メールを送信するための単純なコードをコンパイルするためだけに、なぜ JBoss のような大規模なものが必要なのですか?

  • Java EE ライブラリが「標準」ではなく、通常の JVM ダウンロードや SDK に含まれているのはなぜですか?

  • 標準 Java の主なフレーバーが 2 つしかないのに (Oracle JVM/SDK | OpenJDK JVM/JDK)、なぜこれほど多くの Java EE オファリングがあるのでしょうか?

  • 標準の Java ではできなくて、Java EE でできることは何ですか?

  • Java EE ではできなくて、標準 Java でできることは何ですか?

  • 開発者が Java EE が「必要」であると判断するのはいつですか?

  • 開発者が Java EE を必要としないと判断するのはいつですか?

  • Java EE ライブラリのバージョンが標準の Java ライブラリ リリース (Java EE 6 と Java 7) と同期していないのはなぜですか?

フロッグを片付けるのを手伝ってくれてありがとう!

4

5 に答える 5

6

Java EE はすべてコンテナーの概念に関するものです。
コンテナーは、アプリケーションを実行し、この最後の一連のサービスを提供する実行コンテキストです。各種類のサービスは、JSR という名前の仕様によって定義されます。たとえば、JSR 907、JTA (java transaction Api) は、さまざまなリソースに対する分散トランザクションを管理する標準的な方法を提供します。
通常、特定の JSR にはさまざまな実装があり、使用する実装はコンテナー プロバイダーによって異なりますが、動作が事前定義されたコントラクト (JSR API) を尊重していると確信しているため、実際には気にする必要はありません。
したがって、Java EE を利用するには、コンテナー内でアプリケーションを実行する必要があります。2 つの主なものは、EJB とサーブレット コンテナーであり、どちらも Java EE 認定のアプリケーション サーバーに存在します。

これらすべての目的は、標準の実行環境を定義して、必要不可欠な id.est だけでアプリケーションをパッケージ化できるようにすることです。あなたのビジネス。そうしないとパッケージ化してアプリに提供する必要があり、サーバー上の他のアプリとの競合の原因となる可能性がある、未知のさまざまなサードパーティ ライブラリのセットに依存することを回避できます。Java EE では、セキュリティ、トランザクション、スケーラビリティ、リモート呼び出しなどのすべての標準的な非機能要件がコンテナーによって提供されることを知っており (コンテナー内で実行されているすべてのアプリ用に因数分解されます)、作業はコンテナーに基づいて行うだけで済みます。

于 2013-04-03T07:37:48.727 に答える