News

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."

Enterprise-Grade?
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.

About the Author

John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube