XAP Data Modeling


Modeling your objects that are used to interact with the space.


Space Object ID
When a new object is inserted into the space, it embeds a unique ID - called the UID. The UID can be generated explicitly by the client using a unique value generated by the application business logic or using a sequencer running within the space.

Annotation based Metadata
The XAP API supports class and properties decorations with POJOs. These can be specified via annotations on the space class source itself. You can define common behavior for all class instances, and specific behavior for class fields.

XML based Metadata
Class and properties decorations for POJOs can be specified via an external xml file accompanied with the class byte code files located within the jar/war. You can define common behavior for all class instances, and specific behavior for class fields.

Storage type
To reduce the memory footprint of the objects stored in space, different storage types can be defined for individual properties of a space class. Object properties can be assigned a storage type decoration which determines how it is serialized and stored in the space.

Custom Serialization
Controlling Serialization of embedded properties.

Routing property
A partitioned space provides the ability to perform space operations against multiple spaces from a single proxy transparently. The primary goal of the partitioned space is to provide unlimited In-Memory space storage size and group objects into the same partition to speed up performance. The initial intention is to write data into the partitioned space, and route query operations based on the template data. In order to accomplish that, a routing property can be defined on the entry type.