Monday, July 30, 2007

* Windows Communication Foundation (WCF) : An Overview

Previous Post <<- Getting Ready for WCF

With this post I am starting a series on WCF where I will cover various aspects of WCF, including lots of step by step tutorials.

Here are few general direct/abstract facts about WCF :

  • Windows Communication Foundation (WCF), formerly code-named "Indigo", is a new distributed messaging based platform released as part of the .NET Framework 3.0.
  • WCF is a development platform for building service-oriented, loosely coupled and interoperable applications.
  • It is the technology platform on windows to enable applications so that they can communicate with each other in various formats, protocols and with various levels of coupling. It also enables windows based applications to expose/consume standard based interfaces across other platforms in form of web services.
  • For developers, WCF unifies the programming model for following existing technologies : COM+, MSMQ, ASP.NET Web Services & .NET Remoting
  • The core WCF functionality comes as part of assembly System.ServiceModel which is shipped with .NET 3.0. This assembly is dependant on .NET 2.0 for BCL. So effectively .NET 3.0 is .NET 2.0 + WCF + others.
  • Some of the environments currently available for hosting WCF services are : Self Hosting using Console Application, Windows Service, IIS 5.1, 6.0, 7.0 and Windows Activation Service.
  • Development of WCF based services can be done independent of the environment in which they will be hosted like IIS, Windows Service etc. and on which protocol they are going to communicate.
  • It uses schemas and contracts instead of classes & types to define and implement communication.
  • WCF services expose endpoints that clients and services use to exchange messages. Each endpoint consists of an address, a binding, and a contract.
  • The main three elements of WCF architecture are : Address, Binding & Contract.
  • Address : It specifies where service is located and format is network protocol specific e.g. http or tcp.
  • Binding : It specifies transport protocol, security requirements & message encoding to be used by client & service for communication.
  • Contract : It defines what the service can do. WCF service publish multiple types of contracts like service contract, message contract, data contract etc.

For more detailed Overview of WCF pls read : Windows Communication Foundation (WCF) - A Primer

If you are planning to develop on WCF pls read Getting Ready for WCF for getting the development environment ready.

Next Post ->> WCF : Developing a basic WCF Client and Service

No comments:

Post a Comment