Use the DataSerializer
plug-ins to efficiently store arbitrary data in WebSphere eXtreme
Scale so that existing product APIs can efficiently interact with
your data.
Serialization methods such as Java serialization and the ObjectTransformer
plug-in allow data to be marshalled over the network. In addition,
when you use these serialization options with the COPY_TO_BYTES copy
mode, moving data between clients and servers becomes less expensive
and performance is improved. However, these options do not solve the
following issues that can exist:
- Keys are not stored in bytes; they are still Java objects.
- Server-side code must still inflate the object; for example, query
and index still use reflection and must inflate the object. Additionally,
agents, listeners, and plug-ins still need the object form.
- Classes still need to be in the server classpath.
- Data is still in Java serialization form (ObjectOutputStream).
The DataSerializer plug-ins introduce an efficient way of solving
these problems. Specifically, the DataSerializer plug-in gives you
a way to describe your serialization format, or byte array, to WebSphere
eXtreme Scale so that the product can interrogate the byte array without
requiring a specific object format. The public DataSerializer plug-in
classes and interfaces are in the package, com.ibm.websphere.objectgrid.plugins.io.
For more information, refer to the
API documentation.
Important: Entity Java objects are not stored directly
into the BackingMaps when you use the EntityManager API. The EntityManager
API converts the entity object to Tuple objects. Entity maps are automatically
associated with a highly optimized ObjectTransformer. Whenever the
ObjectMap API or EntityManager API is used to interact with entity
maps, the ObjectTransformer entity is invoked. Therefore, when you
use entities, no work is required for serialization because the product
automatically completes this process for you.