Google App Engine

Implementing Multi-tenancy On Google App Engine

Reading Time: 3 minutes Google recently added support for multi-tenancy for applications via the Namespaces API. We are in process of porting an application to Google App engine. We were thinking of making our application multi-tenant. With the new Namespaces API in our arsenal we decided to give it a try. To our surprise implementing multi-tenancy is easy, we were done with it in couple of hours! With multi-tenancy, Continue Reading

Improve Performance By Using Keys Only Query on Google App Engine

Reading Time: 2 minutes It has been around two months since we started to port an existing application on Google App engine. It used Hibernate for persistence, Wicket framework for web layer and Spring as an Ioc container. Looking at the will it play on appengine we had to change Hibernate to use either JPA or JDO. We decided on JPA purely on the basis of experience we had Continue Reading

Generating Excel Files On Google App Engine For A Wicket Application

Reading Time: 3 minutes We are porting an existing Wicket application on Google App Engine. This application uses Wicket, Spring and Hibernate. If you read will it play in app engine, you will notice that Wicket is semi compatible and it does work with workarounds. Hibernate on the other hand is incompatible and Spring is fully supported. We began porting this application after changing persistence to use JPA instead Continue Reading

Performance Tuning Java Applications on Google App Engine

Reading Time: 5 minutes Performance Tuning is one of the stages of taking your application to production which you can seldom avoid. Irrespective of the fact whether you have taken all good performance practices into account, there is something or the other which needs to be tuned before the application is production ready. Performance Tuning takes a different turn when your application is supposed to run on the cloud. Continue Reading

Generating Charts In Wicket Application On Google App Engine

Reading Time: 3 minutes We are in process of porting an existing Wicket application on Google App engine. This application’s charting engine used Java color classes along with Swing components to generate dynamic images. These images are then used by Wicket to display on the front-end . Unfortunately Google app engine does not support these classes. We therefore had to find an alternative to generate Charts for our application. Continue Reading

Managing Multiple Parent Persistence Problem in App Engine

Reading Time: 3 minutes We are in process of porting an entire application on google app engine. This application has persistence using JPA and as usual contains mapping between entities using annotations. The mapping like @OnetoMany and @ManytoOne in Jpa may throw lot of errors in google app engine and therefore is neither straightforward nor trivial. In this blog we will see where our mapping may fail, with specific Continue Reading

Why Unowned Relationships Make More Sense With App Engine Datastore

Reading Time: 4 minutes A month back we started migrating an enterprise time keeping and invoicing system to GAE. Initially, the application was deployed at the enterprise on tomcat. The opportunity was to port the application to GAE and utilize the public cloud space. The choice about GAE was based on the expected ease of migration and then not having to worry about any infrastructure maintenance. As you would Continue Reading

Unit Testing Maven Based JPA Application on GAE

Reading Time: 3 minutes Recently, we started porting a complex enterprise timesheet and invoicing application to Google App Engine. We would talk about the strategy that we are following as a part of separate post but in this post let us look at how we can unit test JPA code effectively in our local environment. By the way, the application that we are porting does not use JPA but Continue Reading

Remote Debugging Google App Engine Application on Eclipse

Reading Time: 2 minutes Sometimes it is handy to debug our application source code even when it is executing outside our IDE. This blog will explain how can we remotely debug a web application project developed in Google App Engine on eclipse IDE. The linux command to start web application on Google App engine development application server is [sourcecode language=”bash”] dev_appserver.sh <exploded WAR directory path> [/sourcecode] The command runs Continue Reading