WCF

WCF is a communication platform

The Windows Communication Foundation – abbreviated as WCF – is a service-oriented communication platform for distributed applications, a class library (managed library) for the development of service-based distributed applications with the programming language .NET. WCF allows for the creation of communication applications for the remote procedure call of code and application interconnection. It brings together many network functions and provides them standardised for the developers of such applications. WCF has existed since .NET Framework 3.0 and was updated in each new release. Its former code name was Indigo as a part of the Windows Framework (WinFX). The platform is automatically installed by installing the .NET Framework.

Since .NET 3.0, WCF has the possibility to unite the communication between .NET applications and cross-platform communication. The library has not only ensured that there are no longer only two fundamentally different approaches for these two communication cases, but that you can change or offer an application parallel without recompiling between the two.

WCF has five main characteristics: its various aspects of distributed communication (interface, implementation, communication protocol, infrastructure services, hosting) are easy to be logically separated. And it does not prescribe any protocols and formats, but allows the user to create a communication channel out of various protocols and formats. In addition, there is support for cross-platform protocols and formats such as W3C as well as for proprietary protocols and formats from the .NET world. In addition, the form of communication can be modified without recompiling a service.

WCF brings together network functions

WCF provides offers in numerous categories from which the user can assemble an individual communication channel. WCF provides many freely combinable functions like authentication, encryption, authorisation, integrity, reliability transactions and message queues for the communication between processes or systems. The transmission protocol and the serialisation format can be selected like in .NET remoting. You simply choose a transfer protocol (such as HTTP, TCP, Named Pipes, UDP, SMT, MSMQ) and a serialisation format (like SOAP, MTOM, ATOM, JSON, RSS or a proprietary binary format), as well as optional standards like authentication, integrity and reliability like WS-Security, WS-Policy, WS-SecurityPolicy, WS-Trust, WS-SecureConversation, WS-Addressing, WS-Federation, WS-ReliableMessaging and WS-AtomicTransactions. The outstanding characteristic of WCF is that the developer at the time of development does not need to be establish on a combination of the possibilities mentioned above, but can be changed by modifying the configuration files during the operation period and even through the user’s settings as run time. As well, an endpoint in WCF can communication with clients at the same time in different ways (such as TCP/bin and HTTP/SOAP).

Third-party providers can supplement more protocols and formats

A WCF service has one or more endpoints with different properties: the address consists of a URL with protocol, path and port. The contract defines the actual operations offered by the service. In the binding the protocols and formats to be used for the communication are set.

You can find more information on WCF on Wikipedia: https://en.wikipedia.org/wiki/Windows_Communication_Foundation and on the Microsoft, the manufacturer’s website: https://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx