This short primer introduces you to the fundamentals of Windows Communication Foundation (WCF), Microsoft's new, unified programming model for service-oriented applications. WCF first shipped with Microsoft .NET Framework v3 and is included with Windows Server 2008. It shares several components with IIS 7.0, including the ability to be hosted by IIS 7.0, though not necessarily exposed over HTTP.
Traditionally, applications have been object-oriented (see Figure C-1). In this model, a set of classes provides a template for objects. An application creates instances of these classes (known as object instances) at run time. These objects expose interfaces, methods, and properties that allow other objects to manipulate them. A program written in such a way is generally said to be "tightly coupled" because each object (whether running on a single machine or across multiple machines) needs to understand the "types" (for example, strings, integers, and other object types) that are being passed to it. Implementing such a consistent type system can be difficult across multiple platforms and technologies.
Figure C.1. Figure C-1
In contrast, service-oriented programming involves a set of discrete services that interact with each other via messages (see Figure C-2). The services do not need to share a common type system. Instead, each service shares ...