そもそもJava SEもJava EEもエディション名、と言ってしまえば簡単なのですが、じゃぁ実体はなんなのかというと明確な定義が無いと思ってます。
Java SEについてこちらのまとめ方が個人的にはしっくりきています。
Java = エコシステム
Java SE = 仕様
OpenJDK = Java SEの実装
Oracle JDK = オラクルがビルドしたOpenJDK + インストーラ
一方、Java EEも単体で見ると単なる仕様(群)です。
仕様で定められているのはinterfaceや例外、および仕様書です。
それらの仕様を実装したものが、Glassfish等のJava EEサーバです。
Java EEサーバの種類としてはOSSやベンダー製のものも含め全てこちらに載ってます。
僕の理解では、Java SEは言語機能としての仕様群、Java EEはさらに範囲を広げ、エンタープライズなアプリを開発するために必要となる仕様群、という住み分けになっているように思います。
本題に戻りますと、Java SE、Java EEについての概ねの理解は合っていると思います。
ただ、
- Java EEサーバも基本的にはJRE上で動くアプリケーションです。
(そのさらに上に開発者が開発したWebアプリ等のアプリケーションがデプロイされる)
- Java EEの実装は、Java SEの基本的にAPIを組み合わせてできている
- Java EEサーバの中には(特にIBM等の独自のJDKを開発しているベンダー製の場合は)、インストールするとJDKもバンドルされている場合があります。
(とはいえ、JDKとは別々にインストールする必要がある場合もあります)
なので、"JavaEEはJavaSEを含んでいる"という表現について、個人的にはあまり見聞きしたことがありませんが、
語弊はあるにしろ、あながち間違ってもいない、といった感じがします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/04 07:06