Contracts describe the operations in a service, the message exchange patterns in each operation, and the structure of each message in each operation. Contracts are categorized as Service Contracts, Data Contracts, and Message Contracts. Service Contracts describe the operations in a service. Data Contracts and Message Contracts describe the structure of each message in an operation. Data Contracts describe the body of a message, and Message Contracts describe the body and header blocks of a message. Service Contracts, Data Contracts, and Message Contracts are annotated type definitions. These annotated type definitions do nothing by themselves. Other parts of WCF’s ServiceModel layer use these annotated type definitions to build description objects. Each category of contract has a corresponding description type, and the description objects built from these description types serve as a blueprint for critical parts of the messaging infrastructure. In the next chapter, we will see how this occurs.