Foreword

Modern distributed systems are based on the principles of Service-Oriented Architecture (SOA). This type of application architecture is based on loosely coupled and interoperable services. The global acceptance of web services has changed how these application components are defined and built. They're fueled by vendor agreements on standards and proven interoperability. This combination has helped set web services apart from other integration technologies. Windows Communication Foundation (WCF) is Microsoft's unified framework for building reliable, secure, transacted, and interoperable distributed applications. WCF represents a new step in distributed programming for developers using the .NET Framework. If you are planning or currently building systems using any of today's .NET distributed technologies, you should be paying close attention to WCF and the material in this book. It's only a matter of time before all .NET-targeted code related to communications will be written using WCF.

WCF is designed to offer a manageable approach to distributed computing, broad interoperability, and direct support for service orientation. As the name suggests, WCF provides the .NET Framework with a foundation for writing code to communicate across components, applications, and systems. WCF was completely designed with service orientation in mind. It is primarily implemented as a set of classes on top of the .NET Framework common language runtime (CLR). Because it was designed to extend the .NET Framework, WCF enables developers who are building object-oriented applications today to take their existing skills and start developing service-oriented applications.

SOA is an architectural pattern that has many different styles. To support this, WCF provides a layered architecture. At the bottom layer, WCF exposes a channel architecture that provides asynchronous, untyped messages. Built on top of this are protocol facilities for secure, reliable, transacted data exchange and a broad choice of transport and encoding options. While WCF introduces a new development environment for distributed application, it is designed to interoperate with non-WCF-based applications. WCF interoperability has two important aspects: interoperability with other platforms and interoperability with the Microsoft technologies that preceded WCF.

The typed programming model or service model exposed by WCF is designed to ease the development of distributed applications and provide developers with experience in an ASP.NET web service. .NET Remoting and Enterprise Services offer a familiar development experience with WCF. The service model features a straightforward mapping of web service concepts to the types of the .NET Framework CLR. This includes a flexible and extensible mapping of messages to service implementations found in the .NET languages. WCF also provides serialization facilities that enable loose coupling and versioning. At the same time, this provides integration and interoperability with existing .NET technologies such as MSMQ, COM+, and others. The result of this technology unification is greater flexibility and significantly reduced development complexity.

To allow more than just basic communication, WCF implements web service technologies defined by the WS-* specifications. These specifications address several areas, including basic messaging, security, reliability, and transactions, as well as working with a service's metadata. Support for the WS -* protocols means that web services can easily take advantage of interoperable security, reliability, and transaction support required by businesses today. Developers can now focus on business logic and leave the underlying plumbing to WCF. WCF also provides opportunities for new messaging scenarios with support for additional transports such as TCP and Named Pipes and new channels such as the peer channel. More flexibility is also available around hosting web services. Windows Forms applications, ASP.NET applications, console applications, Windows services, and COM+ services can all easily host web service endpoints on any protocol. WCF also has many options for digitally signing and encrypting messages including support for Kerberos and X.509.

Building distributed systems using SOA is not a new concept. However, WCF represents a new paradigm in how these applications are developed using the .NET Framework 3.0. Each author has practical real-world experience in building and architecting distributed systems for a variety of customers. They also bring a wealth of knowledge and experience in their understanding of WCF and the .NET Framework. In this book they come together to present practical answers in building a good architecture, the options you have for communication, the various security concerns, and so much more.

This book doesn't merely offer genuine insight into solving real enterprise problems using WCF. It also provides extensive examples to make it easier to put these into practice. This book is definitely a great resource for application developers and architects new to SOA or just new to the core concepts of WCF. It is great to see a resource that both answers common questions and provides guidance that gets right to the point from experienced architects and developers. I hope you enjoy reading this book as much as I did and keep it close as you start building your own WCF applications.

Thom Robbins

Director, .NET Platform Marketing

Microsoft Corporation

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset