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.
CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua
1. Escuela Técnica Superior de Ingenieros Informáticos
Universidad Politécnica de Madrid
TRABAJO FIN DE GRADO
CloudRoom
Una Plataforma Universitaria Social, Semántica y Ubicua
Autor: Francisco Javier Sánchez Carmona
Directora: Sonia de Frutos Cid
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
CloudRoom - Francisco Javier Sánchez Carmona
2
5. Motivación
Computació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
5
6. Motivación
Redes 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
CloudRoom - Francisco Javier Sánchez Carmona
Twitter Interest Graph
Google Knowledge Graph
6
7. Motivación
Cloud 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
7
8. Motivación
Massive 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
8
9. Motivación
Principales Plataformas
• Creadas por prestigiosas
Universidades
• En España
• MiriadaX
• Para el futuro
• Mooc.org (Google)
CloudRoom - Francisco Javier Sánchez Carmona
9
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
CloudRoom - Francisco Javier Sánchez Carmona
11
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 …
CloudRoom - Francisco Javier Sánchez Carmona
15
17. Solución Propuesta
Metodologí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
CloudRoom - Francisco Javier Sánchez Carmona
Dropbox
• Documentación
17
18. Solución Propuesta
Arquitectura 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
18
19. Solución Propuesta
Modelo 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
19
20. Solución Propuesta
Modelo 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
20
21. Solución Propuesta
Modelo 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
21
23. Solución Propuesta
Modelo 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
23
24. Solución Propuesta
Modelo 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
24
26. Solución Propuesta
Back-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
26
28. Solución Propuesta
Front-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
28
30. Solución Propuesta
Despliegue 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
30
31. Solución Propuesta
Despliegue en Amazon Web Services
• Dos modos Maestro/Esclavo
• Neo4j
• Datos replicados
• Alta disponibilidad
• Redis
• Datos particionados y
replicados
• Tolerancia a fallos
• Alta disponibilidad
CloudRoom - Francisco Javier Sánchez Carmona
31
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
CloudRoom - Francisco Javier Sánchez Carmona
33
35. Líneas Futuras
Buscador 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
35
36. Líneas Futuras
Otras 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
CloudRoom - Francisco Javier Sánchez Carmona
36
37. Escuela Técnica Superior de Ingenieros Informáticos
Universidad Politécnica de Madrid
TRABAJO FIN DE GRADO
CloudRoom
Una Plataforma Universitaria Social, Semántica y Ubicua
Autor: Francisco Javier Sánchez Carmona
Directora: Sonia de Frutos Cid