17
Google App Engine e Python Renzo Nuccitelli Engenheiro de Computação – ITA [email protected]

Google App Engine e Python

Embed Size (px)

Citation preview

Page 1: Google App Engine e Python

Google App Engine e Python

Renzo NuccitelliEngenheiro de Computação – ITA

[email protected]

Page 2: Google App Engine e Python

Objetivo

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

Page 3: Google App Engine e Python

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

Page 4: Google App Engine e Python

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

Page 5: Google App Engine e Python

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.

Page 6: Google App Engine e Python

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

Page 7: Google App Engine e Python

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/

Page 8: Google App Engine e Python

Problema Base

• Construir Applicativo Web para cadastro de pessoas

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

• Será que fazemos em 30 minutos?

Page 9: Google App Engine e Python

Controller

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

Page 10: Google App Engine e Python

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)

Page 11: Google App Engine e Python

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

Page 12: Google App Engine e Python

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

Page 13: Google App Engine e Python

Aplicação Comercial

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

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

Page 14: Google App Engine e Python

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)

Page 15: Google App Engine e Python

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

Page 16: Google App Engine e Python

Objetivo

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

Page 17: Google App Engine e Python

Obrigado pela atenção!Perguntas?