ObjectGrid can be used in a peer to peer fashion or a multi-tier where an ObjectGrid server coordinates with front-end JVMs to move data around. The interface into ObjectGrid is the Map based like most similar products (except Terracotta which clusters at the JVM level); the ObjectMap interface has insert/get/update/remove/invalidate verbs as well as access to indexes for queries. "But, we don't endorse the Java Map API for caches as it's not suitable and has many issues. Our ObjectMap interface is similar to be Map but doesn't extend it. We provide limited Java Map support using a helper class available on the ObjectMap", Billy Newport (Websphere XD lead) mentioned to InfoQ.
On the advanced features of ObjectGrid, Billy said:
It offers full support for map partitioning and replication. It offers full integration with Spring from a configuration point of view. It offers an open architecture for all advanced capabilities. There are plugin points for all extension points. Open source projects such as Jofti have mentioned that ObjectGrid is the only cache product with builtin integration hooks for third party indexing. It includes a servlet 2.3 filter which allows HTTP sessions to be persisted to an ObjectGrid cluster using affinity or no affinity. Full distributed locking is supported. It leverages the HAManager from WebSphere 6.0 even in standalone mode. It allows recoverable cache preloading which is important when a JVM loading gigabytes of data fails at 99% completion. The backup process can resume from 99% instead of restarting from scratch. It was designed from the ground up for security and can integrate with any security system for both authentication as well as authorization. We support builtin indexing of data held in the cache using advanced optimistic algorithms which ensure high performance in the presence of R/W transactions. It offers a true client/grid model where clients can have a local ObjectGrid which pulls/pushes from a grid which is shared between clients. This offers support for thousands of clients if necessary.