Introdução ao Google App Engine

3,275 views

Published on

Slides da palestra de Introdução ao Google App Engine, apresentada no Encontro do PUG-PE de março de 2010, por Rodrigo Amaral

(Slides from the talk "Introduction to Google App Engine", presented at the 2nd Pernambuco Python Users Group Meeting, in march 2010, by Rodrigo Amaral)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,275
On SlideShare
0
From Embeds
0
Number of Embeds
929
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introdução ao Google App Engine

  1. 1. Google App Engine PUG-PE março de 2010
  2. 2. Qualquer desenvolvedor pode criar e hospedar aplicações web usando a infraestrutura do Google. Inclusive você.
  3. 3. Isso significa ter mais escalabilidade, disponibilidade e desempenho em suas aplicações, mas ainda não é tudo...
  4. 4. A melhor parte é poder fazer isso tudo usando Python!
  5. 5. É possível disponibilizar a aplicação em um domínio próprio ou como subdomínio de appspot.com
  6. 6. Armazenamento de Dados  Distribuído, com suporte a consultas e transações  Não relacional: BigTable  Baseado em entidades que não possuem esquema  Estrutura é determinada pelo código da aplicação  Os objetos de dados possuem um tipo e um conjunto de propriedades
  7. 7. Autenticação de Usuários  API usa as contas do Google, mas nada impede que se implemente um esquema próprio
  8. 8. Outros Serviços  URL fetching  Envio de e-mails  Memcache  Manipulação de imagens  Agendamento de tarefas
  9. 9. Algumas Restrições  10 aplicações por conta  500 MB de armazenamento  5 milhões de pageviews por mês  Requisição expira em 30 segundos (timeout)  6,5 horas de CPU por dia ...além de outras quotas de uso por API (mail, urlfecth, XMPP etc.)
  10. 10. Fluxo de Desenvolvimento Python 2.5 Sandbox App Engine SDK Admin API Bibliotecas dev_appserver.py appcfg.py Console
  11. 11. Estrutura básica de uma aplicação app.yaml Bibliotecas e Frameworks ● Identificação ● Versão ● Resolução de URLs ● Permissões de acesso webapp requisição resposta script.py Módulos da aplicação ● Processamento das requisições ● Declaração dos RequestHandlers Templates Datastore
  12. 12. Componentes de uma aplicação Um aplicativo webapp contém três partes:  Classes RequestHandler que processam requisições e devolvem respostas  Uma instância de WSGIApplication que redireciona as requisições recebidas para os RequestHandlers, com base no URL  Uma rotina principal que executa o WSGIApplication usando um adaptador de CGI
  13. 13. A classe RequestHandler Tem a finalidade de manipular uma requisição HTTP. Suas subclasses devem implementar um ou mais métodos correspondentes aos métodos de uma requisição HTTP:  get()  post()  put()  options()  delete()  trace()
  14. 14. A classe WSGIApplication Representa uma aplicativo que mapeia caminhos de URL para classes RequestHandler. Recebe como argumentos:  url_mapping: uma lista de tuplas que mapeia cada uma URL da aplicação para o RequestHandler correspondente  debug: valor True ou False que determina se a aplicação será executada em modo de depuração
  15. 15. Demonstração
  16. 16. Complementos e frameworks auxiliares Alguns projetos que ajudam a reduzir a repetição de código e acelerar o desenvolvimento de aplicações:  Google App Engine Helper for Django  http://code.google.com/p/google-app-engine-django/  Google App Engine Oil  http://code.google.com/p/google-app-engine-oil/  Google App Engine Patch (descontinuado) ☒ http://code.google.com/p/app-engine-patch/
  17. 17. Referências  Documentação do Google App Engine em Português  http://code.google.com/intl/pt-BR/appengine/docs/python/  Video: “Developing and deploying an application on Google App Engine” (legendado)  http://www.youtube.com/watch?v=bfgO-LXGpTM  Galeria de Aplicativos  http://appgallery.appspot.com/

×