I think the philosophy of Infinispan's creation was to be an open-source alternative to commercial In Memory Data Grids with write-behind capability (such as Coherence, GemFire and Gigaspaces) which can be used in XTP environments.
To some degree, yes. I would state that what you mentioned above covers a subset of Infinispan's goals.
If we wanted simple 2nd level cache without write-behind or just a group communication middle-ware we could have stayed with JBoss-Cache, EhCache, JGroups, etc.
Not quite. JBoss Cache (latest and greatest versions) scales well up to small/medium sized clusters. Infinispan aims to solve the same problems and access patterns with much larger clusters as well. EHCache (AFAIK) doesn't even scale as well as JBoss Cache, and JGroups is a very low-level networking library that can't realistically be compared with EHCache, JBoss Cache and Infinispan.
So following my questions here ( http://community.jboss.org/thread/18810?tstart=0 ) and here ( https://jira.jboss.org/jira/browse/ISPN-116 ) I am still unable to setup a correct write-behind IMDG with Infinispan; then thing that took me just a few minutes in my first experience with Coherence. I don't think that my inability to do this originates from lack of experience or unfamiliarity with the concept, since I have already worked with commercial data-grids for years, but lack of documents and maybe unnecessary complexity of implementation in Infinispan.
Now that Infinispan is close to its first GA release, can I ask its team to put just a few minutes and please let the community know what should be the correct settings of all components (for cache loader, eviction, clustering, singletonness, etc) be to mimic a true IMDG; I want to manipulate data in memory and this data be persisted to data-source with a reasonable delay. By async persistence I don't necessarily intend to be is a separate thread but to aggregate and flush hundred of changes in the past 1 minute in just one persistence operation. Similar to EDS mechanism in Gigaspaces and so on.
If such a feature does not already exist in Infinispan, then let me know and I can go ahead with my own implementation using jgroups and so.
I will take another look at the posts you mentioned, but write-behind is something we do already support. And you are right, we are sorely lacking in documentation. Expect a "Common Recipes" section on the Infinispan wiki soon with sample configs for common access patterns and use cases. Write-behind will certainly be one of them.
Amin, I've created a wiki called Write-Through And Write-Behind Caching that should clarify our offering. To sum up, I think there's been a disconnect between what you request and what we currently are offering. The wiki should clarify it. Please let us know if there's anything still unclear.