Learning WCF: A Hands-on Guide
Download - Learning WCF: A Hands-on Guide by Michele Leroux Bustamante - PDF
My entire career has been about learning and applying new technologies. It has also been about taking on new challenges related to technology and business. I enjoy learning new things,and I like to share things that I have learned through writing and public speaking. I like to help others learn challenging subjects,in particular related to building distributed enterprise systems—one of my favorite subjects. I was serious about writing another book for a few years leading up to this book,but I was waiting for something that I could get really passionate аbout: something that solved the kinds of problems that architects and developers face when they build enterprise systems; something that was worth giving up sunlight for months on end. Windows Communication Foundation (WCF) was that something.
There are many reasons why WCF excited me enough to write a book on the subject. Undoubtedly my focus on web services and interoperability is a driving factor, given that WCF has deep support for emerging web service standards (WS*) and can evolve with those standards through its extensibility. Another quality about WCF that impresses me is that it is a pure SOA platform—making the “service” artifact a first-class citizen and decoupling the development of services from downstream business components. Possibly the most compelling reason why WCF is attractive is that when you build a service,it can be used to perform classic client-server calls across process and machine boundaries on the intranet,to expose queued calls and delivery assurances,and to expose interoperable web services using the full WS* protocol stack. In short,WCF unifies earlier technology stacks,namely .NET Remoting, Enterprise Services,ASP.NET web services (ASMX),and Web Services Enhancements (WSE).
Before WCF,developers were forced to couple the distribution of functionality to a technology that would deploy that functionality. Meaning that you had to know in advance if you were deploying remote objects,serviced components,or web services because they were all represented by different constructs. I’m not sure which aspect of this is worse—that developers would have to learn possibly all three technologies in order to satisfy different communication requirements,or that developers would use whichever of the three they understood,for all communications. With WCF,
these problems go away because developers can learn a single programming model, then design services based on required contracts and decide on the required protocol requirements and policy at deployment. Furthermore,developers are shielded from the underlying plumbing and messaging protocols.
I believe that anyone designing or developing enterprise systems today should be using WCF,period. There isn’t another platform on the market today that encapsulates the value proposition of SOA,wraps the long list of WS* protocols,and provides features that can support different types of distributed communication with full support for security,transactions,delivery guarantees,and other system services. WCF is an enabler of sound system design and secure,reliable,and scalable deployments. I wrote this book to educate system designers and developers on the elegance and power of WCF,to provide recommendations for specific scenarios,to express the importance and relevance of WS* protocol support,and to help them to be productive quickly with the platform. Even more,I wrote this book for myself—because I was so excited about WCF that I wanted to dive into every nook and cranny of the platform, its underlying architecture, and its rich feature set.
In this book,I share my own deep exploration of the WCF platform,as I apply past experiences and knowledge about building large-scale,distributed and service-oriented systems to this new platform. I also include details gleaned from discussions with numerous Microsoft product team members. I worked closely with the Card-Space product team during the Beta 1 phase of .NET 3.0,where I worked directly with the underlying code base,with a special focus on federated security features,to integrate CardSpace with Portable Security Token Service (PSTS) devices. I also had direct contact with WCF team members during regular Software Design Reviews (SDRs) and through other frequent communications. In addition,the benefits of detailed Q and A sessions throughout my own journey are reflected in this book.
- CC BY-NC-SA 3.0 PH
- The author's reference is not required