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.