Last week I was talking about the 3 tier architecture with my seniors. I was saying that it has a UI tier, Business Logic Tier and Data Access tier. After I have finished, he just told me that, I am talking about 3 layered architecture, not a 3 tier architecture. Then I asked him what is the difference, he assigned me the task to make a documentation about the difference. so Here I am, Os far, I come to point that a 3 tier architecture is 1. A client in on machine, 2. The application Server is hosted in one machine 3. The database server is hosted in another machine
where 3 layer architecture(UI, BLL abd DAL) can work on same machine. My question to you, Am I correct? What is the difference according to your knowledge? Can anyone please explain?
Your explanation is right: a n-tier architecture is a physical structuring mechanism, while a n-layer architecture is a logical structuring mechanism.
While is true, for example, that a 3-tier application is (at least) a 3-layer application, a 3-layer application could have only 1 or 2 tier(s).
You can also look at these articles:
http://davidhayden.com/blog/dave/archive/2005/07/22/2401.aspx
from wikipedia:
In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client–server architecture in which the presentation, the application processing, and the data management are logically separate processes
Tiers vs Layers is both a software and hardware related difference. There's a client-server divide or a logical layering. The boundaries for either concept depend on the responsibilities of each conceptual component of the architecture. For the most wellknown example of layering, see the OSI model.
Layers are conceptual entities, and are used to separate the functionality of software system from a logical point of view; when you implement the system you organize these layers using different methods; in this condition we refer to them not as layers but as tiers.
来源:https://stackoverflow.com/questions/6978991/what-is-the-difference-between-tier-vs-layer-application