Friday, 20 May 2011

Red Hat announces the Enterprise Data Grid - official support for Infinispan at last!

One of the big announcements at the recently-passed JBoss World and Red Hat Summit conference/trade show held in Boston earlier this month was the new Enterprise Data Grid, abbreviated to EDG.  I mentioned this very briefly in my JBoss World recap, but the subject deserves more in-depth comment.

Firstly, what is EDG?  It is a data grid platform, based on the open source Infinispan project (and hence the relevance on this blog).  Just as Red Hat only offers support and subscriptions for JBoss Enterprise Application Platform (EAP) and not the community JBoss Application Server (AS) for its Java EE server offering, Red Hat will only offer support and subscriptions for EDG and not the community project, Infinispan.

I'm not going to go into details on the reasons behind this - this is well documented in other areas (RHEL vs. Fedora, JBoss EAP vs. JBoss AS, etc.) - and instead I'm going to talk about the first release of EDG, labeled EDG 6.0.

EDG 6.0 - codenamed Striding Edge, after the famous ridge on Helvellyn, in England's Lake District - is based on Infinispan 5.x, and in addition to Infinispan libraries, will also contain a runtime based on EAP 6.0.  A runtime?  Does a data grid really need a runtime?  Well, sometimes, yes.  If you are running a cluster of grid nodes and intend to access this cluster from a separate application tier, over a network, then there needs to be a mechanism to bootstrap that cluster.  Some of the latest innovations in AS 7 - the magic behind EAP 6.0 - give us the ability to efficiently bootstrap an Infinispan node with relevant server endpoints configured and running.

People have been asking for official support and consultancy around Infinispan for a long while now - over two years.  We finally have this, in the form of EDG.  If you are interested in getting on to an early access programme for EDG, and gain access to alpha and beta releases of EDG, register on this website.


Another release candidate this week

We're in a period of frequent release candidates now, getting Infinispan 5.0 ever closer to a final release.  Thanks to everyone who provided excellent feedback on last week's CR2.

This week's release candidate - CR3 - fixes a number of reported bugs including ISPN-1049, ISPN-965 and ISPN-977 and others (full ChangeLog in JIRA).  Better documentation on the new fluent configuration, a wiki page on advanced Flag usage thanks to Galder, as well as better log messages to help you size tables in an RDBMS when using the JDBC CacheStore thanks to Sanne also made it in this timeframe.

And finally, a few new things - new notifications to inform you of when rehashes start and end, and a new, experimental grouping API to give you control over where entries are stored in a distributed cluster, enabling you to specify which entries get colocated together.  Pete Muir - of CDI and Seam fame - contributed this patch, we'd love your feedback on it.

As per usual, downloads are in the usual place, use the forums to provide feedback and report any issues.


Monday, 16 May 2011

Infinispan 5.0.0.CR2 "Pagoa" released

I intended to post this last week; but thanks to Google's recent outage with (and the fact that I was traversing the Crib Goch ridge in a hailstorm over the weekend), I've not been able to post this till today.

I've released 5.0.0.CR2, the latest in a series of release candidates on the steady march to a final release of the 5.0 series.

Lots of things fixed here, including some crucial bugs reported against CR1.  For a full list of changes, see JIRA.

In addition to bug fixes, we have a new module - Spring integration, contributed by Olaf Bergner - which allows you to use Infinispan as a backend to Spring 3.1's Cache API instead of the ConcurrentMap or EHCache implementations shipped with Spring.  You'd just need to include infinispan-spring.jar and configure Spring to use one of the Infinispan providers, as detailed here.  Thanks Olaf!

As per usual, please do take this out for a spin, give it a solid bashing and let us know what you think.  :-)


Tuesday, 10 May 2011

JSR 347: Data Grids for the Java platform, a call for EG members

Exciting times; today the JCP voted in a new JSR that I have proposed, JSR 347: Data Grids for the Java platform.    I blogged about the original JSR proposal, and posted a follow-up to some criticisms around the proposal some weeks ago.  The proposal, however, went ahead, was assigned a number (347!) and has just been voted in by the JCP executive committee.

