cloudroom: una plataforma universitaria social, semántica y ubicua
DESCRIPTION
Learn more at: http://www.cloudroom.co In CloudRoom, a MOOC platform has been designed with an architecture that satisfies the last conventions on Cloud Computing; which involves the use of REST services, NoSQL databases, and uses the last recommendations from W3C in terms of web development and Linked Data. For its building process, agile methods of Software Engineering, Human-Computer Interaction techniques, and state of the art technologies such as Neo4j, Redis, Node.js, AngularJS, Bootstrap, HTML5, CSS3 or Amazon Web Services have been used. Furthermore, a comprehensive Informatics Engineering work has been performed, by combining virtually all of the areas of knowledge in Computer Science. Summarizing, the pillars of a robust, maintainable, and distributed system have been devised; a system with social and semantic capabilities, which runs in multiple devices, and scales to millions of users.TRANSCRIPT
CloudRoomUna Plataforma Universitaria Social, Semántica y Ubicua
Autor: Francisco Javier Sánchez Carmona
Directora: Sonia de Frutos Cid
Escuela Técnica Superior de Ingenieros InformáticosUniversidad Politécnica de Madrid
TRABAJO FIN DE GRADO
CloudRoom - Francisco Javier Sánchez Carmona 2
Contenidos
1. Motivación
2. Objetivos
3. Fundamentos Tecnológicos
4. Planteamiento del Problema
5. Solución Propuesta
6. Conclusiones
7. Líneas Futuras
Motivación
CloudRoom - Francisco Javier Sánchez Carmona 4
MotivaciónInternetificación
CloudRoom - Francisco Javier Sánchez Carmona 5
MotivaciónComputación Móvil
• Internet está independizándose de los ordenadores• Cada vez mayor capacidad de cómputo• Conexiones de 4ª Generación (4G)• Internet of Things
CloudRoom - Francisco Javier Sánchez Carmona 6
MotivaciónRedes Sociales y Web Semántica
• Información gigantesca desestructurada e inconexa• Redes Sociales • Ricas en conexiones de los datos
• Soluciones• Tecnologías semánticas
Facebook Open Graph Twitter Interest Graph Google Knowledge Graph
CloudRoom - Francisco Javier Sánchez Carmona 7
MotivaciónCloud Computing
• Utility Computing• La computación como suministro• Como la electricidad, el agua o el teléfono
• Cloud Computing• Una idea antigua rebautizada
“If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry.” —John McCarthy, discurso en el centenario del MIT en 1961
CloudRoom - Francisco Javier Sánchez Carmona 8
MotivaciónMassive Open Online Courses (MOOC)
• Educación aumentada tecnológicamente• Cursos Online Masivos y Abiertos • Metodología• Curso con una estructura temporal definida• Número de estudiantes ilimitado• Impartido vía Internet• Materiales accesibles de forma gratuita
CloudRoom - Francisco Javier Sánchez Carmona 9
Motivación Principales Plataformas
• Creadas por prestigiosas Universidades• En España• MiriadaX
• Para el futuro• Mooc.org (Google)
Objetivos
CloudRoom - Francisco Javier Sánchez Carmona 11
Objetivos
• Plataforma MOOC desplegada en Cloud• Aplicación Software as a Service (SaaS)• Social• Multidispositivo (PC, Tablet, Smartphone …)• Semántica de los datos almacenados• Escalable y elástica
Fundamentos Tecnológicos
CloudRoom - Francisco Javier Sánchez Carmona 13
Fundamentos tecnológicos
Planteamiento del Problema
CloudRoom - Francisco Javier Sánchez Carmona 15
Planteamiento del Problema
• Concepción del producto desde la etapa inicial• Poca experiencia y conocimiento
• Plataformas MOOC• Redes Sociales
• Técnicas de Interacción Persona-Ordenador• Técnicas ágiles de análisis de requisitos
• ERS• Gestión de la Interfaz Principal• Gestión de Cursos• Interacciones Sociales• Acceso a cursos, instituciones, usuarios …
Solución Propuesta
CloudRoom - Francisco Javier Sánchez Carmona 17
Solución PropuestaMetodología y Ciclo de Vida
• Ciclo de vida iterativo e incremental• Metodología personalizada• Métodos ágiles de Ingeniería del Software
• Gestión de Configuración• Integración continua
Bitbucket• Código
Dropbox• Documentación
CloudRoom - Francisco Javier Sánchez Carmona 18
Solución PropuestaArquitectura del Software
• Todas las capas del sistema desacopladas• Front-end de Back-end
• Facilita la creación de nuevos clientes (Android, iOS …)
• Capa de datos del servicio web
• Balanceo de carga• Servidores de respaldo• Escalabilidad
CloudRoom - Francisco Javier Sánchez Carmona 19
Solución PropuestaModelo de Datos
• Aplicación centrada en los datos• Ingente cantidad de datos (Big Data)• Muy variados (Texto, Videos, Fotos)• Generados a gran velocidad• Proporcionan un gran valor
• Persistencia Poliglota • Sesiones en BBDD Clave-Valor• Datos sociales en BBDD de Grafos
CloudRoom - Francisco Javier Sánchez Carmona 20
Solución PropuestaModelo de Datos
• Almacenamiento de sesiones• Información volátil• Accedida potencialmente millones de
veces• Base de Datos NoSQL Redis
• Clave-Valor• Altamente escalable• Muy rápida para el dominio escogido
CloudRoom - Francisco Javier Sánchez Carmona 21
Solución PropuestaModelo de Datos
• Clasifican la información• Modelan conceptos de forma
natural• Proporcionan semántica a los
datos• Una Red Social es un Grafo
CloudRoom - Francisco Javier Sánchez Carmona 22
Solución PropuestaModelo de Datos
• Modelo de Redes Semánticas
CloudRoom - Francisco Javier Sánchez Carmona 23
Solución PropuestaModelo de Datos
• SGBD Neo4j• Grafo de propiedades etiquetado• Esquema opcional• Compatible con Tripletas (RDF)
• Consultas• Lenguaje declarativo Cypher
• Escala hasta 32.000 M de Nodos• Capaz de recorrer 1M de Nodos/s
CloudRoom - Francisco Javier Sánchez Carmona 24
Solución PropuestaModelo de Datos
• Modelo de diseño Neo4j• Etiquetas ayudan a clasificar e
indexar• Clases y Subclases
• Relaciones modelan conceptos
CloudRoom - Francisco Javier Sánchez Carmona 25
Solución PropuestaBack-end
CloudRoom - Francisco Javier Sánchez Carmona 26
Solución PropuestaBack-end
• Servicio web con API REST• Express.js
• Acceso a la capa de datos vía REST• Implementación• Javascript del lado del servidor (Node.js)• Modelo de entrada/salida no bloqueante
• Concurrencia asíncrona sin threads• Aplicaciones en red altamente escalables
CloudRoom - Francisco Javier Sánchez Carmona 27
Solución PropuestaFront-end
CloudRoom - Francisco Javier Sánchez Carmona 28
Solución PropuestaFront-end
• Interfaz web con Responsive Web Design• Proporciona cliente multidispositivo
• Lógica de la interfaz en Javascript• Framework Modelo Vista Controlador• Cliente REST
CloudRoom - Francisco Javier Sánchez Carmona 29
Solución PropuestaFront-end
CloudRoom - Francisco Javier Sánchez Carmona 30
Solución PropuestaDespliegue en Amazon Web Services
• Balanceo de carga elástico• Auto escalado dinámico• Dos zonas de disponibilidad• Tolerancia a fallos
• Alta disponibilidad de Contenido• Amazon CloudFront (CDN)
• Almacenamiento de objetos estáticos• Amazon S3
CloudRoom - Francisco Javier Sánchez Carmona 31
Solución PropuestaDespliegue en Amazon Web Services
• Dos modos Maestro/Esclavo• Neo4j• Datos replicados• Alta disponibilidad
• Redis• Datos particionados y
replicados• Tolerancia a fallos• Alta disponibilidad
Conclusiones
CloudRoom - Francisco Javier Sánchez Carmona 33
Conclusiones
• Proyecto integral de Ingeniería en Informática• Mayoría de áreas de conocimiento tratadas• Valoración de amplia gama de tecnologías
• Trabajo centrado en diseño escalable y elástico• Idea original propuesta• Dificultad inherente• Ambiciones que exceden el tiempo dado
Líneas Futuras
CloudRoom - Francisco Javier Sánchez Carmona 35
Líneas FuturasBuscador Semántico
• Al estilo Facebook Graph Search• Consultas de la BBDD en lenguaje natural• Ya se han iniciado las investigaciones
CloudRoom - Francisco Javier Sánchez Carmona 36
Líneas FuturasOtras funcionalidades
• Motor de recomendaciones• De cursos, de estudiantes para empleos
• Funcionalidades educativas• Clases en video• Automatización de las evaluaciones• Fórmulas colaborativas
• Certificados firmados• Chat Social
CloudRoomUna Plataforma Universitaria Social, Semántica y Ubicua
Autor: Francisco Javier Sánchez Carmona
Directora: Sonia de Frutos Cid
Escuela Técnica Superior de Ingenieros InformáticosUniversidad Politécnica de Madrid
TRABAJO FIN DE GRADO