Sunday, March 22, 2009

3-Tiered (N-Tier) Architecture

N-Tiered Architectures are something that I didn’t even know existed until I worked for Fast Enterprises.  Now I know that they are fairly common, and not as big of a revelation as I once thought. 

N-Tier or 3-Tier Architectures are a method of distributing the the load of serving any kind of content.  For a three tiered system the tiers are generally, Client, Application Server and Database Server.  For winforms, which is what I have been doing, the actual form resided on the client.  The the business logic resided on the application server and there is a separate database server that houses the data.

The general rule is that each tier should be on it’s own machine and each tier should only be able to communicate with the tiers directly above and below it.  That would mean that for a three tiered system, the client machine wouldn’t be able to access the database directly.

3-Tiered Architectures are not new at all.  There are many different implementations, even a fairly well respected one that is open source (CSLA).  They are used for most medium and large scale websites.  It helps when you consider that the web, having both Server side and Client side code is already built to be 2-tiered.  All you have to do is add a separate database server and you have your third tier.

I’ve always had somewhat of a fascination with making large coordinated things work in harmony.  Be it a group of people, a concert or a whole bunch of simultaneous computer processes, it excites me to no end.  Now I don’t really have a need to build a three tier architecture.  I don’t have a large amount of data to be processed or users to serve, but I think it would be interesting to build.  I’ll see if I can come up with a business purpose for this, but for now I’ll call it research.

My goal is to build, or install using open source a three tiered architecture.

No comments:

Post a Comment