Service is something which is consumed by clients. For consuming the service it need to be accessed and used by outside world. So any service need to be exposed to the outside applications to access and consume.
As explained in my previous article What Is WCF , WCF service can be used in place of all its predecessors since it can communicate over any protocol and can interact with various sort of applications. But how is it made possible?
WCF service provides a collection of end points which describes the location (Address), Communication mechanism (Binding) and the data types and interfaces(Contract).These are easily configurable to work over any sort of protocol and message formats. Same service can be configured to work for multiple bindings. Same service can be hosted in multiple application types.
Single service, multiple endpoints and multiple bindings - this flexible nature of WCF made it the suitable platform for service oriented architecture.
Address, Binding and Contract, together called ABC of a service. When we say end points of a service it is nothing but ABC, which decided the accessibility options and capabilities of the service.
Address specifies the location (URI) where in a service will be available. Clients can use this URI location to access the WCF service. Address is the first thing to be known to a client for accessing a service. Service which declares a URI as it address should host the service in that location and the service should be in running condition so that clients can get access of the service.
Binding is the one which defines the possible communication mechanisms available for the service and how the WCF handles the communication. With binding information available clients can understand the protocols, communication modes, message format supports, message encoding etc. provided in the service.
Contract is all about the functionalities the service provides to the outside world. Contract defines the publicly exposed data and interfaces of the WCF service. Operation (functionalities) contracts are defines in the service interface. Any client of the service can avail the service provided contracts (features and data types).
So ABC of the service, decides where the service located, How the communication and What all operations the service can perform.