Carl Bruiners Agile / IT Development Consultant

3Apr/110

N-tier stacks only one way

N-tier is vertical only. Once I had a debate with two other very talented developers about how many layers an n-tier application can have. We discussed what number realistically could replace the 'n' part, the most common being 3-tier / layer (Presentation, business and data or model, view, controller) along with some 4-tier / layer (add in service/s). Whilst there are genuine 5+ tier / layer solutions, after 4-tiers / layers it becomes very difficult to see many more layers.

The other two developers disagreed with me on this point, arguing that tiers / layers are not only stacked vertically, but horizontally as well. As much as I could see their argument, to this day I cannot agree. Tiers / layers are vertically stacked and inside each there are objects which we work with.

N-tier vertical only

N-tier vertical only (Click to enlarge)

N-tier is vertical only. Once I had a debate with two other very talented developers about how many layers an n-tier application can have. We discussed what number realistically could replace the 'n' part, the most common being 3-tier / layer (Presentation, business and data or model, view, controller) along with some 4-tier / layer (add in service/s). Whilst there are genuine 5+ tier / layer solutions, after 4-tiers / layers it becomes very difficult to see many more layers. The other two developers disagreed with me on this point, arguing that tiers / layers are not only stacked vertically, but horizontally as well. As much as I could see their argument, to this day I cannot agree. Tiers / layers are vertically stacked and inside each there are objects which we work with.
2Apr/110

N-Tier / Layer Architecture is important

Many newbie developers often 'lump' their code together into one or two layers and find it often hard why we should use n-tier structures when developing. N-tier allows us to have clear separation between our UI, business objects and data objects.

A very recent piece of work I managed involved taking a legacy single layer model written in classic ASP and separating it out into manageable layers using .NET services. By creating a DAL and Services layer this helped the developers to deliver code at a far faster rate than the previous single layer as they did not have to 'untangle' the code they were working on and most importantly allowed quick diagnostic / resolution of problems as it was easy to identify the layer where the issue originated from.

Tiers / layers are important in application architecture.

N-Tier Architecture

N-Tier Architecture (Click to enlarge)