BT

Useful Helpers for Applications Deployed on Google App Engine

by Abel Avram on Apr 08, 2010 |

Some of the later helper frameworks and tools for applications written for Google App Engine are: SimpleDS and Objectify - two persistence frameworks, Kotori – a JUnit runner, Apple Guice – a case study GWT application, and Engine Watch – a GAE monitoring application for Android devices.

SimpleDS

SimpleDS is a persistence framework for Java applications to transparently store their data on GAE's Datastore. It is not a full-blown framework, but rather a wrapper around Datastore API. Since GAE already has JDO and JPA, two persistency solutions, one might wonder why another framework? The project owners explain:

  • The Datastore API is too much low-level, providing bare persistence of Map-style structures.
  • The JDO and JPA APIs are too complex for even the simplest tasks, and hurt performance by adding lots of extra checks designed for relational databases.

Objectify

Objectify is yet another persistence framework that wants to address the shortcomings of JDO, allowing the user to store typed objects. Some of its features are:

  • Objectify surfaces all native datastore features, including batch operations, queries, entity groups, and unindexed properties.
  • Objectify provides type-safe key and query classes using Java generics.
  • Objectify does not impact application cold-start time, adding a few milliseconds at most.
  • Objectify can automatically cache your data in memcache for improved read performance.
  • Objectify entities can be used in GWT without the need for Data Transfer Objects.

Kotori

Kotori is a JUnit runner for testing applications deployed on GAE. It supports JUnit 3 and 4 test cases. One limitation is the ability to run only short test cases taking less than 30 seconds.

Apple Guice

Apple Guice is a case study of a Google Web Toolkit (GWT) application running on GAE and using the Guice dependency injection framework for the server and GWT INjection (GIN), yet another DI framework built on Guice, for the client. Apple Guice demonstrates the implementation of the following patters: Model-View-Presenter based on GWT Presenter, Command-Pattern through GWT Dispatch, and a Sharded Counter.

Engine Watch

Engine Watch is a free monitoring application useful to check GAE utilization from an Android mobile phone. It displays statistics like: CPU Time, Request, Outgoing Bandwidth, Incoming Bandwidth, Secure Requests and others. 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Comparison between GAE and other cloud platform by Udayan Banerjee

GAE is different from other cloud platforms primarily on 2 counts:
- You do not have to worry about scalability (in both EC2 & Azure it is your decision on how to scale)
- You can not use RDBMS

Here are some more points:
- setandbma.wordpress.com/2009/11/25/cloud-comput...
- setandbma.wordpress.com/2010/01/21/cloud-econom...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT