David Gristwood's Blog

Azure, Azure, Azure

Getting up and going with Windows Communication Foundation (WCF, aka "Indigo")

I have just been reading Aaron Skonnard’s excellent new article on WCF entitled “Learn The ABCs Of Programming Windows Communication Foundation“. There are lots of articles out there on WCF, but this is probably one of the best written and most concise summaries. If you can read and inwardly digest this (as my teachers used to say), then you have all the basics knowledge needed to get up and going.


If you haven’t taken a look at WCF, now is a great time to check it out.

The latest version of WCF can be found in the January CTP. Apart from the technical changes that have been happening based on the feedback from the early CTPs, the other interesting thing about this January CTP is the Go-Live licence for WCF which means you can consider using WCF in a live operating environment, something that you normally can’t do with beta software (and without this level of support, probably wouldn’t want to!)


WCF is all about making web services, and thus in turn, service oriented architectures, a reality. Most architects and systems designers these days have generally bought in to the idea of web services as a way of hooking systems together (if you haven’t, then you desperately need to do some extra reading on this subject). Some people still associate webs services with IIS and HTTP, and whilst that remain one of the most common transports, WCF can work with a wide variety of protocols and encoding schemes. So you can use TCP with binary encoding to do fast communications between different tiers of your system without the need to write your own socket code. Check out the section in Aaron Skonnard’s article on Bindings for more information and the WCF Technology samples in the SDK (once you have installed the SDK as part of the Jan CTP).


One of the other very nice features of WCF is the way all the protocol, binding and other infrastructure ‘goop’ is not part of the code, but removed to a separate configuration file. This means not only can WCF web service be re-configured on the fly, without recompilation, but the actual code remains clean and readable.


Finally, if you are looking for more information on WCF, check out the new community site http://windowscommunication.net/