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 discussions—after 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 Indigo—now given the moniker of Windows Communication Foundation—was 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 debate—more 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.

Fast-forward just a touch more. Michele approached me about six months ago with a simple request: have a look over the chapters, and offer up any feedback I might have on the material therein. She apparently felt that I, as someone who’s been speaking and teaching about WCF almost since its inception, could not only make sure there weren’t any obvious technical errors (there weren’t), but could also help bounce around a few ideas about how best to present the vast amount of WCF material to readers. For reasons that were multifaceted, including my desire to help out someone I considered a friend, I agreed.

Turned out, I was really glad I did, and not just because I get my name in the book.

I expected the book to be well-written, and it was. I expected Michele’s explanation of WCF to be well done, and it was. What I hadn’t expected was to be drawn into it, to feel that the step-by-step lab-based approach she took was, in fact, arguably the best way to present WCF to the working programmer. Much of that is due to how she does it, in a clean, practical, no-nonsense style.

As Virgil to your Dante, Michele will walk you through WCF, from its simplest beginnings to the depths of its options, keeping one eye on what’s practical and what’s real, and avoiding the arcane or the simply weird. And should you stay with your guide through the journey, as did Dante, when you emerge, you will have seen the best WCF has to offer you—and your clients and customers—in building distributed, service-oriented communication layers.

Enjoy. When you’re done, you will be one among a very few—those who can use WCF the way it was intended.

http://www.tedneward.com

—Ted Neward

Get Learning WCF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.