Beginning Java Google App Engine - Kyle Roche, Jeff Douglas (Apress)