Google Adds Java Support to App Engine

At its Google Campfire One event, Google celebrated the first birthday of its Google App Engine cloud solution and gave developers a first look at the new Java support the company has added to the platform. Java follows Python as the next language for developers to use to create applications on App Engine. Google said it delivered Java support for developers working on large projects and enterprise systems whose needs were not met by Python alone. Google is giving access to the Java support to the first 10,000 developers to sign up for it.

At its Google Campfire One event, Google celebrated the first birthday of its Google App Engine cloud solution and gave developers a first look at the new Java support the company has added to the platform.

Google Campfire One was held on the evening of April 7 at the Google headquarters in Mountain View, Calif., exactly one year to the day that Google announced the beta release of its Google App Engine platform for building and hosting Web applications on Google's infrastructure. Google initially released App Engine with support only for Python; however, one of the features most requested by developers was Java support. Google has made good on that.

In an April 7 blog post, Don Schwarz and Toby Reyelts, software engineers, Google App Engine Team, said:

""When the two of us first heard the promise of Google App Engine, we realized that the chance to bring this kind of simplicity to Java developers was too good of an opportunity to pass up. When App Engine launched publicly, we were excited to see that Java language support was both the first and the most popular request filed in the Issue Tracker. We were also thrilled to see that this enthusiasm extended beyond the Java language to all of the various programming languages that have been implemented on top of the Java virtual machine -- not to mention all of the popular Web frameworks and libraries.""

In addition, Schwarz and Reyelts said Google is "giving the first 10,000 interested developers an early look at Java language support, so please sign up, give it a whirl, and give us lots of feedback.

A description of the new Java support on the Google Code site said "App Engine now provides standard Java APIs and libraries, enabling Java developers to work with familiar tools and frameworks, as well as deploy their apps to any standard J2EE [Java Platform 2, Enterprise Edition] servlet container. App Engine's 'early look' also includes an end-to-end Java solution for AJAX [Asynchronous JavaScript and XML] Web applications, with a Java runtime, integration with Google Web Toolkit, and a Google Plug-in for Eclipse. In addition to Java language support, Google App Engine now offers database import, cron support, and policy-based access to firewalled data."

Google officials said Python-only release may not have met the needs of developers working on larger projects or enterprise systems, thus the Java support.

"We wanted to give developers something that they could be ecstatic about, but we knew we would have to marry the simplicity of Google App Engine with the power and flexibility of the Java platform," the post by Schwarz and Reyelts said. "We also wanted to leverage the App Engine infrastructure -- and by extension Google's infrastructure -- as much as possible, without giving up compatibility with existing Java standards and tools."

The duo also said:

"But we also knew that Java developers are choosy:??Ç They live by their powerful tools (Eclipse, Intellij, NetBeans, Ant, etc.).??Ç They try to avoid lock-in and strive for re-use. Standards-based development (defacto or otherwise) is key.??Ç They harness sophisticated libraries to perform language feats which are nearly magical (GWT, Guice, CGLIB, AspectJ, etc...).??Ç They even use alternate languages on the JVM, like Groovy, Scala, and JRuby."

Meanwhile, in addition to the Java support, Google delivered a tutorial on the use of Java on App Engine. The tutorial shows developers how to:

"- build an App Engine application using standard Java Web technologies, such as servlets and JSPs- create an App Engine Java project with Eclipse, and without- use the Google Plug-in for Eclipse for App Engine development- use the App Engine datastore with the Java Data Objects (JDO) standard interface- integrate an App Engine application with Google Accounts for user authentication- upload your app to App Engine"

In a separate post, Andrew Bowers, an engineer on the Google Developer Team, said, "The team has taken a standards based approach, implementing standard Java APIs on top of App Engine where possible. So instead of using the underlying App Engine datastore API, developers can program against Java Data Objects or Java Persistence API."

Google officials said the company announced its OpenSocial offering at its first Campfire One event back in November 2007, and Google will use future Campfire Ones and the company's Google I/O developer conference to announce future products and initiatives.