Tuesday, November 27, 2012

Windows Communication Foundation




  • Windows Communication Foundation (Code named Indigo) is a programming platform, runtime system and set of APIs for building, configuring and deploying network-distributed services or service-oriented applications.

  • It is unified programming model provided in .Net Framework 3.0. WCF is a combined feature of Web Service, Remoting, MSMQ and COM+.

  • WCF provides a common platform for all .NET communication.

  • Using WCF, you can send data as asynchronous messages from one service endpoint to another.

  • A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application.

  • An endpoint can be a client of a service that requests data from a service endpoint.

  • The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data.

  • WCF is designed using service oriented architecture principles to support distributed computing where services have remote consumers.

  • Clients can consume multiple services and 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-AddressingWS-Reliable Messaging 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.

  • A few sample scenarios include:

  • A secure service to process business transactions.

  • A service that supplies current data to others, such as a traffic report or other monitoring service.

  • A chat service that allows two people to communicate or exchange data in real time.

  • A dashboard application that polls one or more services for data and presents it in a logical presentation.

  • Exposing a workflow implemented using Windows Workflow Foundation as a WCF service.

  • A Silverlight application to poll a service for the latest data feeds.

  • While creating such applications was possible prior to the existence of WCF, WCF makes the development of endpoints easier than ever. In summary, WCF is designed to offer a manageable approach to creating Web services and Web service clients.