« Back to blog

Windows Communication Foundation - The basics

Windows Communication Foundation (WCF - formerly known as Indigo) encapsulates all previous microsoft technologies for remoting and messaging. It's layered architecture consists of a base that handles asynchronous calls and message handling and a top that handles security, transations, transport and encoding capabilities.

Tmp1f74

WCF acts as a wrapper of preceding remoting technologies like:

  • ASP.NET Web Services: The Microsoft's implementation for XML web services
  • .NET Remoting: Supports .NET to .NET tight coupled communication in favor of performance.
  • Enterprise Services: One of the oldest remoting technologies, also known as COM+ prior to introducing .NET. Part of it was DCOM and event older remoting method. Supports distributed transactions (eg. transactions among multiple databases and physical computers).
  • WSE: Web Services Enhancements. WCF supports only version 3 of WSE, a set of enhancements for handling stuff like security and routing.
  • MSMQ: Microsoft Message Queue provides guaranteed message delivery and is optimized for unreliable communications or systems that require off-line support.

Being a wrapper of all that techonologies, WCF encapsulates all possible features of them:

  • SOAP (Simple object access protocol is used to create "envelopes" for carrrying messages)
  • Plain XML and RSS (although SOAP is the main protocol for message delivery for WCF, plain XML or RSS are fully supported)
  • Binary XML, MTOM (binary representation of XML files used to transfer large files. Trades message readability and interoperability for performance)
  • WSE Features and may others...

WCF services - applications that expose services using WCF - must be hosted by a process and be ready to accept and respond to requests. These processing could be hosted by:

  • IIS : Internet Information Services provides scalability, manageability and security)
  • Windows Activation Service : Introduced with Windows Vista, is the new process activation mechanism that ships with IIS 7.0.
  • Exe : Any custom .NET executable (eg. Windows Forms or Console application) can host WCF services
  • Windows Service
  • COM+ Component

Comments (0)

Leave a comment...