La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes

Presentaciones similares


Presentación del tema: "Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes"— Transcripción de la presentación:

1 Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes
Provisión de Servicios Web Dinámicos Asociados a Video basados en Dispositivos Móviles Buenos días/tardes, con el permiso del tribunal voy a comenzar con la presentación del proyecto fin de carrera titulado “Provisión de Servicios Web Dinámicos Asociados a Video basados en Dispositivos Móviles ”. Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes Proyecto Fin de Carrera Universidad de Valladolid Septiembre, 2011

2 Índice Escenario del proyecto. Objetivos.
Esquema general del Proyecto. Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones. La exposición del proyecto se seguirán las pautas indicadas en el siguiente índice: Comenzaré explicando el escenario en el que se desarrolla el proyecto. Para ello hablare de los procesos que se dan en esta aplicación, unas líneas generales de cómo funciona y una descripción del proyecto en que se basa esta versión del “Organizador de debates”. En los objetivo, concretaré los puntos que se han pretendido alcanzar al realizar este proyecto. En el apartado Esquema general del Proyecto describiré aspectos del análisis, modelado e implementación de la aplicación. Continuaré explicando las tecnologías usadas para después realizar una demostración práctica del funcionamiento del Organizador de debates. Después de esta prueba, haré un breve repaso a las pruebas realizadas y acabaré la presentación señalando las principales conclusiones que he sacado desarrollando este proyecto y posibles líneas futuras de desarrollo.

3 Índice Escenario del proyecto. Objetivos.
Esquema general del Proyecto. Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones. La exposición del proyecto se seguirán las pautas indicadas en el siguiente índice: Comenzaré explicando el escenario en el que se desarrolla el proyecto. Para ello hablare de los procesos que se dan en esta aplicación, unas líneas generales de cómo funciona y una descripción del proyecto en que se basa esta versión del “Organizador de debates”. En los objetivo, concretaré los puntos que se han pretendido alcanzar al realizar este proyecto. En el apartado Esquema general del Proyecto describiré aspectos del análisis, modelado e implementación de la aplicación. Continuaré explicando las tecnologías usadas para después realizar una demostración práctica del funcionamiento del Organizador de debates. Después de esta prueba, haré un breve repaso a las pruebas realizadas y acabaré la presentación señalando las principales conclusiones que he sacado desarrollando este proyecto y posibles líneas futuras de desarrollo.

4 Escenario del proyecto
Ámbito y alcance del proyecto Estándares relacionados con los operadores de TV como máximos proveedores de contenidos. Gestión de bases de datos según las diferentes estrategias basadas en RDB ó XML. Análisis de los flujos de información relacionados con acceso multiusuarios. Herramientas de Procesamiento y Análisis relacionados con el Reconocimiento de contenidos. La aplicación a desarrollar no puede cubrir todos los tópicos relacionados con la provisión de servicios inteligentes y dinámicos vinculados a contenidos de video. Aunque el diseño puede incorporar más funcionalidades de las propuestas, es necesario acotar el alcance para obtener el mejor rendimiento en los tópicos relacionados con los objetivos específicos. En particular, en este PFC no se consideran los aspectos siguientes: Gestión de bases de datos según las diferentes estrategias basadas en RDB ó XML. Estándares relacionados con los operadores de TV como máximos proveedores de contenidos. Análisis de los flujos de información relacionados con acceso multiusuarios. Herramientas de Procesamiento y Análisis relacionados con el Reconocimiento de contenidos.

5 Escenario del proyecto
Líneas generales del funcionamiento del Organizador de Debates Parte Usuario. Seleccionar Videos. Búsqueda Avanzada. Perfil Usuario. Parte Administrador Gestión Usuario. Gestión Terminales. Gestión Videos. Ver Contenido. Estos participantes tendrán acceso a la mensajería que pone a disposición de la aplicación así como a las acciones correspondientes a las etapas del proceso generador de debates anteriormente explicadas.

6 Índice Escenario del proyecto. Objetivos.
Esquema general del Proyecto. Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

7 Índice Escenario del proyecto. Objetivos.
Esquema general del Proyecto. Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

8 Objetivos Objetivos concretos Familiarizarse con los conceptos y metodologías más utilizadas actualmente Identificar las tecnologías más utilizadas para las aplicaciones Web . Adaptar la aplicación a los estándares más utilizados. Desarrollar una aplicación dinámica. Los objetivos propuestas para esta versión del Organizador de Debates pasan por: Familiarizarse con los conceptos y metodologías más utilizadas actualmente, evaluando su rendimiento de cara al desarrollo de la aplicación. Identificar las tecnologías más utilizadas para las aplicaciones Web planteadas, en relación con lenguajes de programación, protocolos de comunicación, ontologías específicas y tipos de bases de datos más apropiadas para el diseño e implementación de la aplicación. Adaptar la aplicación a desarrollar en relación con los estándares más utilizados y que presenten más ventajas dentro del marco de Servicios Web para Video. Desarrollar una aplicación dinámica que pueda adaptarse a preferencias cambiantes manifestadas por el usuario, inducidas a partir de la navegación sobre dispositivos móviles o detectadas a partir de la localización, en relación con la consciencia del entorno.

