I’m seen project that use N-tier with WCF. When creating a WCF project in the solution it is often called with the word “service?
The main questions:
Why and what benefit do you have when using WCF in relation to N-tier?
Which situation should be used with WCF and N-tier?
Services have no UI. They expose methods and/or entities (in the case of REST) and return results in data format (typically XML and/or JSON).
WCF is a tool for building services. You cannot build UI’s or standalone applications with it, you can only use it to write services that are then consumed by apps/UIs/other services.
There is a difference between layering and tiering, by the way. Tiering generally refers to hardware: a service tier is therefore one or more servers that run one or more services, which connect to other tiers — business logic running on other servers (“application servers”). Typically you have a UI (“Presentation”) layer, calling a service layer (a WCF service), calling a business layer or a domain model, calling a data access layer, calling one or more databases and/or user agents. All this is documented pretty well in Microsoft’s own docs, such as the Patterns & Practices Guides: http://msdn.microsoft.com/en-us/practices/bb190351