Giuseppe Corti
Hi Richard,
The data model of Lightstreamer is based on items, which are made up of a set of fields. A Data Adapter can inject whatever fields it want for any item and each client can subscribe to the subset of fields it needs. Lightstreamer applies many optimization mechanisms based on fields, such as: delta delivery (for any given subscription of a client, only the actually changed fields are sent) and conflation (taking the latest fields from multiple updates and conflate them into a single update).
This means that using the granularity of a field, ie. letting each field has a basic value (number or string), helps improve things a lot. But each field has a free syntax and semantics.
Nevertheless, you can use a field even to store complex objects like XML, JSON or any other object you can achieve via any serialization mechanism.
Your Data Adapter can serialize a Java object into a field, and your client can deserialize it into a JavaScript object. In case of a binary encoding, you will need to use Base64 on both end to get strings.
Hope that helps.
Giuseppe