9 Objetivos Seleccionar los metadatos más idóneos.
Objetivos concretos Seleccionar los metadatos más idóneos. Incorporar las anotaciones manuales. Analizar los sistemas de representación Evaluar los protocolos de seguridad. Seleccionar los metadatos más idóneos de medio nivel para el tratamiento de la información relacionada con los contenidos en video, extendiendo los metadatos básicos utilizados para la administración general de recursos (DCS) y específica de contenidos en video (MPEG-21). Incorporar las anotaciones manuales por parte de usuarios al Sistema Inteligente de gestión para el desarrollo de sistemas supervisados dentro de los estándares más extendidos. Analizar los sistemas de representación del conocimiento más relevantes para la gestión del contenido. Evaluar los protocolos de seguridad, incluyendo autenticación y privacidad, para garantizar un acceso seguro y privado al portal para cada usuario.

10 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

11 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

12 Desarrollo del proyecto
Planificación A continuación el diagrama de Gantt de seguimiento, para indicar que se ha seguido una planificación con unas fechas y unos objetivos. Las barras azules indican el tiempo estimado inicialmente para completar dicha tarea. Las barras rojas indican el tiempo real empleado en acometer dicha tarea. Analizando un poco la planificación se puede apreciar que las tareas que mayor tiempo han llevado son la de recopilar información y la implementación de la aplicación. También se puede apreciar cómo se han producido desviaciones en cuanto a lo planificado, fruto de diversas situaciones, todas ellas descritas en el plan de riesgos.

13 Desarrollo del proyecto
Modelo arquitectónico: Patrón Modelo-Vista-Controlador La arquitectura está compuesta por varios módulos, entre los que podemos destacar el Adaptation Module y el Transcoding Module. Como se puede observar, el módulo de adaptación es el que decide sobre los contenidos a mostrar, mandando los datos necesarios al módulo de transcodificación para que éste pueda realizar las modificaciones que sean necesarias y mande el nuevo flujo de video a petición del usuario. Para que esto sea posible el módulo de adaptación precisa de información adicional que se encuentra en los repositorios externos. Toda esta información es adquirida y organizada en el módulo de información.

14 Desarrollo del proyecto
Diagrama de casos de uso Presentamos el diagrama de uso de la aplicación. En ese diseño podemos distinguir dos roles el de usuario y el de administrador

15 Desarrollo del proyecto
Diagrama de clases de diseño Se muestra los diagramas de clases de la aplicación. El de la aplicación. Debido al número elevado de clases no se han representado todas por que si no habría quedado un esquema demasiado grande y se han dejado las más importantes. El de los servicios web.

16 Desarrollo del proyecto
Diseño de la base de datos: mysql A la hora de almacenar la información de la información. Un parte se almacena en una base de datos de tipo relacional. En la cual se guardar la siguiente información. Información relacionado con la identificación del usuario en la aplicación Información del historico de videos. Información que complementa la que ya existe en la base de datos xml.

17 Desarrollo del proyecto
Diseño de la base de datos: eXist(Base de datos nativa en xml) MediaCharacteristic NaturalEnvironmentCharacteristics NetworkCharacteristic TerminalCapabilitiesCharacteristics UserCharacteristic Para poder gestionar correctamente todas las características del usuario estas se dividen en cuatro plantillas o esquemas. Las plantillas ¿Muestro alguna……….? A cada uno de los esquemas se le asocia un XML, que variará dependiendo del usuario al que esté representando. Para la gestión de estos XML se pueden utilizar varias tecnologías y métodos. Para la formación de los metadatos en XML se usan dos estándares. El MPEG-7, también conocido como "Multimedia Content Description Interface", se utiliza para los metadatos de los datos media. El MPEG-21, conocido como MPEG-21 Multimedia Framework, se utiliza para los datos relacionados con el usuario, es decir, sus preferencias. Ambos estándares están basados en XML. El hecho de que los datos se organizan en dichos estándares utilizar bases de datos nativas es una solución idónea, las cuales ofrecen una eficiencia mucho mayor que las bases de datos relacional en términos de coste de conversión, ya que en las nativas no se hace ninguna conversión porque constantemente se introducen y se extraen datos en XML.

