At the SpringOne 2GX event this week in Chicago, Rod Johnson, the founder of the Spring Framework project and now senior VP of VMware's cloud application platform, said cloud applications will require more automated services than their predecessor enterprise apps.
When it comes to web-based traffic and cloud-sized data sets, applications will need to command large amounts of memory, more than can be loaded onto a single server. They will need an "elastic" server cluster at their command, able to fire up additional servers as needed. And they will need connectivity to other applications and services, without programmers intervening each time to define a set path and data exchange.
VMware's SpringSource unit is pushing to evolve the lightweight, Java framework in these directions, making it a platform for applications that will run in public and private clouds in the future.
"Innovation today is tending to be in frameworks, not languages," said Johnson in an interview before the show, and I think he's right. Other than the scripting languages, Java was the last major mainstream language to take the enterprise by storm. You can throw in Microsoft's C# as another example of lessons learned from the Java experience and applied effectively to the Windows environment.
Java to me was always a more disciplined version of C and C++, with advanced networking capabilities. The gains in programming function and productivity afterward have tended to come in the supporting services around the language. Frameworks are one way of codifying and automating those services to get away from some of the more tedious tasks that programmers bog down in, such as making the connection to the Internet, setting up a web server, or tapping a corporate database system.
"The framework leverages the language. Ruby had been around for years without becoming popular until the Ruby on Rails framework came along," pointed out Johnson. SpringSource, while still independent, bought a Ruby-on-Rails look-alike, Groovy on Grails, for producing Java byte code.
The Spring Framework has integrated the vFabric GemFire data caching system, acquired in the Gemstone acquisition earlier this year, to allow applications to manage data in a memory space that scales out according to demand. It has added RabbitMQ, what Johnson calls a "crowd-scale" message bus, for application interactions and social networking types of functions.