Congreso visión 2012 - taller introducción app engine

39
Google App Engine Google App Engine Mi Primera Aplicación utilizando el Cloud de Google Equipo de Tecnologías Google USMP Virtual @narce90 Niger Arce

Transcript of Congreso visión 2012 - taller introducción app engine

Page 1: Congreso visión 2012 - taller introducción app engine

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

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

...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

¿Qué es Cloud Computing?

Page 5: Congreso visión 2012 - taller introducción app engine

¿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

¿Cloud? ¿Cloud Computing?

Page 7: Congreso visión 2012 - taller introducción app engine

Google App Engine

Page 8: Congreso visión 2012 - taller introducción app engine

¿Qué es?

Page 9: Congreso visión 2012 - taller introducción app engine

¿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

¿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

Instalación

Page 12: Congreso visión 2012 - taller introducción app engine

Antes de empezar… ¬¬

Page 13: Congreso visión 2012 - taller introducción app engine

Nos registramos en GAEhttp://appengine.google.com/

Page 14: Congreso visión 2012 - taller introducción app engine

http://appengine.google.com/

Nos registramos en GAE

Page 15: Congreso visión 2012 - taller introducción app engine

Nos registramos en GAEhttp://appengine.google.com/

Page 16: Congreso visión 2012 - taller introducción app engine

¿Problemas con el SMS?

https://appengine.google.com/waitlist/sms_issues

Page 17: Congreso visión 2012 - taller introducción app engine

Vamos a la acción!!

Page 18: Congreso visión 2012 - taller introducción app engine

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

● 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

OK! Y ahora?

…lo vamos a ejecutar…WHAT? Tan pronto?

Page 21: Congreso visión 2012 - taller introducción app engine

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

…y ya tenemos un «Hello, world»

Page 23: Congreso visión 2012 - taller introducción app engine

Veamos que hay detrás de la magia

Page 24: Congreso visión 2012 - taller introducción app engine

Veamos que hay detrás de la magia

Page 25: Congreso visión 2012 - taller introducción app engine

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

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

Bueno… bueno… hagamos algo mejor :D

Page 28: Congreso visión 2012 - taller introducción app engine

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

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

¿Qué es un

Entidad?

Page 31: Congreso visión 2012 - taller introducción app engine

● 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

Deploy...

Page 33: Congreso visión 2012 - taller introducción app engine

¿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

¿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

● 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

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

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

¡ 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.