Google App Engine e Python

Preview:

Citation preview

Google App Engine e Python

Renzo NuccitelliEngenheiro de Computação – ITA

renzo@nuccitec.com.br

Objetivo

Explicar a infra do Google App Engine utilizando o framework Python Webapp-CE

Roteiro

• Google App Engine• Webapp-CE• Problema Base: Cadastro de Pessoas• Controller• Modelo• View• Formulário e Validação• Aplicação Comercial: Revelação Virtual• Conclusões

Google App Engine

• Cloud do Google• Suporte a 3 linguagens: Java, Python e Go• Modelo SaaS (Software as a Service)• https://appengine.google.com/• GAE para os mais íntimos

Google App Engine : Vantagens

• Escalável• Centralizada e excelente documentação• Excelente API• “Pay as you go”, com cota grátis• Abstração da camada de persistência• Definição dos dados na própria linguagem.

Google App Engine: Desvantagens

• Lock-in da API e dos dados• Restrições nas pesquisas• Restrições na duração de requisições• Adaptação de desenvs acostumados a outros

ambientes

Webapp-CE

• Framework web• Mapeamento de urls ao estilo PHP• Validação de formulários• Transformação de dados para o modelo• Instalação através da simples cópia de

arquivos a setup de arquivo app.yaml• http://code.google.com/p/webapp-ce/

Problema Base

• Construir Applicativo Web para cadastro de pessoas

• Ferramentas: Google Launcher + Pydev (Plugin Python para Eclipse)

• Será que fazemos em 30 minutos?

Controller

• Criar controller na pasta private• Delegar handler para cehandler no app.yaml• Mapear links com cengine

Modelo

• Big Table – Banco de Dados não relacional• Módulo db do GAE• Criar Classe User com Nome (name) e

Telefone (phone) e Id do Google (googleid)• Criar método estático para achar usuário

corrente logado (getCurrent)

View

• Templates Django• Utilizar classe Form do pacote ce.forms para

gerar o formulário básico• Criar formulário para cadastro de usuário

(módulo ce.forms)• Criar lista de usuários cadastrados• Criar classe para renderizar templates

Formulário e Validação

• Classe Form de ce.forms já faz validação básica• Método validate• Método transform• Possível extender com suas regras de

validação e transformação

Aplicação Comercial

• Site Revelação Virtual www.revelacaovirtual.com.br

• Mais de 200 mil fotos transmitidas em 2010• Desenvolvido com equipe enxuta

Conclusões

• Apenas introdução, faltou muito coisa (Segurança, Filtros, Cache e etc)

• Ambdev simples• Administração via web• Framework enxuto e open source• Opção barata para startups de tecnologia

(cota grátis e custo variável)

Roteiro

• Google App Engine• Webapp-CE• Problema Base: Cadastro de Pessoas• Controller• Modelo• View• Formulário e Validação• Aplicação Comercial Real: Revelação Virtual• Conclusões

Objetivo

Explicar a infra do Google App Engine utilizando o framework Python Webapp-CE

Obrigado pela atenção!Perguntas?

Recommended