Sunday, August 22, 2010

What is J2EE / JEE?

There are 2 version of the Java Environments, J2EE and j2SE
  • SE (standard edition)  which includes all the basic classes that you would need to write single user applications.
  • EE (Enterprise Edition) is set up for multi-tiered enterprise applications, or possible distributed applications. If you'd be using app servers, like tomcat or websphere, you'd want to use the J2EE, with the extra classes for n-tier support
More on J(2)EE:
  • J(2)EE, strictly speaking, is a set of APIs which enable a programmer to build distributed, transactional systems. The idea was to abstract away the complicated distributed, transactional bits (which would be implemented by a Container such as WebSphere,JBoss or Weblogic), leaving the programmer to develop business logic free from worries about storage mechanisms and synchronization.
  • J(2)EE is actually a collection of technologies and APIs for the Java platform designed to support "Enterprise" Applications which can generally be classed as large-scale, distributed, transactional and highly-available applications designed to support mission-critical business requirements.
In general, enterprise applications refer to software hosted on servers that provide the applications that support the enterprise.
The specifications (defined by Sun) describe services, application programming interfaces (APIs), and protocols.
The 13 core technologies that make up J(2)EE are: JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail, and JAF.
The J(2)EE product provider is typically an application-server, web-server, or database-system vendor who provides classes that implement the interfaces defined in the specifications. These vendors compete on implementations of the J(2)EE specifications.
J(2)EE includes EJB, Web Apps ( servlest and JSP ), transactions, webservices, management, and application servers.
In many situations the enterprise applications needs to connect to with a number of legacy systems, they are not only "web pages", and with the features availalble on the "edition" of java that kind of connectivity can be solved.

What is the Difference between J2EE and JEE

Well, it was a very confusing question for me so i researched on it and finally i understand what the heck is this.so i decided to share it I hope it will be helpful for JAVA developers.

It just a naming only.
The first release of Java was called simply Java. Then the platform was updated and was called Java 2 and we got versions like:
Java 2 version 1.3, 1.4...
And then Standard Edition names look like:
J2SE 1.3, 1.4,...


The Enterprise Edition followed the same convention:
Java 2 Enterprise Edition version 1.2, 1.3...
and sometimes we call  
J2EE 1.3, ...

Because it was confusing people why Java 2 had versions 1.x for so long, SUN renamed it in later versions:
Java Standard Edition 5.0, 6.0, 7.0 or just Java 5 and Java 6 instead of J2SE 1.5 and J2SE 1.6.


The Enterprise Edition followed same convention with JEE 5 instead of J2EE 1.5.
The difference, then is that 
Java Enterprise Editions < version 5  = J2EE 1.3 or J2EE 1.4 
while 
Java Enterprise Editions >= 5  = JEE 5, JEE 6, ..