Based on their functional and non-functional requirements,
enterprise applications can be modeled in different ways. The enterprise
application models can be divided into the following three types:
2-tier architecture: In the 2-tier architecture, the
presentation and business logic of an application is loaded in the client PC.
The server acts as a data provider. The required data for a business process is
obtained from the server and processed in the client. Typical 2-tier architecture
is represented in Figure shown below.
The 2-tier architecture has the following drawbacks:
Application performance is affected due to limited resources
of the PC.
Network traffic will be greater because data required for
processing should be fetched from data source on server side.
Even a small change in business logic should be updated in
all client PCs, which could be difficult to carry out in a large enterprise.
3-tier architecture: In the 3-tier architecture the
application is divided into three different logical layers. The first tier,
referred to as the presentation layer, contains the GUI part of the
application. The middle tier, known as the application layer or business layer,
consists of the business logic of the application. The third tier or the bottom
tier, referred to as the data layer, contains data required for the application.
In a typical scenario the business and data layers are available in the server
side, whereas the presentation layer is in the client side. The Figure
illustrates the 3-tier architecture.
n-tier architecture: In the n-tier architecture the
application logic is divided based on the functionality performed. The n-tier
architecture can be divided into the following categories:
The client tier or the tier-O consists of the user
interface. It deals with the different type of clients interacting with the
application. The user may be a browser client accessing the server-side
application through a firewall or a desktop Java client accessing it from
within a firewall.
The middle tier consists of the following components.
Presentation logic: It deals with dynamic content to the
clients, user requests, and responses.
Business logic: It deals with business rules and business
processes of an application.
Infrastructure services: It provides additional functionalities
required by the application components such as messaging and transaction.
The data tier consists of the data layer which provides data
for the application.