Keeping up with technology is a full-time job. This is especially true for Microsoft .NET developers as more and more technologies are introduced by the Redmond giant. A good example is the numerous updates to the .NET Framework with 2.0 followed by 3.0 and then 3.5. Even the most diligent developer can feel overwhelmed, so a good resource for the new technologies is a plus.
Two of O'Reilly's recent books attempt to bring you up to speed on a new technology included in .NET 3.0 called Windows Communication Foundation (WCF). Check out whether I deem either title effective.
What is WCF?
WCF is a communications infrastructure for building service-oriented applications (SOA). It is Microsoft's unified framework for rapidly building secure, reliable, transacted, and interoperable distributed applications. The key word is rapid, as the goal is to simplify development where the developer doesn't have to bother with learning .NET remoting, Web services, and so forth.
Learning WCF takes a step-by-step approach to WCF and provides an introduction to the technology from top-to-bottom. Different aspects of the technology are covered in separate chapters beginning with an introductory chapter that covers the basics of SOA and WCF. Subsequent chapters explore: contracts, bindings, hosting, instancing and concurrency, reliability, security, exceptions, and faults.
The book includes two appendices. The first provides setup information for using the example code from the book. The second appendix offers an overview of Windows CardSpace and explains how to use it with ASP.NET.
The book backs up its material with plenty of code samples, screenshots, and diagrams where necessary. In addition, several labs are sprinkled throughout the book to provide hands-on opportunities to dive into the technology.
Programming WCF Services
Programming WCF Services basically covers using WCF in a service oriented fashion. Like Learning WCF, this book begins with an introductory chapter on WCF with a focus on programming. If you need an introduction to SOA concepts, it is included in the appendix.
The book includes chapters on these topics: service contracts, data contracts, instance management, operations, faults, transactions, concurrency management, queued services, and security.
The focus of the book is SOA in practice via WCF. Each chapter explores putting the technology to use with plenty of code samples and detailed explanations of how the technology is applied. There are figures and diagrams sprinkled throughout the text to further illustrate the concepts.
Comparing the texts
There is a lot of overlap between the two books, as they both offer introductions to WCF along with explanations and examples of key concepts like contracts, bindings, security, and so forth. But the approach of both books is different.
Learning WCF provides top-to-bottom coverage of the technology, with each chapter focusing on a different piece. On the other hand, the goal of Programming WCF Services is to show you how to put the technology in action to build SOA applications. There is a ton of code in the book to address real-world scenarios.
Another major difference between the two is the depth of coverage. Programming WCF Services goes into great detail on the technology, as well as design decisions for developers. Programming WCF Services is also the bigger of the two books -- it's just over 600 pages.
When making a book recommendation, it depends on the audience and their goal. As a developer, I am more inclined to recommend Programming WCF Services over Learning WCF to my peers due to its programming detail and coverage of the technology in action. However, Learning WCF provides a great introduction to the technology as well as details on each aspect of WCF. You really can't go wrong with either book. Both texts have a suggested retail price of $44.99 USD.
What is on your recommended reading list?
What books do you recommend on .NET-related technologies? Do you know of any other texts about WCF that developers should check out? I look forward to hearing about your favorite programming reads.
Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.
---------------------------------------------------------------------------------------Get weekly .NET tips in your inbox TechRepublic's free .NET newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as Web services, ASP.NET, ADO.NET, and Visual Studio .NET. Automatically subscribe today!
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.