What is J2SE vs J2EE?

L

Leo

Dear All,

I am so confused by the recent Java terms since I have left Java
programming field for 3 years. Besides J2EE, there is J2SE. What is it?
Why Sun have these different products?

Many thanks.
 
R

Roedy Green

I am so confused by the recent Java terms since I have left Java
programming field for 3 years. Besides J2EE, there is J2SE. What is it?
Why Sun have these different products?
Check out any of the acronyms puzzling your at
http://mindprod.com/jgloss/jgloss.html

J2SE is no longer. It is now JSE Java Standard Edition, i.e. plain
vanilla desktop Java. J2EE is the enterprise bells and whistles
version.
 
J

John C. Bollinger

Leo said:
I am so confused by the recent Java terms since I have left Java
programming field for 3 years. Besides J2EE, there is J2SE. What is it?
Why Sun have these different products?

Sun made a lot of changes to the Java platform library and VM between
versions 1.1 and 1.2, enough so that they decided to call the result
"Java 2" instead of plain Java, but without actually changing the
version numbers. Thus "Java 2" starts at version 1.2. This is a
confusing Sun-ism; they have done similar things with their operating
system products. Anyway, not too long after, Sun started packaging a
collection of additional Java components targeted at "enterprise
computing" -- servlets, messaging, "Enterprise JavaBeans," etc. -- as
"Java 2 Enterprise Edition", or J2EE for short. In order to distinguish
the original, base Java 2 package, it was rebranded to "Java 2 Standard
Edition," or J2SE. (This all happened rather more than three years ago,
by the way.) "Java 2 Enterprise Edition" is a bit of a misnomer, as it
suggests that J2EE is an alternative to J2SE. This is not the case.
Rather, J2EE is a collection of /extensions/ to J2SE.

With the release of version 1.5 of the Java platform library and
developer kit, Sun has done it again, announcing that the changes are so
major that the result is now to be known as "Java 5". In conjunction
with that change, they are also moving to call the core package simply
"Java Standard Edition," and to call the enterprise package simply "Java
Enterprise Edition."

Also, though you didn't ask, "J2ME" is "Java 2 Micro Edition," a Java
library and runtime environment for small devices such as cell phones.
J2ME is more deserving of a designation as a different "edition" of Java
than is J2EE. I'll leave it at that.
 
R

Roedy Green

Also, though you didn't ask, "J2ME" is "Java 2 Micro Edition," a Java
library and runtime environment for small devices such as cell phones.
J2ME is more deserving of a designation as a different "edition" of Java
than is J2EE. I'll leave it at that.

and J2ME has been renamed to JME.
 
P

Paul Hamaker

Leo,
SE contains a lot of basic components, that can be used both on the
client- as well as the server-side, and a lot of GUI stuff, AWT/Swing
for standalone (client) apps or applets.
EE is for server-side programming : servlets, JSP, EJB and then some.
 
T

tom fredriksen

Leo said:
Sun started packaging a
collection of additional Java components targeted at "enterprise
computing" -- servlets, messaging, "Enterprise JavaBeans," etc. -- as
"Java 2 Enterprise Edition", or J2EE for short.

Here is what I dont understand?
A lot of this stuff is already part of other 3rd party packages or
software, such as tomcat or openjms, so why the need for jee? Some
people I have been talking with only use jse on enterprise projects (i
presume its because the servers, libraries or frameworks already have
the other stuff)

Am I missing something here?


/tom
 
T

Thomas Hawtin

Roedy said:
Check out any of the acronyms puzzling your at
http://mindprod.com/jgloss/jgloss.html

J2SE is no longer. It is now JSE Java Standard Edition, i.e. plain
vanilla desktop Java. J2EE is the enterprise bells and whistles
version.

J2SE is the correct initials for the current Standard Edition of Java,
Java 2 Standard Edition 5.0. The next version will be abbreviated to
Java SE 6. Java EE 5 will follow J2EE 1.4. Micro Edition is just a mess,
as Sun has little power and all the vested interest groups do their own
thing.

Note:
o Products in production have not changed names.
o It's Java SE, Java EE and Java ME, not JSE, JEE and JME (which could
be anything J related).
o The current standard edition (non-engineering) version number is
5.0, not 5 (there was going to be 5.1 "dragon"/"dragonfly", but no more).

Tom Hawtin
 
T

Thomas Hawtin

tom said:
Here is what I dont understand?
A lot of this stuff is already part of other 3rd party packages or
software, such as tomcat or openjms, so why the need for jee? Some
people I have been talking with only use jse on enterprise projects (i
presume its because the servers, libraries or frameworks already have
the other stuff)

J2EE/Java EE is just branding.

