1. A first computer system, comprising: at least one processing unit; and at least one system memory communicatively coupled to the at least one processing unit and comprising computer-readable instructions that when executed by the at least one processing unit perform a method of converting typed application data into a Simple Object Access Protocol (SOAP) format, the method comprising: an act of storing by the first computer system a typed data object, wherein the typed data object defines a method associated with a first portion of a distributed application, wherein the typed data object comprises: typed application data comprising at least one typed object parameter for invoking the method, wherein the at least one typed object parameter is in a format compatible with the first portion of the distributed application and with a second portion of the distributed application on a second computer system; and at least one message contract attribute of a message contract model, wherein the at least one message contract attribute annotates the typed data object such that the at least one message contract attribute is adjacent to the at least one typed object parameter, wherein the at least one message contract attribute defines a mapping between the at least one typed object parameter and a corresponding SOAP element, and wherein the at least one message contract attribute specifies a location within a SOAP envelope for inserting the corresponding SOAP element; an act of accessing the typed data object; an act of mapping the at least one typed object parameter to the corresponding SOAP element by referring to the at least one message contract attribute that annotates the accessed typed data object; an act of inserting the corresponding SOAP element into the location within the SOAP envelope in accordance with the at least one message contract attribute; and an act of transmitting the SOAP envelope to the second portion of the distributed application on the second computer system.