Book Review: Professional WCF Programming by Scott Klein
This is the second Wrox book I agreed to review. You can find the book here.
Side Note: I did receive the book as a review copy from Wrox, the publisher. I have no affiliation with Barnes & Noble, beyond being a long time fan and customer.
This book covered all of the bases with WCF, and makes both a good first book, as well as providing enough material for the intermediate WCF developer. The book starts with the basic concepts, building on them, adding detail for each part of the stack. Later in the book, there are several thorough chapters on how to create custom WCF components.
The writing style was smooth, and easy to read. I think this is a result from Scott being the only author.
I always have high expectations for sample code in books. The sample code throughout the book was great. The samples were never a trivial sample. They had meat, and the scenarios made sense. This is usually one of my biggest pet peeves with books. I expect the author to put enough effort into the samples so that they tell a coherent story, and are relevant to a real world scenario. Of course, 'Hello, World!' is always the exception.
Some people complain about WCF, saying:
"WCF replaces a thousand lines of com code with a thousand lines of XML configuration."
WCF can be configured with a config file, with attributes decorating your code, or through code itself. This can make WCF daunting to a beginner. The best practices for which approach you take depends on what element you are configuring, as well as your deployment scenarios. Scott does a good job mixing these three modes up, and discussing the best practices and conventions. I think his approach makes it easier for the new learner to focus on the style that seems easier to them.
The one thing I thought the book was missing was some diagrams to help visualize the layers and components in WCF, and how they relate.
I felt the last few chapters were the most useful for me. They discuss deployment and configuration, which is critical with WCF. As I have been working with customers, they immediately want to use the TCP binary bindings for performance reasons. This is a great approach, especially when the communication is interior to your enterprise. Scott's chapter on hosting WCF services really made it clear what the different options and choices are in each scenario.
I think that WCF is the single most important technology for any .NET developer to learn in the next two years. All of the planks in the platform are awesome (Silverlight, LINQ, WPF, WF, BizTalk, etc.), but it is WCF that ties them all together. While I think developers will soon specialize in each of these planks, they will all have to at least have a basic understanding of WCF.
This book will get you there.
Comments