Google's New App Engine Adds Java Support
In a significant boost to its year-old App Engine Web-hosting platform, Google this week said it is adding Java support. The new version, dubbed App Engine for Java
, will allow developers to build Web apps using standard Java technologies.
When App Engine was launched a year ago, only applications written in the dynamic scripting language Python would run on the platform. With App Engine for Java, Google aims to provide Java jocks with familiar tools and frameworks.
According to Google, App Engine for Java comes with "a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine datastore and services." It also includes what the company describes as an end-to-end Java solution for AJAX Web applications, including a Java runtime, integration with the Google Web Toolkit and the Google Plugin for Eclipse.
"We've taken a very standards-based approach," said Google Product Manager Mike Repass in an interview. "We've layered Java standards, such as the Java Servlet API, Java Data Objects, Java Persistence API, javax.cache and javax.mail, on top of the underlying App Engine APIs." The new App Engine will also allow for deployment to any standard J2EE servlet container, Repass added.
Speaking to attendees at a company-sponsored developer event called Campfire One, Google Engineering Director Graham Spencer said Java support was the most requested feature since App Engine's debut. Spencer described this second incarnation of the platform as an "early look" because the Mountain View, Calif.-based search giant is making App Engine for Java available to only the first 10,000 developers who sign up.
"Java is a very broad language and ecosystem," Repass said. "We know that there are some rough edges. There's a lot of Java code out there written without sandboxing, for example, and some adjustments will be required. But we believe that the quickest way to smooth them out is to get it into the hands of developers."
Google is also hoping the addition of Java support will attract enterprise developers to a platform that has so far failed to ignite much excitement outside the Python community.
"We're trying to enable a broader range of applications and appeal to a broader range of developers, including developers in the enterprise," explained Google Product Manager Andrew Bowers. "We expect interest among Python developers and those interested in modern, lightweight Web application frameworks to remain strong, but we're also excited about attracting more traditional IT shops and enterprise folks to App Engine."
Simply providing support for Java won't turn App Engine into an enterprise platform, said Gartner Distinguished Analyst Yefim Natis. "This is an application environment that's really designed for relatively simple Web-oriented applications," Natis said. "Enterprise applications require some business process management, some degree of application integration, and you have to support SOA. That's not really the picture here. The picture here, essentially, is client-server in the cloud. There's nothing wrong with that for a large number of applications, but it's not really enterprise-class."
Google App Engine's Java support isn't yet fully functional, Natis cautioned. "It's Java with some reduced functionality, because if you are going to write to multi-tenant applications, you can't allow the program to do anything it wants," he said. "If you do, it will then be easily possible to create spy applications -- apps that spy on what other apps are doing in that cloud."
Still, App Engine's support for Java is a step in the right direction for a company with the platform vendors in its sights, he added. "Google is an ambitious vendor," he said. "They have Android, which is going to compete with Windows sooner or later, and they know that the operating system is only the bottom of the stack. They want to be able eventually to compete with the whole stack for the mass-market customers."
Gartner analyst Ray Valdes agrees that the App Engine is years away from the enterprise, but he sees the Java support as a logical step toward that goal. "I think the Java support moves the platform forward because it expands its potential scope of users," he said. "It taps into a larger developer population. And it also moves closer to enterprise needs. It'll be a long time before it has a substantial impact on enterprise computing, but this is definitely a major step forward."
Since it was launched last year, 150,000 developers have created App Engine accounts, Bowers said. And those developers have built 50,000 applications that are currently live and running in the DMV on Google servers, he said.
Among those applications is Google Moderator, which Google built with App Engine on the back end, and the Google Web Toolkit on the front end. The WhiteHouse.gov site recently used the application to gather questions for a virtual town hall meeting. Google reported that "during the 48-hour open voting period, the site peaked at 700 hits per second, and 92,934 people submitted 104,073 questions and cast 3,605,984 votes." In total, the site received approximately 1 million visits.
And Google is adopting the technology internally, Graham said. In the past six months, the company has migrated more than 50 applications to the App Engine.
But Valdes isn't impressed by these numbers. Facebook, he pointed out, has attracted 400,000 developers, and the platform's top 20 apps are each getting tens of millions of page views per day. And developers for the iPhone number in the millions. "These are very different platforms," Valdes said, "but the point is that there are very few apps that you can point to on the Google App Engine that are big production applications that everybody knows."
Java support positions Google to enter the enterprise, Valdes added, "but it'll be a few more steps before they get inside."
Among the other enhancements coming to the latest version of Google's App Engine is a "cron" service, a highly requested capability that allows developers to configure regularly scheduled tasks known as "cron jobs" (think weekly reports). There's also a Secure Data Connector designed to allow developers to get at data stored behind a company firewall, and a new large-scale data import tool that relies on Google's BigTable technology for storing information.