Last week Google announced Java support for Google App Engine. Contrary to Simon Phipp's complaint that "it's wanton and irresponsible" to only support a subset of Java, I applaud what Google has done. Here’s why.
Java is almost fifteen 15 years old, and is a huge amalgam of classes that are no longer necessary for web development. What Simon seems to be suggesting — that Google include the Swing user interface classes, AWT, and Java2D for a cloud-based offering whose only interface point is a web browser? — makes no sense.
Google is solving a huge business problem with Google App Engine's Java support. One of the biggest challenges facing enterprises is that they have a ton of data, a ton of backlogged applications that their users want that are based on that data, and no way to deliver those applications. I learned the hard way at ActiveGrid that scripting languages was not a good way to solve that problem since it required a new type of server to be installed inside the firewall. A couple of years ago I theorized that the problem could be solved with a "data wiki" type of approach that would combine a simple form editor with tiered access controls, which I still think is a viable opportunity but runs up against the challenge that enterprises do not like to buy or install software anymore, especially especially from startups.
With Google's App Engine, enterprise developers can write straightforward JSP/JDO Java applications that can connect their existing back-end databases with Google's Secure Data Connector. The apps can then be moved to run inside the firewall on a standard Java EE server. I imagine Google may even have an enterprise version of App Engine that enterprises could run inside their firewall, just like the Google Search Appliance.
Kudos to Google. Their App Engine for Java should be called “Java Cloud Edition.” They have solved a big enterprise application development problem, and have also helped to refocus Java for the cloud. Cloud services aren’t a mere trend, it’s an evolution in the software industry. Companies that aren’t cloud-based run at a huge and costly disadvantage. At iWidgets we run a Java-based cloud backend for customers, and we are not using Java classes like Swing. Anybody complaining about some of the legacy Java classes are falling by the wayside isn’t in touch with this industry transition.
I think Sun should take the class subset used in Google App Engine for Java and call it Java Cloud Edition.
- Peter Yared
- Peter Yared is the CTO/CIO of CBS Interactive, a top ten Internet destination, and was previously the founder and CEO of four enterprise infrastructure companies that were acquired by Sun, VMware, Webtrends and TigerLogic. Peter's software has powered brands from Fidelity to Home Depot to Lady Gaga. At Sun, Peter was the CTO of the Application Server Division and the CTO of the Liberty federated identity consortium. Peter is the inventor of several patents on core Internet infrastructure including federated single sign on and dynamic data requests. Peter began programming games and utilities at age 10, and started his career developing systems for government agencies. Peter regularly writes about technology trends and has written for CNET, the Wall Street Journal, BusinessWeek, AdWeek, VentureBeat and TechCrunch.
Many thanks to Bob Pulgino, Dave Prue, Steve Zocchi and Jean-Louis Gassée for mentoring me over the years.