18 Desarrollo del proyecto
Implementación 1. Creación del Fronted Usuario. 2. Creación del Fornted Administrador. 3. Creación de los Servicios web. . Mediante el frontend de Usuario o interfaz Web, se realizará la comunicación entre el usuario y el módulo de adaptación, en este caso y adaptado al TFC, con el módulo Profiling Server. La comunicación entre la interfaz y el módulo se realizará mediante Servicios Web. Dicha interfaz la proporciona un servidor para atender las peticiones entrantes hechas por el usuario a través de un navegador. El servidor tiene desplegados los Servicios Web del servidor de perfiles y el del módulo de recomendación. El Servicio Web del Profiling Server es el encargado de atender las peticiones de obtención de datos de usuario o de media provenientes de la interfaz. Este servicio realizará las comunicaciones pertinentes con las bases de datos para extraer la información y procesarla para poder utilizarla y enviarla a través de su interfaz Web Service.

19 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

20 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

21 Tecnología empleada Servidor Web. Servidor de Base de Datos.
Lenguajes de programación y soportes Servidor Web. Servidor Apache vX.X Servidor de Base de Datos. MySQL vX.X Lenguaje de programación. PHP Javascript + AJAX + CSS Framework y Librerías Symfony v JQuery IDE: Netbeans 6.8 JDK 6 SE: Versión de desarrollo de Java, que además proporciona el entorno de ejecución. Utilizado para desarrollar el software de la J2EE: Java 2 Enterprise Edition, plataforma de desarrollo sobre la que trabaja el framework Struts. Struts 1.3: Herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC [9]. Utilizada para crear la aplicación web con la que se conectarán los usuario. Apache Tomcat 6: Servidor de aplicaciones que permitirá ejecutar los Servicios Web necesarios y la aplicación web. Hibernate 3.2: Herramienta para el mapeo Objeto-Relacional, sobre plataforma Java, necesaria para poder almacenar objetos Java en una base de datos relacional. Hibernate Annotations 3.2: Utilidad para realizar los mapeos de las clases más rápido sin tener que utilizar un fichero extra XML para el mapeo. Annotations leerá las anotaciones de los ficheros .class declarados en el fichero de configuración de Hibernate. MySQL Server 6: Base de datos relacional utilizada para almacenar los datos personales de usuario. eXist 1.2.1: Base de datos XML nativa utilizada para almacenar todos los perfiles de usuario y de recursos media. Digester 1.8: Herramienta que trabaja sobre las Application Programming Interface (API) de parsing de ficheros XML, Simple API for XML (SAX) [33] y realizar proceso de extracción de datos de una manera más sencilla. Necesaria para pasar los metadatos de usuario y de media a clases Java.

22 Tecnología empleada Servicios Web. Servicidor de Contenidos
Lenguajes de programación y soportes Servicios Web. Apache Axis Servicidor de Contenidos Red5 IDE: eclipse Europa Reconocimiento de moviles: Wurlf Apache Axis2 1.4: Kit de desarrollo en Java que permite desplegar los Servicios Web dentro del propio servidor de aplicaciones Tomcat. Wurlf:El WURFL en sí mismo es un fichero de configuración XML el cual contiene información acerca de características y capacidades de los dispositivos para una variedad de dispositivos móviles. Que tiene un api en java que permite acceder a la información contenida en ese archivo xml y otras características que ahora mismo no hablaremos de ellas. Red 5:Red5: Para hacer streming de video se ha elegido Red5. Se trata de un servidor Open Source para entregar contenido en streaming en Flash. Para ello utiliza el protocolo RTMP (Real Time Messaging Protocol) con lo cual se puede transmitir contenido en tiempo real. Este servidor tiene todas las cualidades del Flash Media Server de Adobe. Utiliza sintaxis de ActonScript Comunication con lo cual se pueden desarrollar aplicaciones de comunicación en tiempo real. El cual presenta las siguientes características: Steaming de Audio y Video (FLV y MP3) Facilidad para guardar Streaming del cliente. Shared Objects. Publication Live Streaming. Soporte para AMF o Flash Remoting Valoración: El servidor Red5 presenta las siguientes Ventajas y Desventajas: Ventajas Es libre La instalación es sencilla. Es muy estable, si un cliente genera una excepción el servidor solo falla en la conexión en que se genero y todos los demás clientes se mantienen sin problemas. Reproduce los siguientes formatos de video Desventajas: Falta de información sobre la creación de proyectos para usuarios novatos Para trabajar con funciones de clases de java se debe estar modificando el jar con el que se ejecuta el servidor Red5 Red5 se encuentra todavía en versiones inferiores a la 1.0. La última estable es la y actualmente se está trabajando en el segundo release candidate del 0.8.0

23 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

