Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Tangosol Coherence Data Grid Adds Enhanced Spring Support

Tangosol Coherence Data Grid Adds Enhanced Spring Support

Tangosol has announced Coherence Data Grid for Spring. Coherence Data Grid manages data in memory across data grids, offering scalable performance that enables automatic, dynamic and transparent reliability of data. Coherence Data Grid for Spring will enable standalone Spring applications to leverage this functionality. Spring applications may publish messages and share state across the grid. Spring application events are also no longer constrained to the scope of a single JVM, and can now work together, scaling out data and processing capacity across a data grid as well. Also from the press release:
Coherence Data Grid for Spring will feature a new type of Spring “Bean” component, the Spring Data Grid Bean. Spring Beans may be automatically and transparently managed in highly available data grids built on top of Coherence. This allows Spring Beans to break free of single-server environments and be truly scalable across a data grid. Through the use of innovative Coherence in-memory data management technology, Data Grid Beans appear and behave as if they are traditional Spring Beans, and may be may be queried, indexed, aggregated, and updated in parallel across a data grid. As data grid capacity increases, so too does the capacity of each Spring application.

In addition, Spring applications using Data Grid Beans may fail and recover, or alternatively be restarted, without the need to manually reconstruct the state of their said beans (from databases or disk), thus improving the availability and resilience of Spring applications.

InfoQ sat down with Tangosol's Brian Oliver to discuss the new product addition. Oliver was first asked about exactly what is contained in the Data Grid for Spring integration:

Fundamentally, the new Coherence Data Grid for Spring simplifies integration while providing new advanced features including:

- New element for Application Contexts.

This element will Data Grid and Cluster enable Standard Spring Application Contexts and allow them to:
a). Transparently and asynchronously publish Spring Application Events to fellow Data Grid Members.
b). Handle Data Grid events based on Spring Applications joining (starting) and leaving a Data Grid cluster.

- A new Spring Bean Scope called "datagrid" to manage Java Beans in a scalable, fault tolerant Data Grid (called Data Grid Beans)

Essentially singleton objects, Data Grid Beans are like normal Java Beans with the exception that they are managed by a Data Grid. Based on Coherence Data Grid technology, they are resilient to server and Spring Application shutdown, restart, failure and recovery.

Through the use of the new AOP injected DataGridBean interface, developers may also:
a). Register for synchronous or asynchronous event notifications of Data Grid Bean changes (in real-time), and
b). Control synchronous access (via locking) beans across a Data Grid.

More importantly, through the use of Spring AOP and Coherence Entry Processors Data Grid Beans may eliminate the high-latency "lock,get,process,put,unlock" transaction process typically experienced with existing cache-based clustering implementations when attempting to update Java Beans. In current benchmarks Data Grid Bean updates use 50% less network than standard clustered-caching approaches and likewise often experience a 2x performance increase out-of-the-box.

- A new element to allow Application Contexts direct access to underlying Coherence Data Grid caching features.

Beyond simplifying the Coherence - Spring integration, this element allows developers to provide (inject) Spring Bean Factories to instantiate Beans on cache misses, perform parallel queries, obtain continuous real-time views and perform aggregation of Data Grid Beans in a Data Grid.

Next Oliver was asked about examples of current customers finding benefits in using Spring and Coherence together.

Most of Tangosol Customers use Spring in some form. The features in the new Coherence Data Grid for Spring integration allow them to develop solutions that leverage both Coherence and Spring a way not previously possible without custom development. Driven by customer requirements from the Finance, Travel and Logistics industries, the new integration provides the next level of data management facilities (Data Grid) to Spring developers allowing them to concentrate on standard Bean-based solutions development but in massively scalable Data Grids. They can break free of the traditional clustering paradigm.
Finally InfoQ asked Oliver to explain the reasons an existing Spring architect should consider leveraging Coherence:

If you're faced with the decision to choose a technology to reliably scale-out your Spring Application, you need to look carefully at the underlying infrastructure. If your desire is to avoid master/slave patterns (that all have scalability, performance and recovery delays), single-points-of-failure and single-points-of-bottleneck (like systems based on object registries and replicating them), then Coherence is pretty much your only choice. Coherence itself, being built on a highly scalable mesh-based peer-to-peer topology, is the market leader for reliable scale out of data management where data availability and performance are mission critical.

Coupled with Spring 2.0, you'll be simplifying your development and deployment effort by adopting Coherence Data Grid for Spring. No new 'application servers' to manage. No new 'application frameworks' to adopt. Simply drop it in and start developing solutions. Together with Interface 21, we are very excited about this integration and believe we are providing real value to the market.

Rate this Article