MULTI-TIER ARCHITECTURE
INTRODUCTION
In software engineering, multitier architecture (often referred to as n-tier architecture) or
multilayered architecture is a client–server architecture in which presentation, application
processing, and data management functions are physically separated. The most widespread use
of multitier architecture is the three-tier architecture.
N-tier application architecture provides a model by which developers can create flexible and
reusable applications. By segregating an application into tiers, developers acquire the option of
modifying or adding a specific layer, instead of reworking the entire application. A three-tier
architecture is typically composed of a presentation tier, a domain logic tier, and a data storage
tier.
While the concepts of layer and tier are often used interchangeably, one fairly common point of
view is that there is indeed a difference. This view holds 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. For example, a three-layer solution could
easily be deployed on a single tier, such as a personal workstation.
THREE-TIER ARCHITECTURE
Three-tier architecture is a client–server software architecture pattern in which the user
interface (presentation), functional process logic ("business rules"), computer data storage and
data access are developed and maintained as independent modules, most often on separate
platforms.
Apart from the usual advantages of modular software with well-defined interfaces, the three-
tier architecture is intended to allow any of the three tiers to be upgraded or replaced
independently in response to changes in requirements or technology. For example, a change of
operating system in the presentation tier would only affect the user interface code.
Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical
user interface, functional process logic that may consist of one or more separate modules
running on a workstation or application server, and an RDBMS on a database server or
mainframe that contains the computer data storage logic. The middle tier may be multitiered
itself (in which case the overall architecture is called an "n-tier architecture").
Presentation tier
This is the topmost level of the application. The presentation tier displays information related
to such services as browsing merchandise, purchasing and shopping cart contents. It
communicates with other tiers by which it puts out the results to the browser/client tier and all
other tiers in the network. In simple terms, it is a layer which users can access directly (such as
a web page, or an operating system's GUI).
Application tier (business logic, logic tier, or middle tier)
The logical tier is pulled out from the presentation tier and, as its own layer, it controls an
application’s functionality by performing detailed processing.
Data tier
The data tier includes the data persistence mechanisms (database servers, file shares, etc.) and
the data access layer that encapsulates the persistence mechanisms and exposes the data. The
data access layer should provide an API to the application tier that exposes methods of
managing the stored data without exposing or creating dependencies on the data storage
mechanisms. Avoiding dependencies on the storage mechanisms allows for updates or changes
without the application tier clients being affected by or even aware of the change. As with the
separation of any tier, there are costs for implementation and often costs to performance in
exchange for improved scalability and maintainability.
EXAMPLE DIAGRAMS
ACCOUNTING SYSTEM
Ref: https://smist08.wordpress.com/2010/09/11/accpacs-business-logic/