Google App Engine for Java was released a couple of weeks ago and I finally found some time to finish up my first demo application. My original idea was to do a Java version of the Salesforce.com demo that I did in Python on Google App Engine, but I quickly found out that Google App Engine for Java does not support Web services. Hopefully there will be a workaround from Salesforce.com sometime in the near future to make this possible.
This demo has the same functionality as the Python version except that it uses BigTable as the datastore instead of Salesforce.com.
The documentation is pretty good and really gets you up and going quickly.
If you already have Eclipse running, the Google Plugin for Eclipse is a breeze to install.
The development environment is really slick. The development server (Jetty) runs your application on your local computer for development and testing. The server simulates the App Engine datastore, services and sandbox restrictions.
You can access BigTable with JDO or JPA. I choose JDO as most of the documentation uses this implementation. If you are familiar with Hibernate then JDO is fairly simple to grok.
You can use Google Accounts for account creation and authentication. I didn't use this service but it looks pretty slick.
Google has included a simple Guestbook app to get you started.
The Google App Engine Dashboard is very feature-rich and intuitive. I think it gives the Amazon’s EC2 Console a run for its money.
The Google Plugin for Eclipse makes deploying the application to Google's servers simple-stupid. If you've ever had to configure Tomcat, JBoss or Websphere, you'll really enjoy the simplicity of the process. However, when creating a new application, make sure you do so through the Dashboard first before deploying it.
You can download the source for the application here, but here is the real meat of the application, the Servlet: