Author: Nishith Pathak
Publisher: Apress, 2011
Aimed at: C# programmers specializing in WCF
Pros: SOA perspective, advanced treatment of topics
Cons: Not pragmatic
Reviewed by: Alex Armstrong
This book has a subtitle that you need to be aware of - Practical Microsoft SOA Implementation.
There are programmers who probably view WCF as just a general way of implementing web services or something very specific and not as a general architecture. The first chapter explains the idea of SOA and does a reasonable job tying up the two sets of jargon - SOA and WCF. If you don't know much about SOA then then is probably enough to give you the general idea.
The next chapter focuses in on what is new in WCF 4 - I didn't find this particularly useful as it reads like a list of features. Chapter 3 was a lot better as it started to explain the way WCF is used. Even so it isn't really suitable for the beginner. WCF can seem very tough when you first meet it with a lot of "magic" code that is essential but doesn't seem to do much. The approach of this chapter simply makes it seem more magic as examples are build up slowly and explanations are slow in coming. More motivation would help.
Part II of the book is called Programming with the WCF which is a very wide area. Chapter 4 is another basic look at WCF and here we do have a simple "hello world" level example. Next we have a look at hosting and consuming services including using Azure. The section closes with a look at management issues - including performance.
Part II is on advanced topics and here we find out about security issues, queue based communications, transactions, COM+, data, peer-to-peer and general issues of interoperability with other SOA implementation such as Java/J2EE.
Your view of this book will depend very much on what you are expecting. If you are looking for an in depth SOA book then you will think that its treatment is light but you need to keep in mind that WCF isn't really deeply influenced by the high ideals of SOA. It is a more practical service framework that you can add to programs that otherwise aren't SOA based. You will find a lot of detail on WCF but there is much repetition that doesn't really succeed in making things seem simple. It also doesn't go into much detail on REST - perhaps because it involves yet another philosophy. This may be true but REST is growing in importance.
This isn't a book for the beginner - you need to be secure in your use of C# and fairly happy about the idea of using services. If you are looking for a cookbook or a guide to WCF then this probably isn't for you either, but if you want to specialize in WCF then it makes a good addition to your library.