Departamento de Ingeniería Telemática PROYECTO FIN DE CARRERA DESARROLLO DE APLICACIONES COLABORATIVAS MULTIPLATAFORMA: GOOGLE APP ENGINE Y GOOGLE CLOUD ENDPOINTS Autor: David Jesús Torralbo Gutiérrez Director: Isaac Seoane Pujol Tutor: Ignacio Soto Campos Desarrollo de Aplicaciones Colaborativas Multiplataforma Título: DESARROLLO DE APLICACIONES COLABORATIVAS MULTIPLATAFORMA: GOOGLE APP ENGINE Y GOOGLE CLOUD ENDPOINTS Autor: David Jesús Torralbo Gutiérrez Director: Isaac Seoane Pujol Tutor: Ignacio Soto Campos EL TRIBUNAL Presidente: Iván Vidal Fernández Secretaria: Iria Manuela Estévez Ayres Vocal: Raquel Pérez Leal Realizado el acto de defensa y lectura del Proyecto Fin de Carrera el día 19 de Febrero de 2015 en Leganés, en la Escuela Politécnica Superior de la Universidad Carlos III de Madrid, acuerda otorgarle la CALIFICACIÓN de VOCAL SECRETARIA PRESIDENTE III Desarrollo de Aplicaciones Colaborativas Multiplataforma Agradecimientos …que eres cero, que eres cuatro, que eres hielo; que tienes dos carros y tres carromatos, que falta la dicha, de un día, de un año, de un gozo, que quien ayer te quiso hoy te escuece y no tienes quien se atreva a declarar que el beso, que el luto, que la cuna, son espectros de pequeñas realidades y no muertos de carrozas sin domar. Miguel Ángel Torralbo Barea V Desarrollo de Aplicaciones Colaborativas Multiplataforma Resumen Este proyecto aborda el Análisis de las diferentes soluciones disponibles para el desarrollo de una aplicación móvil que pueda ejecutarse sobre diferentes plataformas (Android, HTML, iOS, etc) y cuyos datos se sincronicen en la nube mediante tecnologías ‘Cloud Computing’ abiertas existente. En el presente documento se detalla el estudio y definición del proceso a seguir para el uso de la solución elegida (Google App Engine y Google Cloud Endpoints) y se analiza el desarrollo de una aplicación de ejemplo que ayude a ilustrar y complementar el estudio y validar los objetivos e hipótesis planteadas. Palabras clave: Aplicaciones multiplataforma, Cloud Computing, Google App Engine, Google Cloud Endpoints, Android, iOS, HTML5, Channel API, JDO, Business Model Canvas. VII Desarrollo de Aplicaciones Colaborativas Multiplataforma Abstract This project will analyze the different available solutions for the development of mobile applications that can be run on different platforms (Android, HTML, iOS, etc.) which information are synchronized in the cloud by means of available cloud computing open technologies. The current document will study and describe the process to follow of the selected solution (Google App Engine and Google Cloud Endpoints) and analyzes the development of an example of use in order to illustrate and complement this study and validate the objectives and hypothesis proposed. Keywords: Cross-platform applications, Cloud Computing, Google App Engine, Google Cloud Endpoints, Android, iOS, HTML5, Channel API, JDO, Business Model Canvas. IX Índice general Capítulo 1. Introducción y objetivos .......................................................................................... 1 1.1 Motivación del proyecto ............................................................................................... 1 1.2 Objetivos ...................................................................................................................... 3 1.3 Estructura del proyecto ................................................................................................ 5 Capítulo 2. Estado del Arte ........................................................................................................ 7 2.1 Cloud Computing ......................................................................................................... 7 2.1.1 Introducción .......................................................................................................... 7 2.1.2 Definición .............................................................................................................. 8 2.1.3 Evolución histórica ................................................................................................ 9 2.1.4 Clasificación por capas ........................................................................................11 2.1.5 Servidores de aplicaciones ..................................................................................14 2.1.6 Comunicación cliente - servidor ...........................................................................15 2.1.7 Bases de datos ....................................................................................................19 2.2 Herramientas de desarrollo .........................................................................................21 2.2.1 Entornos de desarrollo integrados (IDE) ..............................................................21 2.2.2 Sistemas de Control de Versiones .......................................................................23 2.3 Diseño final .................................................................................................................27 2.4 Conclusiones ..............................................................................................................28 X
Description: