[infinispan-dev] Please review proposal for Spring Infinispan as a Spring extension

Olaf Bergner olaf.bergner at gmx.de
Fri Mar 4 12:54:36 EST 2011


I'm currently working on implementing Spring's forthcoming cache SPI for 
Infinispan, aiming to contribute the results back to Spring. Since 
Spring is unlikely to accept cache providers besides EHCache in 
spring-context itself, I originally planned on making Spring Infinispan 
a part of Spring Modules.

However, Spring Modules has been phased out, and Spring Extensions has 
taken its place. Le roi et mort, vive le roi. In order to have Spring 
Infinispan accepted as an official Spring extension I need to fill out a 
form detailing scope, purpose and benefit of the proposed extension. 
Below is my first attempt at doing so. Since this touches on how 
Infinispan will be perceived in the greater developer community, and 
since noone has yet accused me of being overly diplomatic, I herewith 
ask you to review this form and to not hesitate to offer constructive 
criticism.

Cheers,
Olaf



Extension Proposal Pack

This document is part of the Proposal pack for requesting a new 
extension. Please modify the following sections and submit back to the 
current project lead at SpringSource, or alternatively 
extensions at springsource.com
Naming
Each Extension has several names, a publicly visible name and an SVN 
name. This is actually quite an important aspect, as the name has to be 
intuitive and distinct from every other Extension.
The naming convention for the internal name is "se-xxx", if it is a .NET 
Extension, the naming convention is "se-xxx.net".

Proposed Name: Spring Infinispan

----------------------------------------------------------------------------------------------

Description and Background

What is the purpose of the Extension. What does it do, why is it needed, 
how did it evolve etc.

Description:

Spring Infinispan will primarily provide an implementation of Spring 
3.1's cache SPI, namely

* org.springframework.cache.Cache und
* org.springframework.cache.CacheManager,

backed by the high-performance distributed cache INFINISPAN: 
http://www.jboss.org/infinispan.

In addition, Spring Infinispan will offer implementations of Spring's 
FactoryBean interface for producing

* native Infinispan caches,
* native Infinispan cache managers,
* Infinispan configuration instances,
* ...

within a Spring context.

Spring Infinispan's overarching goal is to make Infinispan a good and 
well-behaved citizen is Spring land, thus

* offering Infinispan users the option to use Spring's popular 
programming model, and
* offering Spring users access to a mature, performant and actively 
maintained distributed open source cache.

----------------------------------------------------------------------------------------------

Stakeholders

Who are the main stakeholders in the Extension? It is important for the 
stakeholders to be clear to understand potential conflict of interest 
issues.

Stakeholders:

At this stage, the only stakeholders in Spring Infinispan is the 
Infinispan development community, led by Manik Surtani of Red Hat.

----------------------------------------------------------------------------------------------

Competitors/Related Projects

Who (if any) are competitors for this Extension. If there are 
competitors, why would people use this Extension instead of the competitors?

Competitors:

To the best of my and Google'd knowledge, there is no other effort 
underway to integrate Infinispan into the Spring ecosystem. And even if 
not, Spring Infinispan has the bonus of being officially supported by 
the Infinispan development community.

----------------------------------------------------------------------------------------------

Benefit to SpringSource

Why do we care about this?

SpringSource Benefit:

* According to 
http://blog.springsource.com/2011/02/23/spring-3-1-m1-caching/ is Spring 
actively encouraging contributors to implement their forthcoming cache 
SPI for as many cache providers as possible. Spring Infinispan will be 
testament to the community's positive response to this call, and may 
thus encourage other cache providers to follow suit, thereby promoting 
Spring Cache's popularity.
* Developers invested in Infinispan may find Spring an attractive 
programming model and switch to the Spring framework, thereby further 
boosting its popularity.

----------------------------------------------------------------------------------------------

Benefit to the Community

What benefit does this Extension bring to the community?

Community Benefit:

* Make a high-performance and rapidly progressing distributed cache 
accessible using the familiar Spring programming model.

----------------------------------------------------------------------------------------------

Sponsor

Every Extension must have a SpringSource sponsor. If the SpringSource 
sponsor is already known, they should be listed here.

SpringSource Sponsor:

----------------------------------------------------------------------------------------------

Roadmap

What is the expected life time for the Extension. When is the first 
release likely to happen? Try and provide a plan for the next 6-12 
months. This doesnʼt form part of the formal contract, merely your best 
intentions at this time.

Roadmap:

Spring Infinispan has a well circumscribed scope: implement Spring's 
Cache SPI and provide some helper classes to make the lifes of 
Infinispan users easier in Spring land. Therefore, it is currently 
expected that Spring Infinispan will mature rather rapidly. Once it 
supports embedded and remote Infinispan caches, its main goals will be 
achieved. Beyond that, it will depend largely on community feedback if 
and what further enhancements will be needed.

A first version supporting embedded (in-VM) Infinispan caches is likely 
to go public within the first two months after this proposal has been 
accepted.

A second version additionally supporting remote Infinispan caches should 
be available at most two months later.



More information about the infinispan-dev mailing list