You can write an application using EJBs, servlets and whatever, and have
it run on anyone's Java EE package.

Tom Hawtin
 
R

Roedy Green

You're missing the difference between specification and implementation.

J2EE is a set of APIs for dozens of different purposes. In any one
project you would only use a smattering of them. Then you have to go
out and buy implementations of the APIs you need, or if you are lucky,
find free ones that are decent. You then have to integrate all this
stuff from vendors who have never met. You then ask a lot of question
of about mixing A with B since neither vendor A nor B will acknowledge
the other"s existence. (Not unlike the fun you have with JDBC, SQL and
Servlets).

You definitely want to get the JSE stuff under your belt before
tackling the enterprise APIs.
 
J

James McGill

Then you have to go
out and buy implementations of the APIs you need, or if you are lucky,
find free ones that are decent.

If you're really unlucky, you'll spend tens of thousands on an
implementation, and only *then* discover that one of the free ones is
entirely superior.
 
A

Alex Hunsley

Thomas said:
J2EE/Java EE is just branding.

Not really. Properly speaking, J2EE and Java EE are specifications. They
specify containers, connectors, services etc. to help one write
enterprise aware applications.
Many people, including Sun themselves, release application server
implementations of the EE specs that can be used to actually run
enterprise apps that fit aforesaid specifications.
You can write an application using EJBs, servlets and whatever, and have
it run on anyone's Java EE package.

Of course. But the specification/APIs you are writing to can be, and
often are, part of the EE specification, when it comes to servlets, EJBs
etc.
 
A

Alex Hunsley

Leo said:
Dear All,

I am so confused by the recent Java terms since I have left Java
programming field for 3 years. Besides J2EE, there is J2SE. What is it?
Why Sun have these different products?

Many thanks.

Hope this doesn't sound confusing, but a good rule of thumb is: if you
don't know what J2EE is, J2SE (or JSE as it is now called) is all you'll
need for the moment.
Of course, nothing is stopping you finding out what J2EE/Java EE is!
(See my other post in this thread for some comments on what it is.)
 
T

Thomas Hawtin

Alex said:
Not really. Properly speaking, J2EE and Java EE are specifications. They
specify containers, connectors, services etc. to help one write
enterprise aware applications.

Properly speaking J2EE/Java EE consist of, IIRC: the trade mark, the
blueprints, the test compatibility kits (TCK), the application
verification kit (AVK), the reference implementations (RI) and a short
spec. (Not entirely sure if the TCK and AVK are part of it, or
referenced by it, or indirectly referenced by it.)

J2EE specification isn't much of a specification. The interesting bits
are in the specifications that it references. EJB, Servlets, etc.,
aren't defined by the J2EE spec, just required by it.

The significance of J2EE and Java EE is that they are trademarks whose
use comes with all sorts of conditions (and payments).

Tom Hawtin
 
T

tom fredriksen

Roedy said:
J2EE is a set of APIs for dozens of different purposes. In any one
project you would only use a smattering of them. Then you have to go
out and buy implementations of the APIs you need, or if you are lucky,
find free ones that are decent. You then have to integrate all this
stuff from vendors who have never met. You then ask a lot of question
of about mixing A with B since neither vendor A nor B will acknowledge
the other"s existence. (Not unlike the fun you have with JDBC, SQL and
Servlets).

Ok, the j2ee contains some additional api's which are enterprise related
only and those are included in the j2ee sdk.

So , let me rephrase. I am asking why one needs an j2ee sdk when all its
enterprise api's are mostly implemented by others vendors anyway. F.ex.
if you are doing a web servlet would you use j2ee sdk for that? no you
would use tomcat for example, but you would install the j2se on the
machine along with tomcat. Do you see my question?

/tom
 
J

James McGill

F.ex.
if you are doing a web servlet would you use j2ee sdk for that? no
you
would use tomcat for example, but you would install the j2se on the
machine along with tomcat. Do you see my question?

You could use the J2EE SDK to build the app, and use Tomcat's J2EE
runtime implementation to run it.

You'd certainly need some kind of J2SE. EE doesn't *replace* SE, it
*extends* it.
 
T

tom fredriksen

James said:
You could use the J2EE SDK to build the app, and use Tomcat's J2EE
runtime implementation to run it.

You'd certainly need some kind of J2SE. EE doesn't *replace* SE, it
*extends* it.

I know that:] But you are still able to compile it with just a j2se sdk
because you need tomcat on your machine to do the development for it, so
you use its rt.jar and then have no need for j2ee sdk. Do you see my
point? There is apparently no need for j2ee because its covered by 3rd
party stuff and it needs to be installed on your computer if you want to
develop for it.

/tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top