congreso visión 2012 - taller introducción app engine
TRANSCRIPT
![Page 1: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/1.jpg)
Google App EngineGoogle App Engine
Mi Primera Aplicación utilizando el Cloud de Google
Equipo de Tecnologías GoogleUSMP Virtual
@narce90
Niger Arce
![Page 2: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/2.jpg)
Antes de empezar...
Referencia: https://developers.google.com/appengine/docs/java/gettingstarted/installing
● Eclipse JEE http://www.eclipse.org/downloads/● JDK (Java Development Kit) http://goo.gl/8zusM● App Engine Plugin para Eclipse http://dl.google.com/eclipse/plugin/4.2● App Engine SDK● Cuenta Google ● Paciencia● Una Computadora =)
...y un Celular...
![Page 3: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/3.jpg)
...y una cosa más
Es importante familiarizarse con la documentación:
https://developers.google.com/appengine/docs/
![Page 4: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/4.jpg)
¿Qué es Cloud Computing?
![Page 5: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/5.jpg)
¿Cloud? ¿Cloud Computing?
Se denomina «Cloud» al conjunto de servidores que se encuentra en aquel mundo llamado internet.
«Cloud Computing» es un paradigma que permite ofrecer servicios de computación a través de internet.
Fuente: Wikipedia
![Page 6: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/6.jpg)
¿Cloud? ¿Cloud Computing?
![Page 7: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/7.jpg)
Google App Engine
![Page 8: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/8.jpg)
¿Qué es?
![Page 9: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/9.jpg)
¿Qué es?
Google App Engine (GAE) es una plataforma de cloud computing para el desarrollo y hosteo de aplicaciones web en datacenters administrados por Google.
![Page 10: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/10.jpg)
¿Qué me ofrece?
● Entorno de ejecución para Java, Python y Go.● Servicios web, con soporte a las tecnologías
web más comunes.● Almacenamiento persistente con queries,
ordenamiento y transacciones.● Escalamiento automático y balanceo de
carga.● APIs para la autenticación de usuarios y
envío de correo a través de Google Accounts.● Un completo entorno de desarrollo que nos
permite simular Google App Engine de forma local.
● …y otras características más.
![Page 11: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/11.jpg)
Instalación
![Page 12: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/12.jpg)
Antes de empezar… ¬¬
![Page 13: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/13.jpg)
Nos registramos en GAEhttp://appengine.google.com/
![Page 14: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/14.jpg)
http://appengine.google.com/
Nos registramos en GAE
![Page 15: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/15.jpg)
Nos registramos en GAEhttp://appengine.google.com/
![Page 16: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/16.jpg)
¿Problemas con el SMS?
https://appengine.google.com/waitlist/sms_issues
![Page 17: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/17.jpg)
Vamos a la acción!!
![Page 18: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/18.jpg)
Creando mi primera aplicación
● Pulsamos el botón● Escogemos la opción
«New Web Application Project»
![Page 19: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/19.jpg)
● Le ponemos un nombre a nuestro proyecto.
● Declaramos el paquete del proyecto.
● Desactivamos el checkbox
«Use Google Web Toolkit»● Pulsamos «Finish»
Creando mi primera aplicación
![Page 20: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/20.jpg)
OK! Y ahora?
…lo vamos a ejecutar…WHAT? Tan pronto?
![Page 21: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/21.jpg)
No pasa nada!…tranquilidad hermano!
Entremos a:http://localhost:8888/
…hazle click a «Mi_Primer_App»
![Page 22: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/22.jpg)
…y ya tenemos un «Hello, world»
![Page 23: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/23.jpg)
Veamos que hay detrás de la magia
![Page 24: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/24.jpg)
Veamos que hay detrás de la magia
![Page 25: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/25.jpg)
web.xml● Empleado para mapear URLs de los servlets
que empleará la aplicación
![Page 26: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/26.jpg)
appengine-web.xml
Un archivo de configuración adicional.Incluye: ● ID registrado de la aplicación.● El número de versión de la aplicación.● Las listas de archivos estáticos.
![Page 27: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/27.jpg)
Bueno… bueno… hagamos algo mejor :D
![Page 28: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/28.jpg)
Agregando links de login/logout
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
%>
<p>Hola, <%= user.getNickname() %>!
<p> <a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">Salir </a></p>
<%
} else {
%>
<p><a href="<%= userService.createLoginURL(request.getRequestURI()) %>">Ingresar</a</p>
...
....
![Page 29: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/29.jpg)
Sobre DataStore● Hay que tener en cuenta lo siguiente, cuando trabajamos
con el DataStore:● No es una base de datos relacional● No existe un programa para crear tablas● No se necesita crear tablas. Al persistir una entidad se
crean registros de entidades con un tipo propio y con los atributos establecidos para dicha entidad
● Alternativamente se puede interactuar a través de JDO y JPA.
![Page 30: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/30.jpg)
¿Qué es un
Entidad?
![Page 31: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/31.jpg)
● Es una representación en forma de objeto de una fila del DataStore.
● Cada Entidad tiene propiedades(Ejm: Entidad Alumno, tiene propiedades ‘nombre’, ‘apellido’, ‘fecha de nacimiento’,etc…)
● Las propiedades tienen un tipo de Dato, ya sea String, Entero, Date, etc… (Google App Engine tipos especiales como PhoneNumber, Email, etc)
● Cada Entidad tiene un Key, el cual es un identificador único. Este se puede autogenerar o asignar como String o valor numérico.
● Cata entidad tiene un tipo. Por ejemplo, tipos de entidades serían : ‘Persona’, ´País’, ‘Recibo’, ‘Orden de Compra’.
![Page 32: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/32.jpg)
Deploy...
![Page 33: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/33.jpg)
¿Y la nube?Para subir la aplicación a la nube solo necesitamos hacer unos cuantos pasos:
● Loggearnos desde Eclipse a AppEngine. ● Damos click en Sign in to Google en la parte
inferior derecha de Eclipse
![Page 34: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/34.jpg)
¿Y la nube?● Para subir la aplicación a la nube solo
necesitamos seguir dos pasos:● Hacer click en Deploy to App Engine…
![Page 35: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/35.jpg)
● Aparecerá la pantalla de abajo y luego seleccionamos ‘App Engine project settings…’ Para configurar el nombre y versión de nuestra aplicación en la nube.
![Page 36: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/36.jpg)
O también…
Utilizando el archivo de configuración appengine-web.xml, podemos ver las siguientes etiquetas:
<application>miaplicacion</application><version>1</version>
![Page 37: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/37.jpg)
Creando la aplicaciónNo podremos seguir subiendo la aplicación sin antes haber creado una en nuestra cuenta de App Engine.Entramos a http://appengine.google.com nos logueamos y seleccionamos ‘Create Aplication’. Nos aparecerá lo siguiente:
![Page 38: Congreso visión 2012 - taller introducción app engine](https://reader034.vdocuments.site/reader034/viewer/2022052622/5596d3171a28ab091e8b482a/html5/thumbnails/38.jpg)
¡ Y Listo !● Regresamos a Eclipse y en la ventana de abajo
colocamos el id de nuestra aplicación ingresado en el paso anterior; además ingresaremos la versión de la aplicación que para este caso es la primera ‘1’. Aceptamos los datos y seleccionamos Deploy.