WCF is formerly known as the code “Indigo” is the first
Unified Programming Model (UPM) for Service Oriented Applications (SOA). It is
the unification of the technologies used to deliver distributed systems such as
Enterprise Services, Messaging, .NET remoting, ASMX and WSE that run on the
Microsoft platform. In other words, Windows Communication Foundation is an
advanced technology to provide web services/remoting functionality with better
features and reduces the time to develop a distributed system. It makes
development interoperable with Non-MS Platform and integrates with existing
products. We can build amazing services that would add more weight using WCF. WCF
uses SOAP messages for communication between two processes. WCF has a set of
API's for creating systems that send messages between services and clients. The
same API's are used to create applications that communicate with other
applications on the same system or on a system that resides in another company.
Core components
Here is a list of core components in WF.
1. End Point: A WCF service is exposed to the world as a
collection of endpoints. It is the point where messages are sent or received.
It consists of Address, Binding and Contract.
Address: End point consists of location
where message can be sent/received. This is equivalent to a service address in
WSDL. An example of Address components are URI, Identity & Headers.
Binding: This is a communication
mechanism that describes how messages can be sent. This represents
configuration. It is made up of various binding elements like Transport
protocol, such as TCP, HTTP, MSMQ, named pipes, Encoding such as text, Message
Transmission Optimization Mechanism such as MTOM, binary, and security like
asymmetric, symmetric and transport.
Contract: It is a definition for a
set of messages that can be sent or received (or both) at the address that
describes what message can be sent. It describes the WCF contracts and their
operations like One way, request/reply, duplex, and queuing.
2. Channel: A channel is a concrete implementation of a
binding element. The channel is the implementation associated with that configuration.
3. Client: A program that exchanges messages with one or
more endpoints using channels.
4. Service: A service is a construct that exposes one or
more endpoints, with each endpoint exposing one or more service operations.
5. Behavior: A behavior is a component that controls various
run-time aspects of a service, an endpoint, a particular operation, or a
client.
·
WCF has rich communication capabilities.
·
WCF is 25%—50% faster than ASP.NET Web Services and approximately
25% faster than .NET Remoting.
·
It is secured, Confidential in keeping messages.
·
Using WCF message transfer is reliable.