Google AppEngine : free Java hosting

Posted: April 8, 2009 in IT/Dev
Tags: , , , , , ,

Google added support for Java in its free AppEngine hosting platform. Among additional services provided is BigTable database, that is optimized for scalability. Use of the datastore (BigTable is accessed through the DataNucleus Access Platform open source framework), is really easy (complies with JDO spec – also supports JPA).

To deploy a war we have to add an appengine-web.xml file into the WEB-INF (that file contains the required application id, and some other optional parameters).

Google also provides an Eclipse SDK, that brings a GWT project wizard, and server test (simulates the AppEngine, including the services and the datastore) !

Details for uploading a war can be found here. Scalability features of the solution are great, for the database and static files.

See also : If you elect to use the free domain name, the full URL for the application will be You can also purchase a top-level domain name for your app, or use one that you have already registered.
There is no way to delete an application in App Engine. You can register up to 10 application IDs per Google account. If you do not want to use one of your allotted application IDs for the tutorial, you can just read this section, and refer to it later when you are ready to upload your first application.

It is stated that the offer is for now restricted to some users, however I did success registering my first application id using my Google account (a verification process of account through sms is required).

We can then now easily host a Cappuccino application : client part in the war’s web root (index.html entry point, Cappuccino application’s .js file that has been optimized through press tool, objective-j.js file), services code (Java classes), Spring jars and configuration, CP2JavaWS jars and configuration.
Download of application’s js files can be optimized (can use separate servers, others than the main server that serves dynamic resources -servlets/jsp) if they are marked as static in the application configuration file (via exclude/include parameters). By default JSP files and resources residing in the WEB-INF folder are considered dynamic.

  1. Responses sent by AppEngine applications are automatically gzipped if the client browser supports this (check done by the server by sending appropriate headers).
    Google allows 5 millions pages serve by month for the base free quota (that is about 500 Gb transfer/month if a page is average 100kbyte – can be more if we consider image files and other resources can have been cached on the client browser – if he accesses many times the site). In comparison, free Java hosting provided by eatj is 3 Gb/month. We can however register a domain name through eatj, as it provides best prices (10$ per year) and services (it is an approoved registar).
    But we have to consider that AppEngine does not allow domain mapping. We have to use temporary or permanent redirect codes on the registered domain configuration. Google also seems to allow to buy domain names.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s