views:

291

answers:

3

Hi What are these in Java EE .Presentation Tier .Business Tier .Integration Tier

I like to know what are these patterns with example

+6  A: 
  • Presentation tier: what the users see, typically a web application.
  • Business tier: where all the logic for your application is performed.
  • Integration tier: what connects the system to other systems (through database connections, JMS, web services, etc).
Kaleb Brasee
A web application, in many cases, includes the business tier.
Ralph Stevens
A: 

Examples:

Presentation tier: JSPs, Servlets;
Business tier: Java classes for connection to databases, EJB;
Integration tier: SOAP, REST Web services

Ralph Stevens
+2  A: 

Mulit-tier architecture, or n-tier architecture, is an architecture style in which the different responsibilities of an application are broken up into distinct tiers, typically:

  • The presentation tier for user interface generation and lightweight validation.
  • The business tier for heavyweight processing, validation, business rules, workflow and interfaces to external systems.
  • The integration tier for data transformation and persistence services.

The rationale behind n-tier architecture is better Separation of Concerns (SoC) and low coupling. This allows better scalability as each tier can be separated onto different computer systems distributing the processing load.

Note that tier may have different meanings for different people: one hardware oriented (physical), the other software oriented (logical). Personally, I think that there is indeed a difference and prefer to use the term "layer" for the logical view. This is reminded in mulit-tier architecture on wikipedia:

The concepts of layer and tier are often used interchangeably. However, one fairly common point of view is that there is indeed a difference, and that a layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure.

Actually, multi-tier architectures have been highly promoted by hardware vendors (Sun, I'm looking at you) as more tiers = more machines, despite the consequences on the complexity and the productivity. So please, don't follow the Core J2EE patterns to the letter, you don't need all the patterns unless you want to build a Rube Goldberg machine.

Pascal Thivent