Does WCF Matter to You? It Should

23. June 2006 05:11

Unless you have been living under a rock, you have probably heard of the acronym WCF that has been circulating the Microsoft media domain.  Of course, it stands for Windows Communication Foundation.  It is one of the WinFX...err .NET 3.0...subsystems that will become available with the upcoming release of Windows Vista.  Unfortunately, WCF seems to be getting a lot less press than its sibling WPF.  Let's see if we can steal some of the thunder from the UI guys. ;p

For those focused on distributed applications and service oriented archicture, WCF will present a significant advancement in your ability to deliver solutions capable of interoperability and more.  Since I am one of those guys that loves to bury myself in the nuts and bolts of distributed systems, this is of particular interest to me.  This is the first of what I hope is many, many posts about WCF.  As I continue to absorb more knowledge about the technology, I hope to share a lot of it with you here.  However, before we start getting into the details of any technology, it is always a good idea to understand why it is relevant in the first place.

Over the last few years, there have been quite a few options for the technologies used to create distributed systems.  For basic interoperability, a popular choice was ASP.NET web services (ASMX).  If both the client and server are .NET applications, .NET Remoting could potentially be the "right" choice.  For advanced options such as distributed transactions and object pooling, Enterprise Services was the logical choice.  You also have the advanced web service capabilities introduced in WSE (Web Services Enhancements), particularly around security and reliability.  On top of that, there is also MSMQ (Microsoft Message Queuing) for message-based solutions.

Those are a lot of different choices.  Don't get me wrong.  Choices aren't necessarily a bad thing.  However, it can certainly cause confusion as to which one is the best one for your situation.  In addition, the act of combining these technologies into an application can lead to additional complications.  This is where WCF comes into play. 

It will make your life extremely easier as a service oriented developer by providing a unified programming model that encapsulates all of the previously mentioned options and more.  In doing so, you can focus on the development of the service logic rather than worrying with the underlying communication protocols.  With WCF, it is a simple matter of a configuration change to switch from HTTP to TCP to MSMQ.  Of course, there is much, much more to WCF than this.  However, this is simply an introductory post to whet your appetite.

So, there you have it.  In a nutshell, those are the reasons for the importance of WCF and why it should matter to you.  Stay tuned for much. much more about WCF as I continue to examine the details of the technology.

Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.

Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn


Shared Items


Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.