
























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
In this document description about Java EE Application Architectures, Java EE Architectures, EJB Architecture, Distributed Multi-tiered Applications,Tiers, Allocation of Tiers to Machines.
Typology: Lecture notes
1 / 32
This page cannot be seen from the preview
Don't miss anything!

























-^
Ref:
http://java.sun.com/javaee/5/docs/tutorial/doc/
-^
-^
-^
Designing a system is complex and will involve manyparties e.g. managers, architects, designers,programmers, testers, and database experts.
-^
These architectures are typically defined using an object-oriented software development process e.g. RUP usingUML, Extreme Programming.
-^
Java EE does not typically get involved in the earlystages of developing a functional requirements spec orobject-oriented analysis.
-^
The focus of this lecture is on application architecturerather than the Enterprise wide architecture which couldalso include hardware and networking requirements etc.
-^
-^
distributed applications
platform that supports the Java EE specification.
Java EE adopts a layered approach to structuringapplications called Tiers. This helps reduce couplingbetween different parts of the system and improvemaintainability.
-^
Note that interaction should only occur between adjacentlayers.
-^
So how many layers or tiers should we have? There isno absolute right and wrong, but most designs have atleast a client tier and a business tier.
-^
Java EE multi-tiered applications and are typicallydistributed over three locations:^ – The client machines– The Java EE server machine– The database or legacy machines at the back end.
Client, Web, Business and EIS Tiers
Containers
are the interface between a component and
the low-level platform-specific functionality that supportsthe component.
-^
In order to run, a component must be assembled into amodule and deployed to its container.
-^
The container also manages non-configurable servicessuch as enterprise bean and servlet life cycles, databaseconnection resource pooling, data persistence, andaccess to the Java EE platform APIs
-^
The assembly process involves specifying containersecurity and transaction management services needed.
The Front Controller Design Pattern
-^
In the web tier, the system has to generate lots of webpages and receive requests from lots of web users.
-^
If the processing is not undertaken centrally then there isno single point for e.g. authenticating that a user isallowed to access the page they have requested.
-^
This would result in duplicate code as each page takesresponsibility to do the check itself.
-^
Navigating from one view to another will also generatespaghetti like code as pages forward queries to eachother which will be difficult to maintain.
-^
The Front Controller pattern proposes centralized accesspoint for all web page requests to manage systemservices, content retrieval, view management, andnavigation.
-^
Some of these checks are tests, resulting in a yes or noanswer that determines whether processing willcontinue.
-^
Other checks manipulate the incoming data stream intoa form suitable for processing.
-^
Solution is to create pluggable filters to process commonservices in a standard manner without requiring changesto core request processing code.
-^
The filters intercept incoming requests and outgoingresponses, allowing pre-processing and post-processing.
-^
We are able to add and remove these filtersunobtrusively, without requiring changes to our existingcode.