Data Streamers

Data Streamer components are responsible for encoding and decoding data packets that are transmitted between server and client applications over the network. They are used in the Data Abstract framework to persist dataset data in specific formats and to facilitate its transmission over the network or storage on disks. In addition to this, data adapters are also capable of persisting data table delta information.

When a client requests data from a service, a stream containing row-sets will be transferred from the server to the client. When the client applies its updates to the remote database, another stream containing deltas of changes will then be transferred in the opposite direction.

The format in which these two streams are encoded is determined by data streamer components that the Remote Data Adapters component on the client and the Data Services on the server both need to reference.

Streamer Components

  • The Bin2DataStreamer is provided as an alternative to the obsolete BinDataStreamer and has several benefits over it, such as reduction of network traffic, integration with TDAMemDataTable (Delphi edition) and a more efficient streaming format.
  • The JsonDataStreamer, while slower and less efficient than the Bin2DataStreamer, streams data in a easy-parsable human readable JSON format which can be handy in certain cases. Basically, data values are converted to text and Binary data is passed base64-encoded.

Legacy Streamers

The BinDataStreamer was written for the first version of Data Abstract when data transfer requirements were far different from those needed today. Although it was providing fairly efficient data transfer, particularly for small loads, it is now regarded as obsolete component.

See Also