If I asked you to name major Java vendors, chances are EMC's VMware subsidiary wouldn't top the list. To most of us, the "VM" in VMware doesn't stand for the Java Virtual Machine; it means the other kind of virtual machine, the kind that lets you run servers and desktops on virtualized OS instances. But if that's your assumption, it may be time to change your thinking.
VMware is reinventing itself. Virtualization may have been the hot topic a few years ago, but its star faded once the OS vendors got into the game. Now cloud computing is the buzzword of the day. Observing the trends, Redmonk analyst James Governor went as far as to declare "cloud [computing] is the new VMware." Naturally, then, the new VMware is cloud computing -- and that puts Java square in its sights.
[ Subscribe today to InfoWorld's Developer World newsletter and stay up to date on the key software development news and insights. ]
At the Google I/O conference in San Francisco this week, VMware and Google announced a partnership aimed at making it easier for Java developers to deploy applications on the Google App Engine cloud computing service. This new deal comes hot on the heels of a similar arrangement VMware struck with Salesforce.com in late April, in which VMware provided infrastructure to allow Java apps to run on Salesforce's Force.com platform.
With these partnerships, VMware is putting its customers on notice that it's not merely a virtualization vendor, but a full-service provider of solutions for cloud computing. But developers should take notice, too, because if VMware continues down this path, it could potentially mean a whole new era for the Java platform.
Write once, cloud everywhere
Sun Microsystems dubbed Java the "write once, run anywhere" language, but Java developers have always taken that phrase with a grain of salt. Early in the platform's history, Microsoft deliberately tried to fragment the Java market by shipping its own, incompatible version -- but even Sun's own JVM could be inconsistent from OS to OS. Apple, once a Java backer, dropped support for the language from its Mac OS X developer platform and won't allow it on the iPhone or iPad. The Java ME market is hopelessly fragmented. Browser applets are dead.
The bright spot for Java has always been the datacenter. But as I've mentioned before, cloud computing has the potential to fragment the server-side Java market, by encouraging developers to code their applications to a specific cloud vendor's services and requirements. For example, unlike Force.com, Google App Engine supported Java before its deal with VMware, but it has been criticized for not supporting the full Java API. If developers code to Google's whitelist of classes rather than the Java standard, then Google has in effect created its own, de facto standard.
With VMware's partnership with Google, however, a master plan seems to be emerging. According to VMware's press release, Google and VMware's combined toolkit will allow developers to deploy their applications not just to App Engine, but to VMware platforms, Amazon EC2, and even other (unnamed) cloud platforms.