Feeds

Oracle's Java plan trapped in last century

Clouds leave Ellison behind

Maximizing your infrastructure through virtualization

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.

Reducing security risks from open source software

More from The Register

next story
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
Do YOU work at Microsoft? Um. Are you SURE about that?
Nokia and marketing types first to get the bullet, says report
Microsoft takes on Chromebook with low-cost Windows laptops
Redmond's chief salesman: We're taking 'hard' decisions
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
EU dons gloves, pokes Google's deals with Android mobe makers
El Reg cops a squint at investigatory letters
Chrome browser has been DRAINING PC batteries for YEARS
Google is only now fixing ancient, energy-sapping bug
prev story

Whitepapers

Seven Steps to Software Security
Seven practical steps you can begin to take today to secure your applications and prevent the damages a successful cyber-attack can cause.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.
Consolidation: the foundation for IT and business transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.