A contract is a Standard way of describing way a service can do. In the real world contract is an agreement between two or more parties about doing service or some other things. Similarly in WCF it is the agreement between the Service and Clients, through which message can be passed to and from service endpoints.
Service runtime define the behavior of the service. we can achieve through puts, reliability and performance using various WCF Service behavior techniques and handling errors. Most application differs widely in their scalability and performance strategies. WCF service behaviors provide various possible ways to configure key run time behaviors.
This layer defines what kind of formats and data exchange patterns can be used during service communication, this communication are happening through channels. Normally the channels are used to send and receive messages to and from the service endpoint. There are two parts of Channels
1) Transport Channel
2) Protocol Channel
Activation and Hosting
Once WCF service is ready to make it available to outside world service can be hosted in following types
1) In IIS
2) As Windows Activation Service
3) Self Hosting
4) Windows service
WCF is Microsoft platform for Service Oriented Architecture, enables applications to communicate whether they are on the same computer, across the Internet, or on different application platforms. In the distributed application development, we can use COM+, Web Services, Remoting, and Enterprise Services, MSMQ. All this technologies play different roles, and if we have to implement these technologies then developer have to concentrate each of these separate technologies and develop as separate solution.
But in WCF wraps all these technologies as one single Service Oriented Programming model, so that developers can concentrate on application logic rather than worrying about implementing communication protocols.
1) We can have choices in choosing the Protocol, messaging formats and process allocation.
2) Supports core Web Service standards.
3) Extensible to quickly adapt to new protocol and updates.
The basic tasks to perform are, in order:
1) Define the service contract
2) Implement the contract
3) Configure the service
4) Host the service
5) Build a client application