However, my view is that if enterprise Java is going to segue to anywhere, it won’t be toward another framework—whether Spring, Grails or any of the third-party products. Rather, I believe the change will be driven by the needs of the cloud; that is, the need for small-footprint solutions that can be replicated in numerous instances and wired together to provide the core enterprise services.

VMware, which views itself as the driver of cloud technologies, is seeing things the same way. It purchased SpringSource (the company behind Spring) and has been figuring out how to leverage it in the cloud. At the moment, though, its focus is on a series of integrated products called vFabric, which includes a commercial version of Tomcat, a messaging layer from RabbitMQ, the GemFire database, a load-balancing product, and Hyperic’s system management product.

For this approach to truly scale, there must be a data fabric that can make data items consistently available to all nodes at all times—an equivalent to Oracle’s Coherence product. For vFabric, that functionality is provided primarily by GemFire and (to a lesser extent) by RabbitMQ.

As these technologies are mixed and matched to scale up apps, this highly distributed way of computing is likely to replace the monolithic approach of Java EE that Sun/Oracle and JBoss have now pushed for a decade.

Andrew Binstock is the principal analyst at Pacific Data Works. Read his blog at