I recently used WCF big way in the project i executed. Here are the reason why i chose WCF…
3 reasons why WCF was used in Regal Iteration III
Reason 1: The carriers was supposed to be plugged in the existing architecture. Also adding, updating and deleting a carrier should be as easy as possible WITHOUT effecting any of the client using the subsystem.
Challenge 1: How to achieve high degree of loose coupling?
I Solved it using DI and service locater
Reason 2: The carriers used different APIs and data structures to communicate. FedEx uses FSMS, UPS uses XML and Roadways uses EDI documents.
Challenge 2: How to maintain homogeneity among carrier APIS which are so different.
All the carriers must implement an common Interface and must confirm to common DATA CONTRACT. As the Data contract is the what client deals with, the client is abstracted with intricacies of each client.
Reason 3: All the goodness which WCF provides out of the box along with ease of deployment.
Not to mention the TDD (test driven approch) which is eaier to follow in WCF because it automatically promotes seggreation of concern.