Google App Engine?


Has anyone got this to work on Google App Engine in Java?

Thanks, Philip

Yes and no. Applications start and some simple applications seem to work, but when you look more carefully, they do not work correctly. It seems that Google, for some reason, wants to serialize session on each request and sometimes the next request still uses the old session state.

The correct solution would be to have google appengine to keep the application session in memory for some minutes and serialize it only when needed. Unfortunately there seems to be no configuaration option to do that. To get around this limitation in google appengine, we could try to implement distributed locking mechanism to google appengine using shared memcached. This would still unnecessarily serialize the session each time, but from users point of view it would work nicely.

Any ideas?

  • Joonas
    (sorry for posting anonymously)

Status of Google AppEngine Integration:

Just to say that we will be very happy when AppEngine support of Vaadin becomes reality. :smiley:

Posted a quick

Google AppEngine HOWTO

There are still bugs and limitations, but at least simple applications work as they should.

The result is here:

Anyone would like to implement a container that would wrap AppEngine data storage APIs?

Updated the HOWTO to Vaadin 6.1. Now the process is much smoother.

Hi Joonas,

I’ve read the HOWTO on using Vaadin on AppEngine and was wondering if there is a container available for the
Datastore Java API

Unfortunately not. Datastore API is fairly similar to our Container API and thus creation of Container API implementation with Datastore is possible. This is really badly needed. Any volunteers?

Talking about Google specific APIs: Is it planned to add the
Users Service

There is nothing special about using it in a Vaadin application. A small example of using it in a Vaadin application

Is the source code for the Google App Engine address book ( available? I have not been able to find it.



That is probably the five minute tutorial from

The tutorial is for address book as a regular Vaadin application. I would like to see the source of the address book converted to a Google App Engine (GAE) application.

No conversion is needed. Just use GAEApplicationServlet instead of ApplicationServlet. If you want to use the data store from App Engine you can use e.g. the GAEContainer from the Directory instead of the in-memory IndexedContainer the tutorial uses.

I have given this a shot because I needed it for my own GAE project. I have published my first version as add-on GAEDatastoreContainers.

The first container is GAEBeanItemContainer which is a BeanItemContainer for bean-able classes that are also JDO PersistenceCapable. It makes it trivial to show GAE data in a table. It currently provides only read-only access, although I intend to make it editable.

Any feedback would be welcome.



I would suggest you get in touch with Johan Selänniemi, who has implemented the
. The thread in which he announced it is
, he might be following it.

It looks to me like these are addressing slightly different niches, but there could also be a lot that could be shared or developed together.

Note also that there is a little bit of refactoring around the BeanItemContainer in the Vaadin 6.5 branch, and more is likely to come. The future refactorings could enable moving some/much of the “boilerplate” code out of your class when they do happen.