SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Google App Engine
        PUG-PE
      março de 2010
Qualquer desenvolvedor pode criar e hospedar
aplicações web usando a infraestrutura do
Google.




                                  Inclusive você.
Isso significa ter mais escalabilidade,
disponibilidade e desempenho
em suas aplicações, mas ainda não é tudo...
A melhor parte é poder fazer
isso tudo usando Python!
É possível disponibilizar a aplicação em um domínio
   próprio ou como subdomínio de appspot.com
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
Autenticação de Usuários

   API usa as contas do Google, mas nada impede que
    se implemente um esquema próprio
Outros Serviços

   URL fetching
   Envio de e-mails
   Memcache
   Manipulação de imagens
   Agendamento de tarefas
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.)
Fluxo de Desenvolvimento




            Python 2.5



 Sandbox
                               App Engine SDK
                                Admin
      API        Bibliotecas             dev_appserver.py   appcfg.py
                               Console
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
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
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()
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
Demonstração
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/
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Eduardo Mendes
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsEmerson Soares
 

Was ist angesagt? (20)

Grails
GrailsGrails
Grails
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Treinamento Play Framework
Treinamento Play FrameworkTreinamento Play Framework
Treinamento Play Framework
 
Model View Controller
Model View ControllerModel View Controller
Model View Controller
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Web Offline
Web OfflineWeb Offline
Web Offline
 
jsp-intro
jsp-introjsp-intro
jsp-intro
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no Windows
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 

Andere mochten auch

Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Michel Montenegro
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborSvetlin Nakov
 
Combustion in diesel engine
Combustion in diesel engineCombustion in diesel engine
Combustion in diesel engineAmanpreet Singh
 
Apache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep DiveApache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep DiveXu Jiang
 
Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Dennis Deacon
 
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLand
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLandPeriodic Table of SEO Success Factors & Guide to SEO by SearchEngineLand
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLandSearch Engine Land
 
Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Mihir Pai
 
É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?José Farias
 
Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine FrValtech
 
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Clavis Segurança da Informação
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...JRibbeck
 
ppt on 2 stroke and 4 stroke petrol engine
ppt on 2 stroke and 4 stroke petrol engineppt on 2 stroke and 4 stroke petrol engine
ppt on 2 stroke and 4 stroke petrol engineharshid panchal
 
I.C.ENGINE PPT
I.C.ENGINE PPTI.C.ENGINE PPT
I.C.ENGINE PPT8695
 
CAP 4: SEO - Optimizacion de Contenido
CAP 4: SEO - Optimizacion de ContenidoCAP 4: SEO - Optimizacion de Contenido
CAP 4: SEO - Optimizacion de ContenidoGary Briceño
 
App engine
App engineApp engine
App engineThirdWay
 

Andere mochten auch (20)

Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
 
Combustion in diesel engine
Combustion in diesel engineCombustion in diesel engine
Combustion in diesel engine
 
Apache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep DiveApache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
 
RoomCloud Booking Engine
RoomCloud Booking EngineRoomCloud Booking Engine
RoomCloud Booking Engine
 
Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Search Engine Optimization (SEO)
Search Engine Optimization (SEO)
 
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLand
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLandPeriodic Table of SEO Success Factors & Guide to SEO by SearchEngineLand
Periodic Table of SEO Success Factors & Guide to SEO by SearchEngineLand
 
Ic engine
Ic engineIc engine
Ic engine
 
Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...
 
Zk Framework
Zk FrameworkZk Framework
Zk Framework
 
É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?
 
Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine Fr
 
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
 
Google App Engine - INTRO
Google App Engine - INTROGoogle App Engine - INTRO
Google App Engine - INTRO
 
ppt on 2 stroke and 4 stroke petrol engine
ppt on 2 stroke and 4 stroke petrol engineppt on 2 stroke and 4 stroke petrol engine
ppt on 2 stroke and 4 stroke petrol engine
 
I.C.ENGINE PPT
I.C.ENGINE PPTI.C.ENGINE PPT
I.C.ENGINE PPT
 
CAP 4: SEO - Optimizacion de Contenido
CAP 4: SEO - Optimizacion de ContenidoCAP 4: SEO - Optimizacion de Contenido
CAP 4: SEO - Optimizacion de Contenido
 
App engine
App engineApp engine
App engine
 

Ähnlich wie Introdução ao Google App Engine

Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EELuan Felipe Knebel
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Renzo Nuccitelli
 
API's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de IntegraçãoAPI's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de IntegraçãoRequestia Software
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G Ofabio.thomaz
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoBruno Lopes
 
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...Richard Esplin
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaPaula Santana
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Edlaine Zamora
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 
API REST com Django Rest Famework
API REST com Django Rest Famework API REST com Django Rest Famework
API REST com Django Rest Famework Jéssica Paz
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfBrunoAlbuquerque864673
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"sbcars
 

Ähnlich wie Introdução ao Google App Engine (20)

Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
Api’s abertos
Api’s abertosApi’s abertos
Api’s abertos
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
API's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de IntegraçãoAPI's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de Integração
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
Apresentação Drupal como LMS
Apresentação Drupal como LMSApresentação Drupal como LMS
Apresentação Drupal como LMS
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderoso
 
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...
Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content M...
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageria
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
API REST com Django Rest Famework
API REST com Django Rest Famework API REST com Django Rest Famework
API REST com Django Rest Famework
 
Api platform
Api platformApi platform
Api platform
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdf
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
 

Introdução ao Google App Engine

  • 1. Google App Engine PUG-PE março de 2010
  • 2. Qualquer desenvolvedor pode criar e hospedar aplicações web usando a infraestrutura do Google. Inclusive você.
  • 3. Isso significa ter mais escalabilidade, disponibilidade e desempenho em suas aplicações, mas ainda não é tudo...
  • 4. A melhor parte é poder fazer isso tudo usando Python!
  • 5. É possível disponibilizar a aplicação em um domínio próprio ou como subdomínio de appspot.com
  • 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. Autenticação de Usuários  API usa as contas do Google, mas nada impede que se implemente um esquema próprio
  • 8. Outros Serviços  URL fetching  Envio de e-mails  Memcache  Manipulação de imagens  Agendamento de tarefas
  • 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. Fluxo de Desenvolvimento Python 2.5 Sandbox App Engine SDK Admin API Bibliotecas dev_appserver.py appcfg.py Console
  • 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. 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. 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. 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
  • 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. 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/