The "Java Framework" (Java 2 Platform) is composed of three editions, each desgined for different purposes:
J2ME: Java 2 Micro Edition is intended for development of embedded applications, for PDAs and mobile terminals.
J2SE: Java 2 Standard Edition is designed for development of applications for personal computers.
J2EE: Java 2 Enterprise Edition, designed for professional use (implementation on servers).
Each edition provides a complete environment for the development and execution of Java-based applications and includes a JVM (Java virtual machine) and a set of classes.
Introduction to J2EE
J2EE (Java 2 Enterprise Edition) is a standard proposed by Sun, supported by a consortium of international companies, to define a standard for developing multi-level (component-based) enterprise applications.
The services (API) offered and runtime infrastructure, is generally referred as the "J2EE platform" and it includes:
Specifications for the application server, that is to say, the execution environment: J2EE defines the roles/interfaces for the applications and the environment in which they are executed. These recommendations allow third-party companies to develop application servers conform to the specifications defined without having to re-develop the main services.
Services (through API), that is to say independent Java extensions to provide a number of standard features. Sun provides a minimal implementation of these API, called as J2EE SDK (J2EE Software Development Kit).
J2EE relies entirely on Java, it enjoys the advantages and disadvantages of this language, especially the portability and maintainability of code.
In addition, the J2EE architecture based on discrete, interchangeable and distributed components, which implies the following:
easily extend the architecture.
a system based on J2EE mechanisms can have high availability to ensure a good quality of service.
the maintainability of applications is facilitated.
J2EE APIs can be divided into three main categories:
Web components: Servlets and JSP (Java Server Pages).
Business components: EJB (Enterprise Java Beans). These specific components are responsible for data processing (for a specific industry) and interfacing with databases.
Services, which can be categorized:
The Infrastructure services: there are many:
JDBC (Java DataBase Connectivity) is an API to access relational databases.
JNDI (Java Naming and Directory Interface) is an API to access naming services and business directories such as DNS, NIS, LDAP, etc..
JTA/JTS (Java Transaction API / Java Transaction Services)is a standard API to define interfaces with a transaction manager.
JCA (J2EE Connector Architecture) is a connection API to the information system of the company.
JMX (Java Management Extension) provides extensions for developing web applications.
JAAS (Java Authentication and Authorization Service) is the API for authentication and access rights management.
JavaMail is an API for sending email.
JMS (Java Message Service) provides asynchronous communication capabilities (called MOM: Middleware Message Object) between applications.
RMI-IIOP is an API that allows synchronous communication between objects.
The J2EE architecture allows to you to separate the presentation layer, corresponding to the human-machine interface (HMI), the business layer containing most of the data processing and finally the data layer.