Java EE - (J2EE|JEE) Platform

Java Conceptuel Diagram


The J2EE platform offers:

The term was changed from J2EE and JEE to Java EE in May 2006.


J2ee Multitier Architecture

The J2EE platform uses a multitiered, distributed application model.

Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs.

Type Tier Component Run on the
Client-tier Rich Java Client, Applet, Web Client client machine
Web-tier Web components (jsp page or servlet) J2EE server
Business-tier Enterprise javabean (EJB) J2EE server
Enterprise information system (EIS)-tier ERP, mainframe transaction processing, database systems, and other legacy information systems. EIS server

Although a J2EE application can consist of the three or four tiers. J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three different locations:

  • client machines,
  • the J2EE server machine,
  • and the database or legacy machines at the back end.

Typical 3-tier Web application:

J2ee Architecture Technologie


J2EE applications are made up of components.


A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components.

The J2EE specification defines the following J2EE components that run:

Application clients directly access enterprise beans running in the business tier. However, if application requirements warrant it, a J2EE application client can open an HTTP connection to establish communication with a servlet running in the Web tier.

J2EE components are written in the Java programming language and are compiled in the same way as any program in the language.

Difference with Standard Java Class: The difference between J2EE components and “standard” Java classes is that J2EE components are assembled into a J2EE application, verified to be well formed and in compliance with the J2EE specification, and deployed to production, where they are run and managed by the J2EE server.


The server and client tiers might also include components based on the JavaBeans component architecture (JavaBeans component) to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components are not considered J2EE components by the J2EE specification.

J2EE Server Communications

Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier.

An enterprise bean:

  • receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage.
  • retrieves data from storage, processes it (if necessary), and sends it back to the client program.

J2ee Architecture

A JavaBeans component is generally included in the client to manage the user input and send that input to enterprise beans running in the business tier for processing.

General Improvement

There are tons of improvements in the Java EE platform to make it easy-to-use and powerful.

Some examples:

  • Adding @Stateless on a POJO makes it an EJB
  • EJBs can be packaged in a WAR with no special packaging or deployment descriptors
  • web.xml and faces-config.xml are optional in most of the common cases
  • Typesafe dependency injection is now part of the Java EE platform
  • Add @Path on a POJO allows you to publish it as a RESTful resource
  • EJBs can be used as backing beans for Facelets-driven JSF pages providing full MVC
  • Java EE 6 WARs are known to be kilobytes in size and deployed in milliseconds

Documentation / Reference

Discover More
Obiee11g Credential Store
(Weblogic|Fusion Middelware) - Credential Store Framework (CSF)

A credential store is the repository of security data that certify the authority of entities used by Java 2, J2EE, and ADF applications. Applications can use the Credential Store, a single, consolidated...
Card Puncher Data Processing
Design Pattern - Data Access Object (DAO)

A data access object (DAO) is an object that provides an abstract interface to some type of database or persistence mechanism, providing some specific operations without exposing details of the database....
Java Conceptuel Diagram
J2EE - Class Redefinition (FastSwap)

Java EE 5 introduces the ability to redefine a class at runtime without: dropping its ClassLoader or abandoning existing instances. This allows containers to reload altered classes without disturbing...
Java Conceptuel Diagram
J2EE - Session Bean

A session bean encapsulates business logic that can be invoked programmatically by a client over local, remote, or web service client views. To access an application that is deployed on the server, the...
Card Puncher Data Processing
JPA - Entity Manager

To manage entities in your persistence application, you need to obtain an javax/persistence/EntityManagerentity manager from an javax/persistence/EntityManagerFactoryEntityManagerFactory. An javax/persistence/EntityManagerEntityManager...
Card Puncher Data Processing
JPA - Java Persistence API (JPA)

API The Java Persistence API is the Java API for the management of persistence and object/relational mapping for: Java EE and Java SE environments The Java Persistence consists of: The Java...
J2ee Server
Java - Application Server

application server in Java A J2EE Server is application server on the J2EE platform. It contains the web-tier and the business tier where the components are placed in logical container. Tier Components...
J2ee Server
Java - Container

A container is a logical part of a J2EE Server which contains java components Before any component can be executed, it must be assembled. The assembly process involves per logical container: the...
Java Conceptuel Diagram
Java - Deploy (Deployment)

In j2ee terminology the installation process is called deployment. Once a Java EE unit has been produced, it is ready to be deployed. Deployment typically involves using a platform’s deployment tool...
J2ee Architecture
Java - EJB: Enterprise Java Bean (enterprise beans)

Enterprise beans are server-side J2EE components and run on the J2EE server in their EJB container which manages their execution. (Enterprise JavaBeans component model) They handle the business logic...

Share this page:
Follow us:
Task Runner