IBM WebSphereTM eXtreme Scale, Release 8.6
API Specification

Package com.ibm.websphere.objectgrid.plugins.io

This package contains the plug-in interfaces and classes for building customized data serializers.

See:
          Description

Interface Summary
DataSerializer Includes methods to serialize and inflate a data objects.
DataSerializer.DataAttributeInflatable DataSerializers implement this interface to allow inflating attributes from the serialized form of a data object.
DataSerializer.Identifiable DataSerializers implement this interface to allow an alternative identity.
DataSerializer.UserReadable DataSerializers implement this optional interface to allow a customized human readable representation of a data object.
KeyDataSerializer DataSerializers implement this interface to serialize and inflate key data objects and attributes.
KeyDataSerializer.Partitionable KeyDataSerializers can implement this optional interface to use alternative partitioning scheme.
KeySerializerPlugin DataSerializer BackingMap plug-ins implement this interface to serialize and inflate key data objects and attributes.
MapSerializerPlugin Identifies how data is formatted in a map and how it is serialized.
SerializerAccessor Each BackingMap has a SerializerAccessor associated with it, which includes references to custom DataSerializers that eXtreme Scale uses to serialize, inflate and query data.
ValueDataSerializer DataSerializers implement this interface to serialize and inflate value data objects and attributes.
ValueDataSerializer.Mergeable ValueDataSerializers implement the optional Mergeable interface when it is possible that the clients or replicas in the grid may have multiple versions of the serializer.
ValueDataSerializer.Versionable ValueDataSerializers can implement the optional Versionable interface to allow high performance versioning when using in conjunction with the optimistic locking strategy.
ValueSerializerPlugin DataSerializer BackingMap plug-ins implement this interface to serialize and inflate value data objects and attributes.
 

Class Summary
BasicMapSerializerPlugin A basic implementation of a MapSerializerPlugin plug-in that can reference an arbitrary KeyDataSerializer and ValueDataSerializer.
 

Enum Summary
DataSerializer.SpecialValue Specialty values used by DataSerializer.DataAttributeInflatable.inflateDataObjectAttributes(DataObjectContext, XsDataInputStream, Object).
ValueDataSerializer.Mergeable.MergeType Used by the ValueDataSerializer.Mergeable.mergeDataObjects(DataObjectContext, XsDataInputStream, XsDataInputStream, XsDataOutputStream) method to indicate the form of the data object's merged result.
ValueDataSerializer.Versionable.VersionType The VersionType enumeration indicates the type of version information that the Versionable data serializer exports from the ValueDataSerializer.Versionable.getVersion(DataObjectContext, XsDataInputStream, XsDataOutputStream) method.
 

Package com.ibm.websphere.objectgrid.plugins.io Description

This package contains the plug-in interfaces and classes for building customized data serializers.

Overview

WebSphere eXtreme Scale allows storing data in native object form or in it's serialized form. The interfaces in this package allow for custom serialized formats to be stored in the grid, providing metadata and data access methods to allow queries and indexes to introspect portions of the serialized form of the object without requiring the object to be fully inflated.

To build a custom serializer, implement the KeySerializerPlugin and/or the ValueSerializerPlugin interfaces.

To build a custom serializer that works with the HashIndex plug-in and query, the DataSerializer implementations must build and return a DataDescriptor. The DataDescriptor is defined in the DataDescriptor class and package.

To enable eXtreme Scale to use a custom serializer plug-in:

  1. Add a MapSerializerPlugin plug-in to the backingMapPluginCollection in the ObjectGrid deployment XML file. The MapSerializer defines the KeyDataSerializer and ValueDataSerializer to use for a map, and also allows defining relationships between maps. The BasicMapSerializerPlugin can be used directly, or can be extended to add additional configuration options.
  2. Configure the BackingMap to use the COPY_TO_BYTES copy mode: copyMode="COPY_TO_BYTES"

ObjectGrid Deployment XML File Example

<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
    xmlns="http://ibm.com/ws/objectgrid/config">

    <objectGrids>
        <objectGrid name="BookstoreGrid" txTimeout="5">
            <backingMap
                name="Customer"
                pluginCollectionRef="plugin_Customer"
                copyMode="COPY_TO_BYTES"
            />
        </objectGrid>
    </objectGrids>

    <backingMapPluginCollections>
        <backingMapPluginCollection id="plugin_Customer">
            <bean id="MapSerializer"
                className="com.ibm.websphere.objectgrid.plugins.io.BasicMapSerializerPlugin">

                <property
                    name="keyDataSerializerClass"
                    type="java.lang.String"
                    value="com.ibm.websphere.samples.xs.serializer.proto.ProtoKeySerializer" />

                <property
                    name="keyProperties"
                    type="java.lang.String"
                    value="type=com.ibm.websphere.samples.xs.serializer.proto.DataObjects1$CustomerKey" />

                <property name="valueDataSerializerClass"
                    type="java.lang.String"
                    value="com.ibm.websphere.samples.xs.serializer.proto.ProtoValueSerializer" />

                <property name="valueProperties"
                    type="java.lang.String"
                    value="type=com.ibm.websphere.samples.xs.serializer.proto.DataObjects1$Customer" />
            </bean>
        </backingMapPluginCollection>
    </backingMapPluginCollections>
</objectGridConfig>


IBM WebSphereTM eXtreme Scale, Release 8.6
API Specification

© Copyright International Business Machines Corp 2005,2012. All rights reserved.