BY Sunita D. Rathod

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 30

BY

SUNITA D. RATHOD
J2EE

Objective:

- simplify development and


maintenance of enterprise applications
( B2B, B2C ).
Enterprise applications goals

• To support or advance the goals of the


organization.
• To be able to compete effectively.
• To streamline operations.
• To save or make money.
Need for J2EE
• Integration with legacy EIS.

• Reliability and confidence.

• Complexity (mission-critical) in building and


maintaining.
• Modules exist on heterogeneous environment.

• Different modules written in different languages.

• Different versions of the same software may exist.


J2EE goals
• To provide an architecture to:
• Reduce server down-time.
• Increase application scalability (raise to demands).
• Application stability (should execute as expected
without crashing without exhibiting buggy nature
or incompleteness).
• Secure (be tolerant to unauthorized access of vital
data).
• Simplicity (to enable faster development and
maintenance).
Advantages of J2EE
• Being developed and enhanced under the
ordinance of JCP, meets the real-time
requirements of enterprise application developers.
• Portable deployment – “develop once, deploy
anywhere” mantra.
• Forces to abide by three-tiered architecture and
supports n-tier.
Advantages of J2EE
• Provides infrastructure/design to enable
developers to create, distributed and
interoperable enterprise apps.
• It is a distributed, multi-tiered and component
based architecture that facilitates scalable
applications.
• Scalability of not only applications performance
but also of application development process.
What is J2EE?
• It’s a separate edition of Java optimized to meet the usage
and performance requirements of enterprise solutions.

• J2EE is J2SE + additional API’s (that provide enterprise


computing capabilities) and an execution environment for
them.

• It is designed for construction of distributed apps and is


based on MVC paradigm, a proven approach for designing
multi-tier, enterprise apps that are scalable and
maintainable.
What is J2EE?
• It is an architecture specification to provide/support
distributed, multi-tiered, component based
platform/infrastructure to enable developers to create
(develop) and deploy enterprise applications that are
secure, distributed, interoperable and scalable.

• It simplifies enterprise application development and


maintenance by basing them on standardized,
modular components, by providing a complete set of
services to those components, and by handling
details of application behavior automatically.
When do I use J2EE?
To provide fast, reliable access to corporate databases
from the Web.
To build dynamic, data-driven web applications for
large user populations that expect 24*7 availability.
To automate E-Mail or wireless communications with
partners, vendors, employees or customers.
To implement complex business logic.
When do I use J2EE?
To provide robust user
authentication/authorization for web resources
and other services.
To write applications that seamlessly integrate
data from disparate sources on multiple
platforms.
To execute distributed transactions across
multiple data stores.
Evolution of Enterprise Application
Framework

Single tier
 Two tier
 Three tier
 N- tier
About Enterprise Applications
Things that make up an enterprise application
– Presentation logic
– Business logic
– Data access logic (and data model)
– System services
The evolution of enterprise application framework
reflects
– How flexibly you want to make changes
– Where the system services are coming from
Single Tier (Mainframe-based)

Dumb terminals are directly


connected to mainframe

Centralized model (as opposed


distributed model)

Presentation, business logic, and data


access are intertwined in one
monolithic mainframe application

Eg. FOXPRO
Single-Tier : Pros & Cons
Pros:
– No client side management is required
– Data consistency is easy to achieve

Cons:
– Functionality (presentation, data model, business
logic) intertwined, difficult for updates and
maintenance and code reuse
Two-Tier

Fat clients talking to back end


database
– SQL queries sent, raw data
returned
Presentation, Business logic
and Data Model processing
logic in client application
• Client – Server systems

• Ex:- Unix, mainframes


Two-Tier : Pros & Cons
Pro:
 – DB product independence (compared to single-tier model)
 Cons:
 – Presentation, data model, business logic are intertwined
(at client side), difficult for updates and maintenance
 – Data Model is “tightly coupled” to every client: If DB
Schema changes, all clients break
 – Updates have to be deployed to all clients making System
maintenance nightmare
 – DB connection for every client, thus difficult to scale
 – Raw data transferred to client for processing causes high
network traffic
Three-Tier (RPC based)

Thinner client: business & data


model separated from
presentation
 – Business logic and data access
logic reside in middle tier server
while client handles
presentation
Middle tier server is now
required to handle system
services
 – Concurrency control,
threading, transaction, security,
persistence, multiplexing,
performance, etc.
Three-Tier (RPC based) : Pros & Cons
Pro:
– Business logic can change more flexibly than 2-tier
model
 Most business logic reside in the middle-tier server
Cons:
– Complexity is introduced in the middle-tier server
– Client and middle-tier server is more tightlycoupled
(than the three-tier object based model)
– Code is not really reusable (compared to object model
based)
N-Tier
• N-Tiered architecture: Various components that make up
the application are logically separated or distributed
across network.
• Client  Server  Server  Database
• Eg. ATM Application
Tier Architecture in J2EE
Tier Architecture in J2EE

• Front end (Client):


• Viewed and manipulated by the users.
• It can live in a Web browser or a standalone application.
• Presents customized information to clients
requirements.
• Servlets and JSP is used as Front end development.
Tier Architecture in J2EE
• Middle:
• Contains business logic Ex: Discounts.
• It may contain two sub-tiers:
• Web Tier – It handles communication to client.
• EJB Tier – It manages business logic and access to
corporate data.

• Backend (EIS):
• Provides access to various corporate data stores
(Databases, E-Mail system, Legacy systems…)
Tier Architecture in J2EE
Need for MVC

J2EE designers were faced with a question of where


to place the code in a distributed environment.
Reasonable solution: To divide the code and put
them closer to their respective tier.
This approach reminds a popular, proven 20 year
old application design pattern called MVC.
MVC is a design pattern for building maintainable
applications, introduced by Xerox researchers.
What is MVC?
• Technique aimed to make large applications
flexible/simple during development and maintenance.
• It is a design pattern for partitioning of labor into
three layers.
• The "model" is the internal workings of the program
(the algorithms), the "view" is how the user sees the
state of the model and the "controller" is how the user
changes the state or provides input.
What is MVC?

In this pattern, application flow is mediated by a


central controller that delegates requests to an
appropriate handler.
Controller is the means by which users interacts with
web application. Controller is responsible for input to
the model.
What is MVC?

Ex: A pure GUI controller accepts input from the user


and instructs the model to create a view based on that
input. If an invalid input is sent to the controller from
the view, model informs controller to direct the view
that error occurred and to tell it to try again.
MVC Example

VIEW CONTROLLER MODEL


getBalance()

Transfer()

Withdraw()

ATM Account DB
Deposit()
ATM Network
THAT’S ALL FOR TODAY

GOOD DAY

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy