Sapna Saxena: Presented by
Sapna Saxena: Presented by
Sapna Saxena
Lecturer, CSE Department
Chitkara University
Introduction
J2EE is not the Java , that comprises of topics like
Applets, Console- mode programs, Standalone GUI,
Multithreading, Graphics, Exception-handling, String
processing, IO Streams, Java Beans in BDK, Swing etc.,
with not any real life applications for example,
DataBase access! .
But that doesn’t means that Core Java is useless. As the
name suggests, it is the core and absolutely essential .
But, Java has always been a language for the Web and
Enterprise.
The only topics that could bridge the Core and
Enterprise Java are Sockets & Beans.
The Java TM
Platform
Most of you know there are three flavors of Java - Micro Edition,
Standard Edition, and Enterprise Edition. These three flavors of Java
represent three distinct target market segments each of which has
unique issues and requirements that need to be addressed somewhat
differently.
What is J2EE?
Sun's J2EE architecture is multi tiered
architecture and it eliminates all the problems of
two-tier architecture. It also eliminates the need
of writing thin-client multithread applications,
which were earlier used to write distributed
transactional applications for the enterprise.
Thin-client multi tiered applications are very fast,
secure and reliable. But writing the thin-client
multi tiered applications are not easy and it
involves many lines of complicated code to
handle transaction and state management,
multithreading, resource pooling and other
complex low-level details.
What is J2EE?
In the JavaTM 2 Platform, Enterprise Edition
(J2EETM), low-level details are separated from
the business logic. Now the developers will
more concentrate on the business logic rather
than the low-level details. Low-level details
are managed by the application container of
the application server.
Need for Enterprise programming
A well designed enterprise application should
meet the following goals –
Robustness
Performance
Object Oriented design Principles
Avoid Complexity
Maintainable and Extensible
Easy to Test
Promote reuse
Support for the multiple client types
Portability
Advantages of J2EE
Specifically there are two major paths to develop
enterprise applications – first is .NET platform
suite by Microsoft and second J2EE by Sun. There
are lot of other companies also like BEA, IBM,
Oracle, etc. Having all these choices Java has a
great acceptance because of following advantages –
Platform Independence
Managed Objects
Reusability
Modularity
Platform Independence
Enterprise applications comprises of wide variety
of information which has to spread across many
different type of platforms.
Hence, it is essential to have a programming
language that is capable of running across the
different platforms and that is Java.
Managed Objects
The platform independent J2EE provides a
managed environment for component.
J2EE applications are container-centric.
Another important property of the J2EE
applications is the ease by which it can modify
and control the behavior of applications without
changing the codes.
Reusability
In the programming field, the code reuse is the
most important and desired feature. This can be
done by following ways –
To segregate an application’s requirements into
individual components.
To use object oriented technology to encapsulate
shared functionality.
Java uses both the ways.
Modularity
When we develop a complete server-side
application, the program get large and complex
very quickly. It is always best to break down the
application into various modules that are
individually responsible for a specific task. This
also makes the application much easier to
maintain and understand.
Enterprise Architecture Types
A software application composition can be
broken down into three logical layers –
User Interface – Presentation Layer
Processing – Business Rule Layer
Reading and Writing Data – Data Access
Layer
Single – Tier Architecture
User Interface Some applications are
Processing
developed to run on a single
Reading/Writing
Data
computer.
In these type of applications all
functionalities are embedded
with in the same layer, such as
user interface, processing,
data manipulation, etc.
Such type of architecture is
called single – tier systems.
Two – Tier Architecture
Before the invention of
it
PC’s, applications were m
b t
Su p u
In
developed to run on
mainframe based client-
D
server environment O
ut
is
pl
ay
pu
which used a “thin” t
Enterprise
Client bean
Enterprise
bean
Enterprise
Enterprise Information
bean System
Client
(RDBMS,
Client Web
ERP,
Container
Legacy
Applications)
(Servlets,
JNDI,
JSP Pages,
Client JMS,
HTML, XML)
JavaMail