Windows Communication Foundation
From Wikipedia, the free encyclopedia
dot net three point windows stack diagram
This subsystem is a part of .NET Framework 3.0
The Windows Communication Foundation (WCF), previously known as Indigo, is a
runtime and a set of APIs in the .NET Framework for building connected, service-
oriented applications.[1][2]
Contents
1 The architecture
1.1 Endpoints
1.2 Behaviors
2 Interoperability
3 See also
4 References
5 Additional resources about WCF
6 External links
The architecture
WCF is a tool often used to implement and deploy a service-oriented architecture
(SOA). It is designed using service-oriented architecture principles to support
distributed computing where services have remote consumers. Clients can consume
multiple services; services can be consumed by multiple clients. Services are
loosely coupled to each other. Services typically have a WSDL interface (Web
Services Description Language) that any WCF client can use to consume the service,
regardless of which platform the service is hosted on. WCF implements many advanced
Web services (WS) standards such as WS-Addressing, WS-ReliableMessaging and WS-
Security. With the release of .NET Framework 4.0, WCF also provides RSS Syndication
Services, WS-Discovery, routing and better support for REST services.
Endpoints
A WCF client connects to WCF service via an endpoint. Each service exposes its
contract via one or more endpoints. An endpoint has an address (which is a URL
specifying where the endpoint can be accessed) and binding properties that specify
how the data will be transferred.
The mnemonic "ABC" can be used to remember address/binding/contract. Binding
specifies what communication protocols are used to access the service, whether
security mechanisms are to be used, and the like. WCF includes predefined bindings
for most common communication protocols such as SOAP over HTTP, SOAP over TCP, and
SOAP over Message Queues, etc. Interaction between WCF endpoint and client is done
using a SOAP envelope. SOAP envelopes are in simple XML form, which makes WCF
platform-independent. When a client wants to access the service via an endpoint, it
not only needs to know the contract, but it also has to adhere to the binding
specified by the endpoint. Thus, both client and server must have compatible
endpoints.
With the release of the .NET Framework 3.5 in November 2007, Microsoft released an
encoder that added support for the JSON serialization format to WCF.[3]