Introducción a  Iker Perez de Albeniz Villarroel http://ikeralbeniz.net
Introducción Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Aplicaciones Web en infraestructura de Google...
Funcionalidad Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Servidor Web Dinámico </li></ul><ul><li>Sist...
SandBox Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>La aplicación corre en un entorno seguro </li></ul...
Entorno Java Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Java SE Runtime Environment (JRE) 6 </li></ul...
Entorno Java Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Java SE Runtime Environment (JRE) 6 </li></ul...
Entorno Python Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Version 2.5.2 </li></ul><ul><ul><li>Limitad...
app.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net application: myapp  version: 1  runtime: python  api_vers...
index.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net indexes:  -  kind: Cat  ancestor: no  properties:  - na...
cron.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net cron: - description: updates from google url: /update sc...
main.py Iker Perez de Albeniz Villarroel http://ikeralbeniz.net print 'Content-Type: text/plain' print '' print 'Hello, wo...
Entorno de Pruebas / Producción Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Servidor de Local </li></u...
Getting Started Iker Perez de Albeniz Villarroel http://ikeralbeniz.net Getting Started   http:// code.google.com / intl /...
¿Preguntas? Iker Perez de Albeniz Villarroel http://ikeralbeniz.net ¿Preguntas? [email_address]
Upcoming SlideShare
Loading in …5
×

Introducción a Google App Engine

2,180 views

Published on

Introduccion del curso de Google App Engine impartido para GTUG Bilbao. Mas info en: https://sites.google.com/a/gtugs.org/bilbao/eventos

  • Be the first to comment

  • Be the first to like this

Introducción a Google App Engine

  1. 1. Introducción a Iker Perez de Albeniz Villarroel http://ikeralbeniz.net
  2. 2. Introducción Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Aplicaciones Web en infraestructura de Google </li></ul><ul><li>Integración con Google Apps </li></ul><ul><li>Soporta tanto Java como Python </li></ul><ul><li>Gratuito hasta superar cuotas </li></ul><ul><ul><li>Pagas por lo que consumes </li></ul></ul><ul><ul><li>Gratis Hasta 5mill de visitas/mes (aprox) </li></ul></ul>
  3. 3. Funcionalidad Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Servidor Web Dinámico </li></ul><ul><li>Sistemas de almacenamiento de datos persistentes (BBDD) </li></ul><ul><li>Escalado automático y balanceo de carga </li></ul><ul><li>Autenticación Google Account (LOPD) </li></ul><ul><li>Tareas Programadas </li></ul><ul><li>Encolado de Tareas </li></ul><ul><li>Entrono de desarrollo y simulación </li></ul>
  4. 4. SandBox Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>La aplicación corre en un entorno seguro </li></ul><ul><ul><li>Aislado del SO </li></ul></ul><ul><ul><li>Replicable en multiples servidores </li></ul></ul><ul><li>Limitaciones </li></ul><ul><ul><li>Comunicación entre servidores solo a través de HTTP(S) </li></ul></ul><ul><ul><li>Escritura en disco no permitida </li></ul></ul><ul><ul><li>Timeout máximo de respuesta 30 segundos </li></ul></ul><ul><ul><li>Solo se ejecuta código en respuesta a una petición Web </li></ul></ul>
  5. 5. Entorno Java Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Java SE Runtime Environment (JRE) 6 </li></ul><ul><ul><li>JVM Limitada  Genera excepciones </li></ul></ul><ul><ul><ul><li>Sockets </li></ul></ul></ul><ul><ul><ul><li>Escritura en disco </li></ul></ul></ul><ul><li>Almacenamiento de Datos </li></ul><ul><ul><li>Java Data Objects (JDO) </li></ul></ul><ul><ul><li>Java Persistence API (JPA) </li></ul></ul><ul><ul><li>JavaMail </li></ul></ul>
  6. 6. Entorno Java Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Java SE Runtime Environment (JRE) 6 </li></ul><ul><ul><li>JVM Limitada  Genera excepciones </li></ul></ul><ul><ul><ul><li>Sockets </li></ul></ul></ul><ul><ul><ul><li>Escritura en disco </li></ul></ul></ul><ul><li>Almacenamiento de Datos </li></ul><ul><ul><li>Java Data Objects (JDO) </li></ul></ul><ul><ul><li>Java Persistence API (JPA) </li></ul></ul><ul><ul><li>JavaMail </li></ul></ul>
  7. 7. Entorno Python Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Version 2.5.2 </li></ul><ul><ul><li>Limitada: Sockets, escritura en disco… </li></ul></ul><ul><li>Módulos de Django </li></ul><ul><li>Módulos extra: DataStore, UrlFetch, Mail… </li></ul><ul><li>Librerías de 3º (escritas en python) </li></ul><ul><li>Entorno mas popular </li></ul>
  8. 8. app.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net application: myapp version: 1 runtime: python api_version: 1 handlers: - url: /.* script: main.py - url: /stylesheets static_dir: stylesheets - url: /admin/.* script: admin.py login: admin
  9. 9. index.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net indexes: - kind: Cat ancestor: no properties: - name: name - name: age direction: desc - kind: Cat properties: - name: name direction: asc - name: whiskers direction: desc
  10. 10. cron.yaml Iker Perez de Albeniz Villarroel http://ikeralbeniz.net cron: - description: updates from google url: /update schedule: every 25 minutes
  11. 11. main.py Iker Perez de Albeniz Villarroel http://ikeralbeniz.net print 'Content-Type: text/plain' print '' print 'Hello, world!' from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler):     def get(self):         self.response.headers['Content-Type'] = 'text/plain'         self.response.out.write('Hello, webapp World!') application = webapp.WSGIApplication(                                      [('/', MainPage)],                                      debug=True) def main():     run_wsgi_app(application) if __name__ == &quot;__main__&quot;:     main()
  12. 12. Entorno de Pruebas / Producción Iker Perez de Albeniz Villarroel http://ikeralbeniz.net <ul><li>Servidor de Local </li></ul><ul><ul><li>python …/dev_appserver.py --port=&quot;8080&quot; /mi/proyecto/gae/ </li></ul></ul><ul><ul><li>Web: http://127.0.0.1:8080/ </li></ul></ul><ul><ul><li>Admin: http://127.0.0.1:8080/_ah/ admin/ </li></ul></ul><ul><li>Subir a Google </li></ul><ul><ul><li>python …/appcfg.py --email=me@gmail.com update /mi/proyecto/gae/ </li></ul></ul>
  13. 13. Getting Started Iker Perez de Albeniz Villarroel http://ikeralbeniz.net Getting Started http:// code.google.com / intl / eu / appengine / docs / python / gettingstarted /
  14. 14. ¿Preguntas? Iker Perez de Albeniz Villarroel http://ikeralbeniz.net ¿Preguntas? [email_address]

×