Oracle's Java plan trapped in last century

Clouds leave Ellison behind


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.


Other stories you might like

  • Google has more reasons why it doesn't like antitrust law that affects Google
    It'll ruin Gmail, claims web ads giant

    Google has a fresh list of reasons why it opposes tech antitrust legislation making its way through Congress but, like others who've expressed discontent, the ad giant's complaints leave out mention of portions of the proposed law that address said gripes.

    The law bill in question is S.2992, the Senate version of the American Innovation and Choice Online Act (AICOA), which is closer than ever to getting votes in the House and Senate, which could see it advanced to President Biden's desk.

    AICOA prohibits tech companies above a certain size from favoring their own products and services over their competitors. It applies to businesses considered "critical trading partners," meaning the company controls access to a platform through which business users reach their customers. Google, Apple, Amazon, and Meta in one way or another seemingly fall under the scope of this US legislation. 

    Continue reading
  • It's a crime to use Google Analytics, watchdog tells Italian website
    Because data flows into the United States, not because of that user interface

    Another kicking has been leveled at American tech giants by EU regulators as Italy's data protection authority ruled against transfers of data to the US using Google Analytics.

    The ruling by the Garante was made yesterday as regulators took a close look at a website operator who was using Google Analytics. The regulators found that the site collected all manner of information.

    So far, so normal. Google Analytics is commonly used by websites to analyze traffic. Others exist, but Google's is very much the big beast. It also performs its analysis in the USA, which is what EU regulators have taken exception to. The place is, after all, "a country without an adequate level of data protection," according to the regulator.

    Continue reading
  • Makers of ad blockers and browser privacy extensions fear the end is near
    Overhaul of Chrome add-ons set for January, Google says it's for all our own good

    Special report Seven months from now, assuming all goes as planned, Google Chrome will drop support for its legacy extension platform, known as Manifest v2 (Mv2). This is significant if you use a browser extension to, for instance, filter out certain kinds of content and safeguard your privacy.

    Google's Chrome Web Store is supposed to stop accepting Mv2 extension submissions sometime this month. As of January 2023, Chrome will stop running extensions created using Mv2, with limited exceptions for enterprise versions of Chrome operating under corporate policy. And by June 2023, even enterprise versions of Chrome will prevent Mv2 extensions from running.

    The anticipated result will be fewer extensions and less innovation, according to several extension developers.

    Continue reading
  • Google recasts Anthos with hitch to AWS Outposts
    If at first you don't succeed, change names and try again

    Google Cloud's Anthos on-prem platform is getting a new home under the search giant’s recently announced Google Distributed Cloud (GDC) portfolio, where it will live on as a software-based competitor to AWS Outposts and Microsoft Azure Stack.

    Introduced last fall, GDC enables customers to deploy managed servers and software in private datacenters and at communication service provider or on the edge.

    Its latest update sees Google reposition Anthos on-prem, introduced back in 2020, as the bring-your-own-server edition of GDC. Using the service, customers can extend Google Cloud-style management and services to applications running on-prem.

    Continue reading

Biting the hand that feeds IT © 1998–2022