A fetch server exchange step defines how information about the back end system’s data is processed. This definition references a step definition within the same module. This step has access to information about the target collection, as well as to any data captured in fetch properties. A server exchange step can be defined to execute once or iteratively, and can return data for an object collection.
The server exchange step definition is intended to perform one of two tasks within the exchange data model. First, it should compare information provided by the client exchange steps concerning which object instances the Client currently has and when they were retrieved to information in the back end system about when that same data was last modified or added. Second, it can then retrieve the data needed by the Client based on the differences found during this comparison. These tasks are normally accomplished by separate server exchange steps. Alternately or in addition to these definitions, the object read steps defined in the object type targeted by the fetch may retrieve data for the object instances.