With the release of Visual Studio 2008 and .NET Framework 3.5, the Windows Communications Foundation (WCF) has been extensively revamped for the new tools available in VS2008 to make it easier than ever to produce and consume web services on the Microsoft Net platform.
Essential Windows Communications Foundation For .NET Framework 3.5 has been written by three Microsoft experts from the Microsoft Technology Center in Boston. Their speciality is helping customers improve their technical skills by applying WCF and related technologies. Their goal is to help you do the same.
The intention is not for you to read cover to cover, but if you are new to WCF then you will want to study the first chapter and work with the examples. Then you can work with the following chapters as they each cover a major feature set of WCF. Essential Windows Communications Foundation For .NET Framework 3.5 is 608 pages and divided into 13 chapters and an appendix.
Chapter 1, "Basics," begins with the basics of building and consuming WCF services. The authors discuss and demonstrate how to implement different types of interfaces and why you would want to work with each. You should, by the end of this chapter be able to produce and consume services using WCF. Chapter 2, "Contracts," discusses the three primary contracts that are available via WCF. Service, data, and message contracts and how they relate to the outside world. A contract is a description of the messages that are passed to and from the service endpoints. The service endpoints are what implement the specific code.
Chapter 3, "Channels," covers channels and channel stacks. The channel model architecture is the foundation for all WCF communications between the clients and services. The channel is what all messages pass though to and from WCF applications. Channels layered together are the channel stack. Chapter 4, "Bindings," shows how to configure the communications stack to use exactly the protocols that you need. Bindings are preconfigured channel stacks and represent wire agreements between a client and a server. This chapter lists out the twelve bindings used for communications and describes the use of each.
Chapter 5, "Behaviors," explain service behaviors. In WCF these are the mechanism for affecting service operation outside of the actual message processing. That is everything that is done after a message is received but before it is sent to the service operation code. Here you will learn of the three primary types of behaviors; Service, Endpoint, and Operation. Chapter 6, "Serialization and Encoding," describes the process where the data is serialized. It describes the serialization and encoding capabilities of WCF and how you can customize and extend serialization.
Chapter 7, "Hosting," examines the options in hosting a WCF service. While IIS is the most common, there are other options. A host is responsible for the lifetime and context of a WCF service. This includes starting, stopping, as well as the basic management functions for controlling it. Chapter 8, "Security," is a complex and comprehensive chapter. It covers the concepts behind security and the practical means by which services are secured using WCF. It begins with the major concepts and works its way through the details. It focuses a lot on practical approaches for the most common problems.
Chapter 9, "Diagnostics," shows you how to use the built in trace utilities in .NET to capture WCF events. Described are trace listeners and the trace viewer along with descriptions to enable you to trace activities across service call boundaries. Chapter 10, "Exception Handling" describes how to properly handle exceptions within WCF. SOAP faults are described along with examples of how to throw and catch them to minimize errors.
Chapter 11, "Workflow Services," explains the integration points between WCF and Windows Workflow Foundation (WF). Described here is how to call WCF services from WF and how to expose workflows in WCF. Chapter 12, "Peer Networking," covers how to build client-to-client applications use no central infrastructure. This means not client/server relationship. This is the basis of technologies like instant messaging and file sharing. Examined here are the capabilities in WCF.
Chapter 13, "Programmable Web," shows how to use WCF for non-SOAP web services. Described are the new web programming capabilities in WCF that simplify the building of services on the web. Appendix, "Advanced Topics" is a catch all area for topics that did not fit in other chapters
Essential Windows Communications Foundation For .NET Framework 3.5 does a great job of covering all of the basics of WCF and then delving deeper into each major topic. They also cover the topics that are new to .NET 3.5 very thoroughly as well.
With WCF, all of the different technologies that have been developed over the years from COM+, to web services, to MSMQ, have been pulled together under one tent to form WCF. You still need to make educated choices on what to use and when to use it, but by understanding what is going on, you can make better choices. Essential Windows Communications Foundation For .NET Framework 3.5 brings together that understanding and eliminates the problems that can arise from not fully understanding the technology.
Essential Windows Communications Foundation For .NET Framework 3.5 is very well organized and easy to read. I like the way you get your feet wet by building something. Then you go down the path logically and examine each part in turn.
It is very current, truly comprehensive and it is very clear that the authors not only know what they are talking about, they live what they are talking about. I very highly recommend this book.