What is 3 tier archtecture ? RRS feed

  • Question

  • Many developer created two class libraries and one UI in single solution explorer and Named them as 3 tier, is it correct ?

    if suppose these three  UI ,BLL,DAL layers on different machine then it is called as 3 tier architecture then how these three layers are communicated with each other from different machines ?

    please provide a answer I am very confusing .

    Tuesday, October 22, 2013 7:38 PM

All replies

  • I think it's ok to name it that way. I don't believe there is an authentic rule of how people can categorize "tier". 

    Usually BLL and DAL are hosted on the same machine because there isn't much benefit seperating them. The DAL assembly isn't the data itself, the actual data intensive operation is conducted in the database itself (for example) which could be on a dedicated server. In such situation, the communication between BLL and DAL is just in-memory. If BLL and DAL do get seperated, in the .net world, there is always WCF as a flexible bridge.

    UI is more diverse. If it's a web based UI, ASP.NET web api could be a good choice. If it's a desktop centric application, WCF could be a better candidate.

    Cheers, Daniel

    Wednesday, October 23, 2013 1:22 AM
  •  Basically the 3 tier architecture is the categorized as BLL,DAL,UI.Out of these layers depending on your requirement you can categorize them develop them into separate stuffs and have an access to them in the UI by creating objects for them.Such a way it will help you to make the application more secure and provide and ease of use as well.

    By keeping the UI as separate you can make the changes such a way it will not affect your logics as well.

    Wednesday, October 23, 2013 6:58 AM
  • Whilst I have a lot of sympathy for the provided answers (and I've argued before that tier vs layer is now a useless distinction), strictly speaking they are incorrect. Tiers are a physically manifestation of logical layers. For example if you have an app with 3 logical layers and ran them all in your iPhone App then you'd have 3 layers and 1 tier. Equally you could have 2 logical layers and share them across 3 physical machines. To use a more familiar example, you may have a web server that contains your web ui (presentation layer), with business logic (business layer). You may then have a Database server with your Data layer. So you have a 3 layer model with 2 tiers.

    Sunday, November 3, 2013 5:05 PM