Click here to Skip to main content
15,887,442 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
what is the difference b/w N-tier archicture and N-tier layer?
Posted

People often use the two terms interchangably in that they can describe an architecture as being both multi-layered and multi-tiered. My take on it is that generally a tier refers to some physical separation while a layer is more of a logical separation.

For example, a typical web application I would say has a front end - what's displayed in the browser - and the actual application logic running on the application server, and a database. This could be referred to as 3 tiered, since there is a database server, an application server and the client machine. Just as easily, however, one may refer to the database layer, the logic layer and the presentation (or UI) layer.

Difference in layer and tier architecture[^]
http://stackoverflow.com/questions/1182303/n-tiered-vs-n-layered-architecture-design[^]
 
Share this answer
 
v2
It's a common mistake to confuse between layer an tier.
Layer is a logical layer that part of the architectural design of an application. It talks about the logical separation of different parts of the application like UI, DAL...
Tier is a physical location where code run. For example you may have a application server to run DAL and a web server to run UI.
 
Share this answer
 
N-tier is basically the physical separation of your system components, where as N-layer is logical separation of your components of a system.
Tiers- A Tier within an application simply refers to actual physical separations within your application and where your code might run (and how it might actually be deployed). You can think of Tiers as the areas where your layers will be deployed.
System split in stages of processing. Tiers can be replaced by other implementations. Example: client/server is a two-tier system. We can also say that, tiers are the physical deployment of layers.

Layers- Layers act as more logical separators that exist to separate and organize your actual code. You'll often hear terms like "Business Logic Layer", "Presentation Layer" and others. These are simply ways to organize all of the code within your application.
System split in different levels of abstractions. Visualized as a stack.
e.g
1)Presentation Layer or UI Layer
2)Business Layer or Business Logic Layer
3)Data Access Layer or Data Layer
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900