Fetch Server Exchange Step

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.

Server Exchange Step Attributes

  • Step: This attribute references the step definition within the same module to run as a server exchange step for the parent fetch.
  • Run: This attribute specifies how to run the server exchange step during a single transmit. This may be set to one of the following values:
    • Run one Time: This setting will run the server exchange step a single time for the fetch processing. This setting assumes the step needs to be executed only once to return the data for all object instances to be added or replaced during synchronization, or the step being executed is not returning data but rather is being run in support of synchronization.
    • Run Once per Object: This setting will execute the server exchange step once for each object instance in the collection that is being synchronized. This includes both those object instances sent by the Client to the Server, as well as any that may have been added by previous fetch steps.
  • Read Into: This attribute specifies the child or descendent object collection property of the target collection into which the data returned by the step should be read. This attribute has a default setting of “None”. This default means the data will not be read into a child collection but will instead be used to create object instances of the target collection. Other valid options for this attribute are any child collection properties of the target collection, or any descendent collections (e.g. collections within collections).