Feeds

Oracle's Java plan trapped in last century

Clouds leave Ellison behind

High performance access to file storage

Oracle's roadmap for Javas 7 and 8 shows it recognizes the world is pulling away and leaving Java with last-century concepts and ideals. Java 7 is meant to set the foundation for a cloud-friendly platform, but the real cloud-ready features won't make an appearance until Java 8 in 2013 at the earliest.

While Larry and company can't be blamed for the years of stagnation suffered by both the platform and language under Sun Microsystems, the problem faced isn't that Java lacks the technology to work nicely in the cloud: the problem is, as ever, one of perception.

Java is either not "enterprise" enough for cloud computing – apparently lacking the required widgets – or it's too enterprisey and therefore not cool enough to join the likes of Ruby and Python.

It doesn't help that cloud computing itself is so nebulously defined. It can be any of utility computing, SaaS, PaaS, IaaS, pretty much anything released by Google, virtualized web hosting, online storage, thin clients, fat browsers communicating by AJAX, streaming sockets, web services, or moth farts.

Fuat Kircaali, founder and chairman of SYS-CON Events, Inc., said: "Cloud has become synonymous with 'computing' and 'software' in two short years, and (Cloud Expo) has become the new PC Expo, Comdex, and InternetWorld of our decade."

Larry Ellison, photo by Oracle Corporate Communications

Ellison: Attorneys and Java patent law suits, he has

One can understand luminaries and event organizers wanting to grab a slice of image pie, but comments like Kircaali's do sum up the problem. Cloud – like agile – can mean whatever you want it to mean, to prove whatever point you want to prove.

So if cloud itself is such a broad and meaningless term, does it even matter (beyond the necessity of marketing) that Oracle intends to make Java more cloud-friendly? It does, because many of the individual meanings do posit solutions to real problems. But with the Java Standard and Enterprise Edition roadmaps, Oracle appears to be focusing on problems that have already been solved, while pushing back on fundamental issues.

The tools and languages required for serious server-side computing needs – parallel processing, scalability, modularity and so forth – are already there. While Java's built-in support for multithreading is an improvement over, say, C++, it's still surprisingly broken and non-obvious.

For example, being able to change a variable in one thread and not have its changes be seen in another. However, people who prefer a more intuitive approach - namely immutable objects, Actors and messaging, which avoid the complexity inherent in any shared-memory concurrent system - can already turn to the uber-Java, Scala.

In so many ways, Scala is already "up there" and proving to be a popular, successful choice among developers looking for a non-kiddie, JVM/cloud-based solution.

Those looking for modularity in their cloud solution needn't wait for Project Jigsaw to shake its box; OSGi already provides a working model for app segregation, and works nicely with Java EE.

Oracle, and the Java EE vendors, would just prefer for these ready solutions to be something "new" under the Java EE umbrella.

Support for dynamically typed scripting languages (due in Java 7) will allow Java to kick around with the cool kids, and may entice the casual web coder who wants to augment his site with a bit of EC2 or App Engine hosted scripting. While this supposedly vital improvement is welcome, JRuby and Jython are already doing nicely without it.

The one feature that genuinely is vital for Java to succeed in the cloud has been pushed back yet again. Lambda functions (essentially closures) are now set to appear in Java 8 (yes, 8) - though I'll believe it when I see it.

For all of Oracle's thundering, the improvements listed in the roadmap speak not of a cloud-heady future, but instead of a minimal check sheet – the least they can get away with promising in order to justify shouting about clouds.

Compare this with the early, energetic days of Java when there was a JSR for every eclectic purpose, many of which failed like Wallet while some were a huge success such as Smartcard, but that wasn't the point – it was a breeding ground for innovation, an energy-filled community of future-facing, Microsoft-bashing optimists.

Unofficial Java scores on creativity

That energy seems somehow lacking in present-day "official" Java, and Oracle's roadmap does little to revitalize the platform. Where are the more vertical JSRs for solving cloud-specific problems?

How about a vertical API for resource sharing, state caching, cloud deployment and monitoring, Distributed Management Task Force (DMTF) open management interoperability, or minimizing the number of network calls or calculations a CPU-constrained app makes? Or cloudy authentication and authorization requirements?

New APIs that are geared around the shift in architectural thinking that Java cloud developers must adopt would be most welcome. And closures – to enable developers to write isolated functions that can be evenly distributed – should be the cornerstone of Oracle's cloud strategy, their top priority.

When you think about the number and variety of cloud-specific JSRs Oracle could be kickstarting, and compare this with the promised offerings in Javas 7 and 8, it's obvious that some more creative thinking, a re-injection of steroids, is needed.

Luckily, much of that is already being supplied, just not by Oracle or the JCP. There are Java-based cloud platforms and libraries aplenty: Google AppEngine (currently runs a restricted form of Java), Stax (based on Amazon EC2), vForce.com, Aptna Cloud, RightScale for Java, SpringSource, and so on.

Another development worth watching is VMware's effort also called CloudFoundry, currently in beta. This open-source hosted service will allow Spring-configured Java apps to run in a full-on PaaS environment. And even Microsoft's Azure supports Java and offers an Eclipse plug-in.

I don't think we can expect any leadership from Oracle (just court cases and alienation of the faithful); rather, as usual, count on a buzzing community to lead Java in the right direction. ®

Matt Stephens founded independent book publisher Fingerpress, and co-authored Design Driven Testing: Test Smarter, Not Harder.

High performance access to file storage

More from The Register

next story
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Android engineer: We DIDN'T copy Apple OR follow Samsung's orders
Veep testifies for Samsung during Apple patent trial
OpenSSL Heartbleed: Bloody nose for open-source bleeding hearts
Bloke behind the cockup says not enough people are helping crucial crypto project
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Windows XP still has 27 per cent market share on its deathbed
Windows 7 making some gains on XP Death Day
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
US taxman blows Win XP deadline, must now spend millions on custom support
Gov't IT likened to 'a Model T with a lot of things on top of it'
prev story

Whitepapers

Mainstay ROI - Does application security pay?
In this whitepaper learn how you and your enterprise might benefit from better software security.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Mobile application security study
Download this report to see the alarming realities regarding the sheer number of applications vulnerable to attack, as well as the most common and easily addressable vulnerability errors.