Friday, February 4, 2011

Introduction to WCF

Windows Communication Foundation (Code named Indigo) is a programming platform and
runtime system for building, configuring and deploying network-distributed services.
It is the latest service oriented technology; Interoperability is the fundamental
characteristics of WCF. It is unified programming model provided in .Net Framework
3.0. WCF is a combined features of Web Service, Remoting, MSMQ and COM+. WCF provides
a common platform for all .NET communication.

Below figures shows the different technology combined to form WCF.




Advantage

  1. WCF is interoperable with other services when compared to .Net Remoting,where the
    client and service have to be .Net.
  2. WCF services provide better reliability and security in compared to ASMX web services.
  3. In WCF, there is no need to make much change in code for implementing the security
    model and changing the binding. Small changes in the configuration will make your
    requirements.
  4. WCF has integrated logging mechanism, changing the configuration file settings will
    provide this functionality. In other technology developer has to write the code.

Disadvantage

Making right design for your requirement is little bit difficult. I will try to
help you on solving these difficulties in the following article.

Difference between WCF and Web service

Web service is a part of WCF. WCF offers much more flexibility and portability to develop a service when comparing to web service. Still we are having more advantages over Web service, following table provides detailed difference between them.

Features Web Service WCF
Hosting It can be hosted in IIS It can be hosted in IIS, windows activation service, Self-hosting, Windows service
Programming [WebService] attribute has to be added to the class [ServiceContraact] attribute has to be added to the class
Model [WebMethod] attribute represents the method exposed to client [OperationContract] attribute represents the method exposed to client
Operation One-way, Request- Response are the different operations supported in web service One-Way, Request-Response, Duplex are different type of operations supported in WCF
XML System.Xml.serialization name space is used for serialization System.Runtime.Serialization namespace is used for serialization
Encoding XML 1.0, MTOM(Message Transmission Optimization Mechanism), DIME, Custom XML 1.0, MTOM, Binary, Custom
Transports Can be accessed through HTTP, TCP, Custom Can be accessed through HTTP, TCP, Named pipes, MSMQ,P2P, Custom
Protocols Security Security, Reliable messaging, Transactions