cloudroom: una plataforma universitaria social, semántica y ubicua

38
CloudRoom Una 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áticos Universidad Politécnica de Madrid TRABAJO FIN DE GRADO

Upload: francisco-javier-sanchez-carmona

Post on 28-Nov-2014

494 views

Category:

Technology


0 download

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

Page 1: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 2: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 3: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Motivación

Page 4: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 4

MotivaciónInternetificación

Page 5: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 6: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 7: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 8: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 9: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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)

Page 10: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Objetivos

Page 11: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 12: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Fundamentos Tecnológicos

Page 13: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 13

Fundamentos tecnológicos

Page 14: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Planteamiento del Problema

Page 15: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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 …

Page 16: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Solución Propuesta

Page 17: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 18: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 19: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 20: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 21: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 22: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 22

Solución PropuestaModelo de Datos

• Modelo de Redes Semánticas

Page 23: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 24: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 25: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 25

Solución PropuestaBack-end

Page 26: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 27: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 27

Solución PropuestaFront-end

Page 28: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 29: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

CloudRoom - Francisco Javier Sánchez Carmona 29

Solución PropuestaFront-end

Page 30: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 31: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 32: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Conclusiones

Page 33: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 34: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

Líneas Futuras

Page 35: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 36: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 37: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua

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

Page 38: CloudRoom: Una Plataforma Universitaria Social, Semántica y Ubicua