I have to create a small .NET client application that will be using Exchange web service and SQL server database also. I am struggling to architect the application like in which layer I have to use web service, etc lots of arctitectural decisions. I will be helpful if anyone provides link to some getting started with .NET architecture articles.
Share
When developing applications, a “tiered” architecture is the usual approach. Whilst you can have many tiers, the three tier architecture is probably the most common.
Tier 1:
The presentation layer. This is usually a web application or WinForms/Console/WPF app.
Tier 2:
The business logic or application layer. This layer is where you keep all your classes related to the system you are building (e.g. customer, book, author, publisher classes – if making an Amazon clone) as well as any specific business or validation logic that your application might need.
Tier 3:
The data access layer. Here you will provide classes that interact directly with the database e.g. calling stored procedures, reading from tables etc.
The main principal is that each layer can only talk to the one immediately below. So the Presentation layer cannot talk to the data access layer, it must go via the Application layer. For very small applications, you might only need two tiers.
There are plenty of documents and discussions on this subject and you generally choose an architecture suitable to the particular problem.
More reading:
http://msdn.microsoft.com/en-us/library/ms973279.aspx
http://msdn.microsoft.com/en-us/library/ms973829.aspx
http://en.wikipedia.org/wiki/Multitier_architecture