Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News IBM ObjectGrid Distributed Transactional Cache Available

IBM ObjectGrid Distributed Transactional Cache Available

IBM has been quietly working on ObjectGrid, a distributed cache product as part of their Websphere Extended Deployment platform. ObjectGrid however is available as a standalone product that can work in other commercial or open source appservers.  Some key differentiators include transactional access, authorized cache access via JAAS,  scalability to 100's of JVMs, etc. An evaluation version of ObjectGrid is now available from IBM (11 MB download)  which is fully functional on time-limited basis (functions for an hour after every restart).  ObjectGrid is available to WebSphere Exended Deployment and also standalone licensing.  

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.

Rate this Article