Three Tier Architecture
A conceptual model of constructing an application or platform with three discrete parts:
- The presentation tier, which allows users to view graphical representations of data and, typically, interact with it.
- The applications tier or logic tier, which applies processing and rules needed to make an application or platform function.
- The data layer, which controls access of stored data as well as data created or entered by users and other sources.
This model forms the basis of many modern software applications. It has become particularly useful for web-based applications since separating the functionality of each layer can allow developers to focus more precisely on logic flow and functionality within an application. Having a quasi-modular design that separates functionality can also allow for more discrete modifications or upgrades to just one component of a system without affecting the other components.
To illustrate how a three-tier architecture might typically work, let us consider the example of an online-hosted chess game.
- The base data layer stores the general rules of chess, including the movement of pieces, the arrangement and number of pieces at any given time, and the current status of a chessboard within a game on a square-by-square basis. This layer may also store game history information compiling results of games and individual moves made by players. All of this information is represented by abstract data arranged within a database.
- The applications layer uses the data to apply the rules of chess in action. It will initiate a new game of chess arranged according to a standard setup, and it will also allow only certain pieces to be moved at a time and in a certain way based on the rules of chess. It will also signify when a game is over based on these rules.
- The presentation layer shows a graphical representation of the chess game using a visual depiction of the board and all the pieces on it. A player can interact with these pieces, sending information to the applications layer that can confirm or block a move based on the rules of chess.
Diving deeper into this example architecture, the base data layer can store information from hundreds of chess games and moves. An analytics application can process all of this data to determine insights like opening moves with the highest chances of success or the optimal move given a certain board arrangement. The graphical layer can then display this information through charts, diagrams and illustrations of a chess game in action.
In this way, the three tiers can be assessed separately based upon performance, ease-of-use and overall functionality so that each one can be optimized to provide the best experience and all of the needed capabilities to the end user.