What is an N-tier application / system?
Computers in a distributed system are often connected in a tiered architecture. Each tier refers to a group or layer of computers that perform a particular task. Any tiered system, regardless of the number of tieres, is often referred to as an N-tier system. An enterprise accounting system could, for example, be based on three-tier architecture.
In a tiered computer system, each tier consists of one or more computers. Web based applications are multitier applications. Multitier applications devide functionality into separate tiers. Altough tiers can be located on the same computers, tiers of web based applications typically reside on separate computers. In the accounting system example, the bussiness logic tier consists of one server that processes invoices and other server that processs payroll. In contrast, the data storage tier consists of a single computer that runs database server software. The user interface tier consists of computers for employees who access the system. Each tier in a distributed system can interact with one or more of the other tiers. For example, the user interface tier interacts only with the bussiness logic tier, but the bussiness logic tier interacts with both the user interface and data storage tiers.
What are the advantages of tiered architecture?
The major advantage of the tiered system is that each tier is independed and can be changed or upgraded without affecting other tiers. For instance, if the user interface tier in the accounting axample is running on Macintosh computers and the organization decides to change to windows computers, the change could be accomplished without altering the bussiness logic or data storage tiers.