A 3-tier architecture is a unique client and server architecture that is split between three functions, including business services, data services and application services. A 3-tier architecture supports a graphic user interface that allows a user to interact with the graphic capabilities of a program.
The presentation tier is the top level of the system; it displays information from the other tiers to the users in a graphically pleasing way. The application tier controls the processes of the server; it takes the data pulled from the data tier and preforms processes on it that are based on the input from the presentation tier. The data tier is comprised of data storage mechanisms.
The benefits to using a 3-tier architecture include scalability, availability and performance. Scalability allows the business or presentation server to spread the presentation tier out, which allows the fulfillment of more web requests while not requiring different servers. Performance tier reduces the amount of network used which allows you to balance the work load on any tier. Availability is useful because the presentation tier can still fulfill web requests when the application tier is down.
There are limitations to 3-tier architecture, including the fact that the user must put all the data into the application tier and only view it in the presentation tier. In 3-tier, it is often used in the web development profession.