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

Post on 04-Jul-2015

272 views 1 download

transcript

Google App EngineGoogle App Engine

Mi Primera Aplicación utilizando el Cloud de Google

Equipo de Tecnologías GoogleUSMP Virtual

@narce90

Niger Arce

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

...y una cosa más

Es importante familiarizarse con la documentación:

https://developers.google.com/appengine/docs/

¿Qué es Cloud Computing?

¿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

¿Cloud? ¿Cloud Computing?

Google App Engine

¿Qué es?

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

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

Instalación

Antes de empezar… ¬¬

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

http://appengine.google.com/

Nos registramos en GAE

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

¿Problemas con el SMS?

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

Vamos a la acción!!

Creando mi primera aplicación

● Pulsamos el botón● Escogemos la opción

«New Web Application Project»

● 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

OK! Y ahora?

…lo vamos a ejecutar…WHAT? Tan pronto?

No pasa nada!…tranquilidad hermano!

Entremos a:http://localhost:8888/

…hazle click a «Mi_Primer_App»

…y ya tenemos un «Hello, world»

Veamos que hay detrás de la magia

Veamos que hay detrás de la magia

web.xml● Empleado para mapear URLs de los servlets

que empleará la aplicación

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.

Bueno… bueno… hagamos algo mejor :D

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>

...

....

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.

¿Qué es un

Entidad?

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

Deploy...

¿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

¿Y la nube?● Para subir la aplicación a la nube solo

necesitamos seguir dos pasos:● Hacer click en Deploy to 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.

O también…

Utilizando el archivo de configuración appengine-web.xml, podemos ver las siguientes etiquetas:

<application>miaplicacion</application><version>1</version>

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:

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