24 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones. 1.El entorno fijado por defecto zamora.xml(peliculas y deportes) 1.Muestro administrador, en el PC. Y Hablo de las diferentes opciones que hay 2.Hago hincapie en lo del entorno. 3.Mustro la pantalla usuario sdominguez y hablo de las opciones que tiene. 4.Entro con jcalvarez y salgo Y salir con el Pc de la aplicación. ///////////////////////////// sudo chroot /ebs service tomcat6 restart 1.Muestro parte administrador en el movil y hablo de las tres opciones. 2.Para finalizar muestro sdominguez y pincho un video para que sea vea Finalizo presentación y empieza turno de preguntas.

25 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

26 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

27 Pruebas Pruebas de integración de sistema.
Catálogo de pruebas Pruebas de integración de sistema. Sistemas operativos y navegadores. Pruebas en distintos dispositivos móviles. Nokia N95, nokia 5800 y Sony-Ericcson Vivaz. Pruebas de privilegios. Identificación Pruebas de funcionalidad. Pruebas de casos límite. En este apartado se explicarán de forma general el catálogo de pruebas realizadas en la aplicación. La finalidad de las pruebas han sido detectar los posibles errores del código para su posterior corrección. Tenemos las pruebas de integración del sistema. En ellas, se han probado el funcionamiento en sistemas operativos de Windows y Linux. Y en sistemas operativos para moviles como Symbian (distintas versiones del mismo) y android. Resultando problemático en este último. Y en los navegadores como explorer y firefox. El siguiente punto son las pruebas realizadas sobre los módulos para comprobar la seguridad de estos y el manejo de credenciales para el acceso por parte de los usuarios a las acciones que les están permitidas. Con las pruebas de funcionalidad se ha querido probar todas las operaciones selección de videos, busqueda avanzada. En el caso del administrador eliminar perfiles de usuario,crear nuevos entornos, etc.

28 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

29 Índice Escenario del proyecto. Objetivos. Desarrollo del Proyecto.
Tecnología empleada. Demostración práctica. Pruebas. Conclusiones y posibles ampliaciones.

30 Conclusiones y posibles ampliaciones
Objetivos logrados Se han alncanzado todos los objetivos planteados. Creación de una plataforma que permitiera la distribución y gestion de contenido multimedia. Que se puediera ejecutar en dispositivos moviles. Videos seleccionados en función usuario y dispositivo. Creación de una plataforma que permitiera la gestión y distribución de contenido multimedia de manera compatible con la Web Semántica y de acuerdo con los estándares especificados con una presencia cada vez mayor en el mercado. Una aplicación que se pudiera ejecutar en dispositivos móviles y que permita la reproducción sin problemas en los mismos de los videos seleccionados al usuario. Que los videos seleccionados al usuario. Fueran seleccionados en función de: Perfil usuario. Características dispositivo. Búsqueda avanzada: Criterios a la hora de discriminar los videos y que no cubren los anteriores.

31 Conclusiones y posibles ampliaciones
Mediante api wurfl aplicar tld wall. Acceso remoto a otros repositorios de videos. Añadir un sistema de pago para el visionado de videos. Extender las prestaciones a otros sistemas operativos móviles. Diseñar e implementar herramientas de Data Mining. Desarrollo de entornos virtuales. Ampliar el número de idiomas que soporta el sistema para poder llegar a más personas. Que el administrador no tenga que insertar nuevos contenidos multimedia en la aplicación si no que le se han proporcionados por otra aplicación. Y esto se actualicen de forma automática. Mediante api Wurlf, tiene un tld que se denomina wall, que permite adaptar el marcado al móvil, que se está conectando. Lo cual facilita bastante en que no haya problema en que el dispositivo no soporte el marcado de la aplicación. Acceso permitido a otros repositorios para gestión conjunta de contenidos compartidos a partir de un léxico común y, en fases posteriores, del alineamiento entre las Ontologías correspondientes a cada uno de los repositorios. Añadir un sistema de pago para ver los videos. Por ejemplo paypal. Extender las prestaciones a otros Sistemas Operativos presentes en el mercado. Incorporar prestaciones más avanzadas que están iniciando su desarrollo en el marco de la Web 3.0 Diseñar e implementar herramientas de Data Mining para mejorar las prestaciones en los servicios a clientes, de acuerdo con el histórico generado por la aplicación. Desarrollo de entornos virtuales para facilitar la interacción.

32 Gracias por su atención
Provisión de Servicios Web Dinámicos Asociados a Video basados en Dispositivos Móviles Gracias por su atención Gracias por su atención. Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes Proyecto Fin de Carrera Universidad de Valladolid Septiembre, 2011


Descargar ppt "Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes"

Presentaciones similares


Anuncios Google