Google App Engine goes Mainstream - adds support for Java, Servlets, JDO, JPA etc.

This is the announcement from Google that we’ve all been waiting for. Up until now, Google App Engine,  Google’s offering for Cloud computing had a very restricted development model, only allowing applications to be developed in Python.

However, on tuesday during their CampFire event Google announced Java 6 support in Google App Engine. This is very exciting as it will allow many applications that have been developed for Java, including applications written in Spring, to move to the Cloud. And they haven’t just stopped at the Java 6 JDK either; they’ve added support for JavaEE web applications by supporting the Servlet and JSP standards. The also provide support for JDO and JPA, connecting to the Google Datastore. For applications that require high performance, they support the javax.cache interface (JSR 107) which they implement with their high performane Memchache. Other features include Java Mail, Image manipulation, URL fetching and authentication using Google Accounts.

On the security side, everything runs in a Sandbox so your code shouldn’t be able to interfere with other applications running on the same server. According to the documentation, the Sandbox also restricts the CPU available so that your application cannot affect other apps. They’ve also added a Secure Data connector to allow companies developing web apps in Google App Engine to retrieve data from behind the corporate firewall. I’m not sure how useful this will be though as most companies we talk to are very wary of allowing access to data within the firewall.

The example guestbook JSP they created at the Campfire Event looks like this

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.google.appengine.api.users.User" %>
<%@ page import="com.google.appengine.api.users.UserService" %>
<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>
<html>
  <body>
<%
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    if (user != null) {
%>
<p>Hello, <%= user.getNickname() %>! (You can
<a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">sign out</a>.)</p>
<%
    } else {
%>
<p>Hello!
<a href="<%= userService.createLoginURL(request.getRequestURI()) %>">Sign in</a>
to include your name with greetings you post.</p>
<%
    }
%>
  </body>
</html>

Accesing the Google App Engine API couldn’t be easier.

They’re giving a limited access to the first 10,000 developers who sign up.

For more information see the official Google App Engine Blog, the discussion over at The Server Side, and the documentation

0 Comments on “Google App Engine goes Mainstream - adds support for Java, Servlets, JDO, JPA etc.”

Leave a Comment