A Note Regarding Supplemental Files
Supplemental files and examples for this book can be found at http://examples.oreilly.com/9780596101626/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.
All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, weve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to .
Forewords
Hi, I'm Steve Swartz. Michele asked me to write the foreword for her new book, Learning WCF , because I was one of the two breadth architects for WCF V1. That shows how easy it is to be overimpressed by a title. I am just a pawn in the game of software development. The architect who conceived of WCF and guided our team's technical work was Brad Lovering, our division's Technical Fellow. The architect who designed and implemented the core of WCF was Eric Christensen, one of our division's Distinguished Engineers. Breadth architects like Steve Millet and me were responsible for shaping the parts of WCF into a coherent whole. Each of the parts of WCF was guided by a depth architect and built out by a team of developers, product managers, testers, and documentation engineers. How well you know any one of these 200-plus people has nothing to do with their relative technical impact on WCF. The plain truth is, most Microsoft product team people don't get out much. We're a shy bunch overall. The ones you end up knowing are simply the ones who are outgoing enough to become involved with community.
Microsoft product teams think a lot about community. I haven't counted, personally, but I'm sure the WCF team alone had several million active customers as we developed WCF: people using COM, DCOM, COM+, and MSMQ; people using ASMX, .NET Remoting, Enterprise Services, and System.Messaging; people using WSE; and people using early releases of WCF. Try as we might, it turns out to be impossible to interact with all these people and do our day jobs at the same time. Our strategy, instead, is to spend a lot of time with a core group of influential members of the community, and count on them to pass that knowledge along to the rest of you. We spend time with our RDs, the Microsoft "Regional Directors," professionals around the world who have established good relationships with both the Microsoft employees and the developer community in their areas. We spend time with our MVPs, the Microsoft "Most Valuable Professionals," the best, brightest, and most active people in the community. Most profoundly, we spend time with the WCF Digerati, a secret society of the ten or twenty wisest and most dapper customers on the planet.
Since I was the first person on the product team to recognize the existence of the WCF Digerati, I'm in a good position to tell you more about this mysterious bunch. The full membership of the WCF Digerati is not known, even to the management of the WCF team. Those who claim to be Digerati often are not; those who are silent on the subject often are. Official lists, when they exist at all, are misleading. It's true that you can tell a Digerati because they hold one of the WCF Staffs of Power because they know the Dance of the Seven Channels, and because they have had the Service Oriented Mandala tattooed onto an unmentionable part of their bodies. But these are all secret signs hidden even from their friends and families. The rest of us have to examine more subtle signs: the contacts in industry, the activity in the community, the speaking at conferences, the trips to Redmond, the publications.
Which brings me around to my point. In your hands (or on your computer, or in whatever other form you've found), you are holding a book that was written by a person who is an MVP and an RD and (I dare reveal to you now) a member of the WCF Digerati. You are holding a book written by someone with the rich practical experience, the excellent communication skills, and the deep connection to the product team you would expect of a Digerati. That makes for a great book, which is what this is. The only thing that could improve this book is if it included a life-size poster of Michele herself. Absent that, this book is a gateway into the realm of WCF expertise. Buy it. Take it home. Profit from it. If you are ever to have the Service Oriented Mandala tattooed onto an unmentionable part of your body, you will look back at that painful moment and realize that reading this book was one of the springboards that sent you on your way. You will be grateful.
Architect, Connected Systems Division ,
Microsoft Corporation
Steve Swartz
At TechEd 2004 in San Diego, I was privileged to be among a handful of non-Microsoft employees who were introduced to a new, very hush-hush technology code-named Indigo. It was to be a complete reinvention of distributed programming on the Microsoft platform, part of a suite of managed technologies that would ship at some distant point in the future. We sat through a few lectures (punctuated by questions and discussionsafter all, this group could hardly just sit back and not comment on things we felt weren't quite sound decisions), did a few code examples, ate some catered food, drank a lot of soda, then we trudged back to the here-and-now that TechEd focuses on.
Fast-forward about twelve months. Indigo was released to the world as a Community Tech Preview. I was sitting around a table with other speakers at a conference in Amsterdam, and one of those speakers (who later joined Microsoft) leaned over to me and complained bitterly that Indigonow given the moniker of Windows Communication Foundationwas too easy, that it would represent a bad thing for those of us who did articles and books and training for a living. I can clearly remember thinking, "No, I don't think so," but at the time there was no time to debatemore beer was being served.
Fast-forward a bit more. Vista was announced, and with it the release of what was then called "NetFX3," now christened the .NET Framework 3.0. Indigo and her sister technologies were given named by the folks in Marketing at Microsoft: Indigo was called Windows Communication Foundation or WCF, Avalon was called Windows Presentation Foundation or WPF, and WinOE was called Windows Workflow Foundation, or WWF, leaving many developers to scratch their head and wonder, "WTF?"
Windows Communication Foundation represents something of a quandary to the trainer or presenter: conceptually, WCF is a simple technology, with its emphasis on the "ABCs" of endpoints: Addresses, Bindings, and Contracts. What makes WCF so infernally intimidating is the huge number of details that go along with those concepts. There are a near-infinite number of possible combinations of contract and binding options that can be applied to a given endpoint, and each of them has implications about that endpoint's usage and availability, not to mention the implications about the options in combination with one another. By the time a prospective WCF user finishes just a cursory overview of the System.ServiceModel
namespace, the sheer number of classes is usually enough to frighten off the timid or faint-of-heart.