“IT weather” forecast: it’s gonna be “cloudy” everywhere, in Java area as well :)

Fewer than 30 percent of IT expenditures go toward developing new functionality; most of the expense is for managing legacy systems. Isn’t that a problem? It definitely is and Cloud Computing may provide a solution to it. “This is the fundamental reason that cloud computing is important. Unlike SOA, cloud computing is not a buzzword driven by vendor hype; it’s different… Enterprise middleware, as we know it, will cease to exist,” said Spring founder Rod Johnson, senior vice president at VMware.

So, nowadays languages and technologies must step up to cloud challenge and evolve to meet the needs of cloud computing to maintain their prominence. So must do Java – “lead drive to cloud computing, otherwise, it’ll potentially lose to Ruby”, says Rod Johnson.
“Java needs continued productivity increases and must accommodate non-relational data stores like Hadoop to thrive in the cloud.., but these issues are in the process of being addressed.”

“Current methods in which IT deploys application servers, messaging brokers, and other software will give way to organizations either working with public clouds or their own private PaaS rather than dealing with low-level infrastructure components, which is complex”. Johnson noted that Java is a good fit for PaaS, offering a programming model such as Java EE (Java Platform, Enterprise Edition) or Spring.

And according to Oracle, Java EE 7, the next version of enterprise Java to be out next year, will be fitted with capabilities for PaaS cloud computing.”Our main goal is making the Java EE platform ready for use in the cloud so that you can deploy your Java EE apps into a cloud environment,” said Linda DeMichiel, Oracle Java EE platform lead. PaaS backing in Java EE 7 would entail evolutionary change, with support for multi-tenancy, small programming models, and new platform roles. APIs useful to a cloud environment would be added in Java EE 7, including JCache, for temporary in-memory caching of Java objects, and JAX-RS, which is a Java API for RESTfull access to services.

In addition to its PaaS capabilities, Java EE 7 is set to have limited support for SaaS, in which an application can support multiple tenants but each tenant gets a separate instance of an application. Oracle sees SaaS as the ability to deploy a cloud application where the application can serve multiple customers or tenants. Roles planned for inclusion in Java EE 7 include a cloud provider, such as Java EE product or PaaS provider, along with cloud customer roles, such as application administrator or end user.

Also Linda DeMichiel offered a glimpse of a subsequent Java EE 8 release, which would be fully modular and be tuned for use in SaaS cloud computing. With Java EE 8, Oracle is planning modularity akin to what is enabled in the Java SE (Java Platform, Standard Edition) 8 specification, along with more SaaS capabilities. A cloud profile for Java may be introduced and perhaps more cloud-related APIs, such as one for NoSQL databases.

So, in the next version Enterprise Java will gear to PaaS clouds and a subsequent Java EE 8 is going to be tuned for use in SaaS cloud computing.
With this, do you believe Java is evolving in the right direction? Will it lead drive to cloud computing?
And what closest competitors in the field does it potentially have? Perhaps Ruby?

You are welcome to share your opinions here.

Thank you so much,