This protocol defines a system for locating instances of types, calling methods that are defined by those types, and performing read/write operations for properties of those types. This protocol defines two roles: protocol client and protocol server. A protocol client initiates communication by generating an OData request. The protocol client then sends that OData request to the protocol server for processing. The protocol server locates the instances of types, performs action and then returns the OData response.
Figure 1: Overview of a request/response sequence