InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Tangosol Coherence Data Grid Adds Enhanced Spring Support

Posted by Scott Delap on Dec 05, 2006

Sections
Development,
Architecture & Design
Topics
Clustering & Caching ,
Java
Tags
Spring ,
Coherence
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.

Update posted by Cameron Purdy Posted
Re: Update posted by Co Harry Posted
Re: Update posted by Andreas Hahn Posted
  1. Back to top

    Update posted

    by Cameron Purdy

    Data Grid Beans are now available for Spring. Check out the section titled "Coherence Data Grid for Spring" on our wiki. It's got the links to the latest release and documention.

    Peace,

    Cameron Purdy
    Tangosol Coherence: The Java Data Grid

  2. Back to top

    Re: Update posted

    by Co Harry

    Hi Cameron,

    Since Tangosol is now Coherence Oracle, is this still valid?
    I'm continuously being asked a valid account for this section on the wiki (wiki.tangosol.com/display/COHSPRING10/Home).
    Is there a replacement for the link?

    Regards
    Harry

  3. Back to top

    Re: Update posted

    by Andreas Hahn

    Hi,

    fwiw shept.org also provides free open source datagrids for spring and hibernate.
    have a look and enjoy.

    Andreas

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.