Building Web Services on Windows - What to use?

I came across a great post from Dan Driscoll in which he outlines which stacks are available on Windows for building web services. He is absolutely right in describing the purpose of all 4 stacks available and it worth of quoting him. Here are 4 stacks available on Windows with my comments on each of them:

  • Generic Web Services Stacks
    • Windows Communication Foundation (WCF) is for building web services and clients using managed code (C#, VB, etc). It is for developers who use managed code in developing their products
    • Windows Web Services API (WWSAPI)  is for building web services and clients in native C/C++ code and for avoiding introduction of a dependency on .Net Framework for this task.  It is for developers who prefer to or have to use native C/C++ code in their products. The goal for this API is to enable native code developers to connect their code to web services in most if not all scenarios available to managed code developers.
  • Specialized Web Services Stacks

As you can see, there is actually very fine lines between these stacks and developers who are expected to use them. Hopefully this makes this story more clear for you.