Dentre vários frameworks e ferramentas para aplicação que serão implantandas no Google App Engine (GAE) estão: SimpleDS e Objectify - dois frameworks para persistência, Kotori - Um executador JUnit , o Apple Guice - um caso de estudo de uma Aplicação GWT, e o Engine Watch - um monitorador do GAE de aplicações para o Android.
SimpleDS
O SimpleDS é um framework de persistência de aplicações Java para armazenar seus dados no Datastore do GAE's de forma transparente. Ele não é um framework inchado, mas sim uma wrapper para a Datastore API. Mas se o GAE já fornece o JDO e a JPA, também para persistência de dados, qual o motivo para eu utilizar outro framework? O responsável pelo SimpleDS explica:
- A API de banco de dados é muito baixo nível, o que, provê uma forma de persistência crua.
- O JDO e a JPA são muito complexos para as tarefas mais simples, e podem prejudicar a performance pois adicionam checagens extras.
Objectify
O Objectify é mais um framework de persistência que visa corrigir as deficiências do JDO, possibilitando que os usuários adicionarem objetivos tipados. Algumas das suas features são:
- Navega por todas as funcionalidades nativas do datastore, incluindo operações em batch, queries, entidades, e propriedades não indexadas.
- Provê type-safe e classes para query utilizando Java Generics.
- Não demora na inicialização, adiciona apenas alguns milisegundos.
- Cacheia automaticamente seus dados usando memcache, melhorando a performance de leitura.
- Entidades podem ser usadas diretamente no GWT sem a necessidade de criar um DTO.
O Kotori é um executador JUnit para testar aplicações que estão implantadas (deployed) no GAE. Uma limitação é que ele só consegue rodar testes que durem menos que 30 segundos.
Apple Guice
O Apple Guice é um estudo de aso de uma aplicação Google Web Toolkit (GWT) rodando no GAE e usando o framework de injeção de dependências Guice para o servidor e o GWT INjection(GIN), outro framework para DI construido com base no Guice, para o cliente. O Apple Guice demonstra a implementação dos seguintes padrões: Model-View-Presenter baseado no GWT Presenter, Command-Pattern utilizado no GWT Dispatch, e o Sharded Counter.
Engine Watch
O Engine Watch é um monitorador de aplicações, útil para visualizar a utilização do GAE de um celular com Android. Com essa ferramenta você pode visualizar estatísticas como: tempo de CPU, requisições, saída de dados, entrada de dados, requisições seguras entre outros.
E você leitor conhece alguma outra ferramenta ou framework para aqueles que desejam utilizar o GAE?