0

I have been working on Java SE for years and there were two things JRE and SDK to run a java application. Now I am moving to Java EE. I came to know that I need an application server in addition to above two elements i.e., SDK and JRE. However, when I visit download pages for Java EE, they only offer SDK and Application Server. Furthermore, on internet I read that I only need to install an Application Server following Java EE specifications? Is Java EE just specifications which is realized by an application server? Secondly, where is the JRE, is it inside the application server or Standard Edition's JRE will be used to run the distributed components?

hadaytullah
  • 1,164
  • 13
  • 14
  • 3
    Whoa! One question at a time please. – adarshr May 08 '12 at 11:22
  • what do you mean with `distributed components` ? – Roman K May 08 '12 at 11:31
  • Even JEE Application Servers runs on JRE which will have JVM only(no java compiler). But while you are running Application servers you will use server VM by passing -server option to java.exe command. Regarding JEE specification complaint app servers, yes some app servers are fully complaint some or partial. You need to see the documentation of the server and choose. – Seshagiri May 08 '12 at 11:33

2 Answers2

1

Java EE is a set of specifications, yes. They tend to be realised by a Java EE server but there are a number of frameworks that implement parts of the complete EE specification.

Enterprise servers are Java applications. They need a Java Runtime Environment to run. They usually also need access to javac, the Java compiler, in order to compile things like JSPs. This is why you will do well to run them on Java Development Kit, which is Java's SDK. The server will usually look for the runtime in usual install locations on the platform it's running. It also often use the environment variable JAVA_HOME to locate the JDK.

If you will only use a specific subset of Java EE then it may well be useful to see if you can find a stand alone implementation for that part.

  • So, this means there is only one JRE/JVM implementation that is used by all the variants of Java (SE/JEE etc), however, their SDKs (which i think of as code libraries) may have different contents. – hadaytullah May 09 '12 at 07:52
  • Well no, not quite. There are several different JVM vendors. The most commonly used is Oracles JVM, available for both Mac, Windows and Linux. There are however an OpenJDK version, the reference implementation, and one from IBM. Oracle are also providing JRockit still which is a payed for JVM. All of the above provides both JRE and JDK as far as I know. They are all certified as Java VMs. The SDK however should not vary at all. This is standard for all VMs. – Tomas Malmsten Sep 25 '12 at 16:43
0

Is Java EE just specifications which is realized by an application server?

Yes

Secondly, where is the JRE, is it inside the application server or Standard Edition's JRE will be used to run the distributed components?

No, most servers usually use an SDK, not the JRE

Roman K
  • 3,309
  • 1
  • 33
  • 49