Java 2 Platform, Enterprise Edition (J2EE)
History :-
a. Three of these are server-side containers:
i. The server itself, which provides the J2EE runtime environment and the other two containers
ii. An EJB container to manage EJB components
iii. A Web container to manage servlets and JSP pages
b. The other two container types are client-side:
i. An application container for stand-alone GUIs, console
ii. An applet container, meaning a browser, usually with the Java Plug-in
a. The Java Database Connectivity API (JDBCTM)
b. The Java Persistence API
c. The Java EE Connector Architecture
d. The Java Transaction API (JTA)
JAVA EE TECHNOLOGIES
As java support a large collection of disparate technologies but we can divide them as per their use:-
• Component Technologies- Holds the business logic
• Services Technologies- Help the components to function efficiently
• Communication Technologies- provide communication between different parts of application irrespective of their location
In this series of blogs, we will discuss about the Advance Java Course. This is a software development technique, usually for enterprises, so as its very first name, JPE(Java Professional Edition). But Later on its versions changes year by year with more additional features.
History :-
At first: Sun focused on the Java Development Kit (JDK)". But as the need of growing industries increases day by day from last 100 years from age of manufacturing to age of the information need of industries changed drastically so sun microsystem released new specifications for “Java Extensions” which was having some special features like :-
|
And all together, sun named this ”the Java Platform for the Enterprise(JPE)” and company started writing Java Extensions for consumer’s devices.
Figure 1
But there were a lots of problems with the JPE like "Ambiguities", “Poor synchrony between Enterprise APIs”, "Moving Target", “No way to test middleware compatibility" and “No reference implementation” so company started to think upon the platform separation. They broke java into 3 parts.
- J2SE – Java Standard Edition, for the desktop/workstations- the old JDK
- J2ME – Java Micro Edition, for the consumer device
- J2EE- Java Enterprise Edition, the java platform for the Enterprises or server.
So Platform separation had provided the following benefits:-
- Fewer ambiguities
- Enterprise API synchrony
- Locked-down specification revisions
- A test suite for each edition of Java
- A reference implementation for each edition of Java
Java2 Platform, Enterprise Edition (J2EE) -"Combines a number of technologies in one architecture with a comprehensive Application Programming Model and Compatibility Test Suite for building enterprise-class server-side applications." (Source: Sun)
An Enterprise is a business organization & enterprise applications are those s/w applications that facilitate various activities in an enterprise. With the influence of internet, business organizations have realized that a whole new world has opened up to be exploited thus becoming global.
Globalization of an enterprise has opened many challenges like Efficient distributed transactions, Speed, Security, Reliability, Scalability and to face these challenges, the company sun microsystem has evolved java from a language which was developed to write simple applets or applications to a programming model that is capable of driving enterprise applications of the modern world.
This platform provides an API and runtime environment for developing and running enterprise software, including network and web services, and other large-scale, multi-tiered, scalable, reliable, and secure network applications. The platform incorporates a design based largely on modular components running on an application server. Software for Java EE is primarily developed in the Java programming language and uses XML for configuration.
Evolution of Java2EE :- this java enterprise edition modified year by year with some additional features :-
Figure 2 J2EE Evolution
J2EE Architecture :- J2EE uses a multitier architectural Model which is usually considered to be three-tiered applications because they are distributed over three different locations.
– Client machines
– the J2EE server machine
– the database or legacy machines at the back end.
The following figure shows 4 levels because it may possible the middle tier will be either distributed on two different machine ( 1. Server- side presentation layer and 2. Server side Business Logic) or on only one machine.
Figure 3 : J2EE MultiTier Model
There is another figure which represents the 3-tier architecture.
Figure 4 (a) Horizontal (b) Vertical View of J2EE 3-tier Architecture
There is 3 layer in the figure 4(a&b) :-
1) Client tier- Front end – it can be a user interface made in HTML,CSS or Javascript or any other front end scripting languages.
2) Middle tier, having Application Server or web services containers – The application server maintains control and provides services through an interface or framework known as a container. There are five defined container types in the Java EE specification:-
a. Three of these are server-side containers:
i. The server itself, which provides the J2EE runtime environment and the other two containers
ii. An EJB container to manage EJB components
iii. A Web container to manage servlets and JSP pages
b. The other two container types are client-side:
i. An application container for stand-alone GUIs, console
ii. An applet container, meaning a browser, usually with the Java Plug-in
Figure 5 :- Java EE Container Architecture
3) EIS tier, having databases, EIS(Enterprise Information System - The following Java EE technologies are used to access the EIS tier in Java EE applications:a. The Java Database Connectivity API (JDBCTM)
b. The Java Persistence API
c. The Java EE Connector Architecture
d. The Java Transaction API (JTA)
JAVA EE TECHNOLOGIES
As java support a large collection of disparate technologies but we can divide them as per their use:-
• Component Technologies- Holds the business logic
• Services Technologies- Help the components to function efficiently
• Communication Technologies- provide communication between different parts of application irrespective of their location
Components | Service | Communication |
---|---|---|
Web Components • Servlets • JSP Business Component • EJB | • JTA (Java Transaction API) • JDBC (Java database connectivity) • JNDI (Java naming directory interface) • JavaMail • JMS • JAAS (Java Authentication & Authorization Service) | Internet protocols • HTTP • TCP/IP • SSL • OMG (Object management group) Remote Object protocols • RMI and RMI-IIOP • JMS & JavaMail • Java IDL |