Before I go into the details of 347 and my plans around it, I'd like to highlight some concerns in the community, in the area of overlap with JSR 107.

Is JSR 107 dead?
No.  In very recent months, there has been a flurry of activity in JSR 107.  Activity which I am a part of, and hope will drive 107 to completion.

Does JSR 107 compete with JSR 347?
No.  JSR 347 aims to build upon JSR 107.  JSR 107's goals is to provide a temporary caching API for the Java SE platform.  JSR 347 plans to reuse JSR 107's APIs, adding additional features such as an asynchronous API, as well as defining mandatory characteristics such as behaviour with XA/JTA transactions and distributed workloads, thus targeting the Java EE platform.

Will JSR 347 retard the progress of JSR 107?
No.  If anything, JSR 347's need for JSR 107 to complete will add impetus to the JSR 107 effort.

I sincerely hope the existing expert group of JSR 107 (of which I am a member) can and will work well with (and join!) the nascent expert group of JSR 347, to drive both JSRs to successful completion.

Now onto next steps with JSR 347: forming an expert group to put together an early draft.  I would like to open invitations to join the expert group, please sign up on the JCP website.

With regards to process, with my background in open source and working with distributed teams, I intend this JSR to be developed in the public, making use of public mailing lists, public IRC channels and the like.
I've even set up a twitter account for JSR 347 so people interested in its progress may follow it!


Monday, 9 May 2011

JBoss World and JUDCon 2011 recap

So I finally get to recap on JUDCon in Boston and JBoss World/Red Hat Summit from last week.  And wow what a week it was too; I work with some brilliant minds.  Massively inspiring and innovative people.

JUDCon started well, at the World Trade Centre in Boston.  With over 200 people attending, it was the largest JUDCon we've ever done, with three parallel tracks of some of the coolest tech, many by non-Red Hat employees.  With regards to Infinispan, Mircea did a deep-dive covering how Infinispan works "under the hood".  Sanne did a talk on advanced querying across a data grid, including making use of map/reduce techniques.  I delivered a talk specifically on map/reduce and distributed code execution across Infinispan nodes - a talk I delivered on behalf of Vladimir as he sadly couldn't make the event due to personal reasons.  The first day ended in a pizza-and-beer-fuelled hackathon that went on till 2am.  Hopefully this will give you an idea of what JUDCon is all about, including the quality and focus of talks, and whet your appetite - make you want to attend the next such event.  :-)  Trust me, for techies, there's no better way of immersing yourself in it.

And then there was JBoss World.  As many in the industry keeps saying, JBoss has got its mojo back.  Coolness reminiscent of Marc Fleury's early bad-boy JBoss - a poke in the eye of establishment, disruptive and brazen, JBoss has gone back to its roots.  Craig Muzilla talked numbers and new products, Mark Little talked about his vision of ubiquitous computing and JBoss Everywhere, and then the much tweeted, much talked-about demo started.  Many said we were nuts to try and pull off a live demo of such scale and complexity - let me put it this way, we had no backup.  :-) I'm not going to spoil the demo for you, a recording of the keynote including the demo is here (the demo starts 39 minutes into the video).

Demos aside, JBoss World/Summit was an excellent event.  The biggest of its kind to date, I presented on use cases and design patterns involving Infinispan, Bela spoke about geographic failover (click on the JBoss World tab for the video).  Sanne and Emmanuel talked about Hibernate OGM, the ultra-cool JPA layer over Infinispan that so many people want to get their hands on.  Craig Bomba from CBOE - the largest options exchange in the world - talked about going live with Infinispan, stressing on keeping close to the community, participating and being "good open source citizens".  Something we all applaud.

But for many folks, the biggest thing was the announcement of the JBoss Enterprise Data Grid platform.  A fully supported data grid, based on Infinispan.  This enables users to buy production support, consultancy and training around Infinispan.  The announcement even made its way to the Wall Street Journal, among many other illustrious publications!

So now with all the adrenalin - and old-fashioneds at our favourite bar, Drink - of last week behind me, it's time to focus on getting Infinispan 5.0 into a stable state and cutting what will be the fastest, most feature-rich and ultimately usable Infinispan release ever.  Watch this space.