Define the n-tier architecture or j2ee 3-tier?, JAVA Programming

The J2EE platform is a multi level-tiered system. A tier is a functional or logical partitioning of a system.

Each tier is given a unique responsibility in a 3-tier system. Each tier is loosely coupled and logically separated from each other, and can be distributed.

Client tier presents Web browser, an Applet or other application, Java, WAP phone etc. The client tier builds requests to the Web server who will be serving the request by either returning static content if it is require in the Web server or forwards the request to either JSP or Servlet in the application server for either dynamic or static content.

Presentation tier have the presentation logic needed to serve clients. A JSP or Servlet in the presentation tier intercepts manages logons, client requests, sessions, accesses the business services, and finally prepares a response, which sends to client.

Business tier gives the business services. This tier occupies the business logic and the business data. All the business logic data is centralized into this tier as opposed to 2-tier systems where the business logic is scattered between the backend and the front end. The benefit of having a centralized business tier is that same business logic may support different types of clients like browser, other stand- alone applications, WAP (Wireless Application Protocol) client defined in Java, C++, C# etc.

Integration tier is responsible for interacting with external resources such as ERP systems, legacy systems, databases, messaging systems like MQSeries etc. The components in this tier need J2EE, JMS, JDBC Connector Architecture (JCA) and some proprietary middleware to occupy the resource tier.

Resource tier is the external resource such as a Mainframe system, ERP system, database etc responsible for storing the data. This tier is also named as EIS (Enterprise Information System) Tier or Data Tier.