Difference between Java and J2EE
Key difference: Java is a programming language, which has been influenced by the C language. It derives much of its syntax from C and C++, however it has fewer low-level facilities than either. J2EE is a computing platform that is based on the Java programming language. A computing platform allows the developed software to run.
Java is a programming language, which has been influenced by the C language. It derives much of its syntax from C and C++, however it has fewer low-level facilities than either. Java is a general-purpose programming language that is designed to have fewer implementation dependencies as compared to previous languages. It is concurrent, class-based, and an object-oriented language.
Java was developed by James Gosling at Sun Microsystems and was released in 1995. It was originally released as a core component of Sun Microsystems' Java platform. Sun has since re-licensed most of its Java technologies under the GNU General Public License. This means that all the technology licensed under GNU General Public License is open source and generally available free of cost. Sun Microsystems eventually merged into Oracle Corporation.
Java is designed to allow the same code to run on various platforms. i.e., developers are allowed to “write once, run anywhere” (WORA). Hence, Java applications are typically compiled to bytecode. A class file which contains a Java bytecode can then be run on any Java Virtual Machine (JVM). This would be regardless of computer architecture.
As of 2012, Java has become one of the most popular programming languages for use. This is especially true for client-server web applications. Many other systems have developed alternative implementations of Sun technologies, such as GNU Compiler for Java and GNU Classpath.
C++ and Java originate from the same point, i.e. the C language. However, they have difference design goals. C++ was originally designed for systems and applications programming, whereas Java was created initially as an interpreter for printing systems. Java eventually grew to support network computing.
The main difference between Java and J2EE is that while, Java is a programming language, J2EE is a computing platform that is based on the Java programming language. A computing platform allows the developed software to run. It contains computer architecture, operating system and Runtime libraries. It also contains hardware architecture and a software framework, as well as an application framework.
There are three main computing platform released by Sun Microsystems, which was eventually taken over by the Oracle Corporation. The computing platforms are all based on the Java programming language. These computing platforms are:
- Java SE, i.e. Java Standard Edition. It is normally used for developing desktop applications. It forms the core/base API.
- Java EE, i.e. Java Enterprise Edition. This was originally known as Java 2 Platform, Enterprise Edition or J2EE. The name was eventually changed to Java Platform, Enterprise Edition or Java EE in version 5. Java EE is mainly used for applications which run on servers, such as web sites.
- Java ME, i.e. Java Micro Edition. It is mainly used for applications which run on resource constrained devices (small scale devices) like cell phones, most commonly games.
Java EE or J2EE, as it was previously known, is basically an extension of the Java SE, which is a platform for development and deployment of portable applications for desktop and server environments. It is essentially based on the Java programming language.
Java EE provides an API and runtime environment for developing and running enterprise software, including network and web services. The API is also helpful for object-relational mapping, distributed and multi-tier architectures, and web services.
Webopedia lists some of the key features and services of J2EE as:
- At the client tier, J2EE supports pure HTML, as well as Java applets or applications. It relies on Java Server Pages and servlet code to create HTML or other formatted data for the client.
- Enterprise JavaBeans (EJBs) provide another layer where the platform's logic is stored. An EJB server provides functions such as threading, concurrency, security and memory management. These services are transparent to the author.
- Java Database Connectivity (JDBC), which is the Java equivalent to ODBC, is the standard interface for Java databases.
- The Java servlet API enhances consistency for developers without requiring a graphical user interface.
Image Courtesy: sellmic.com, freeebookpdfdownload.blogspot.com