Download Articulo Calidad
Document related concepts
no text concepts found
Transcript
PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES CONTENT DELIVERY PLATFORM FOR MOBILE Ismaila López Sotolongo1, Miguel A. Torres Pérez2 1 UCI, Cuba, [email protected], Carretera a San Antonio de los Baños km 2 ½, Reparto Torrens, Boyeros, La Habana 2 UCI, Cuba, [email protected] RESUMEN: Los avances en las telecomunicaciones y la electrónica han propiciado el desarrollo de aplicaciones y servicios más versátiles y personalizados. En la actualidad el uso de tecnologías inalámbricas, fundamentalmente la telefonía celular, ha manifestado un incremento considerable, convirtiendo a los teléfonos móviles en dispositivos indispensables para la comunicación. En Cuba, el desarrollo de la telefonía móvil ha provocado que los usuarios sean más estrictos en la variedad y gusto de los servicios que demandan. Debido a los altos costos de las tecnologías empleadas para brindar estos servicios al país se le dificulta ofertar las prestaciones que posee la telefonía celular en el mundo actual. El proyecto Comcel, del Centro de Telemática de la Universidad de Ciencias Informáticas (UCI) desarrolla una plataforma de entrega de contenidos para móviles con el objetivo de enriquecer y elevar la calidad de los servicios móviles en la isla. La plataforma está pensada para brindar servicios de promociones, noticias, estado del tiempo y descarga de contenidos. Se tendrá una aplicación de administración que permita la gestión de dichos servicios y de los usuarios de la plataforma, en este caso proveedores de contenidos. Los proveedores contarán con una aplicación que facilite la gestión de sus contenidos, además de generar diferentes reportes de su interés, tales como: de los contenidos que publicó, cuáles fueron un éxito para los usuarios móviles, si fallaron las descargas o si fueron cancelados por los administradores; además podrá saber cuáles contenidos fueron más descargados, los últimos descargados y la facturación de su ganancia. Palabras Clave: telefonía móvil, contenido, proveedor, gestión de contenidos, plataforma de entrega de contenidos. ABSTRACT: Advances in telecommunications and electronics have led to the development of applications and services more versatile and personalized. Nowadays the use of wireless technologies, especially mobile phones, have shown a significant increase, so have become indispensable devices for communication. In Cuba, the development of mobile phone has caused that the users to be more restrictive in the variety and preference of the services they demand. Due to the high costs of the technologies used to deliver these services the country has difficulty offering benefits that owns the cell phone in today's world. The project Comcel, of the Telematic Center of the University of Information Sciences (UCI) develops a platform for delivering content for moviles in order to enrich and improve the quality of mobile services on the island. The platform is designed to provide services of promotions, news, weather and content downloading. It will have a administration application that allows the management of these services and the users of the platform, in this case content providers. Providers shall have an application that facilitates the management of them content and generate different reports of his interest, such as these published contents, which were a success for mobile users, if downloads are failed or were canceled by administrators; besides find the contents that were most downloaded, the last downloaded and the billing its gain. . KeyWords: Cell phone, content, provider, content management, content delivery platform. 1. INTRODUCCIÓN A partir del siglo XXI, los teléfonos móviles han adquirido funcionalidades que van más allá de llamar o enviar mensajes de texto. El avance de la tecnología ha hecho que estos dispositivos incorporen funciones que antes parecían futuristas, como “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” reproducir música y videos, tomar fotos y pequeñas películas, consultar internet, enviar y recibir correos electrónicos, entre otras. La creciente difusión de la telefonía celular constituye un negocio para muchas empresas proveedoras de servicios, entre las que se pueden citar a Volantis [1] y Beeweb [2] las cuales además de brindar los servicios gestionan información relacionada a estos, por ejemplo: datos de los proveedores de contenidos, el costo de un contenido, cantidad de suscripciones o permisos sobre un servicio, entre otras funcionalidades. Las secuelas del bloqueo económico, y los altos costos de las tecnologías empleadas para producir estos servicios han ocasionado que los usuarios de telefonía celular en Cuba no tengan acceso a los mismos; además se ha identificado que muchos de los servicios que brindan algunas empresas internacionales no son compatibles con los principales intereses de los usuarios de la telefonía móvil en la isla. El proyecto COMCEL perteneciente al Centro de Telemática de la Universidad de las Ciencias Informáticas (UCI) tiene como objetivo desarrollar una plataforma de entrega de contenidos para móviles que brinde los servicios que demandan los usuarios de la telefonía móvil en el país. cación web gestionar los usuarios, administradores y proveedores, así como los servicios que brinde la plataforma. Mientras, la aplicación de administración para los proveedores le posibilitará a los mismos la gestión de sus contenidos, ya sea imágenes, videos, música, juegos, temas de dispositivos móviles y sus derechos digitales, así como la generación de reportes y la facturación, todo ello accesible desde una interfaz de usuario web. El sistema debe garantizar en todo momento la seguridad de la información que maneja. 2.3 Requisitos identificados Para el desarrollo de las aplicaciones de administración se identificaron un grupo de funcionalidades que se deben brindar a los usuarios del sistema. Las mismas se exponen a continuación en forma de requisitos funcionales. Se debe destacar que los requisitos referidos a la gestión de cualquier elemento del sistema encierra en él las funcionalidades de: insertar, modificar, eliminar y buscar al elemento en cuestión. 2.3.1 2. CONTENIDO Aplicación de Administración para la plataforma Se estará refiriendo a aquellas empresas que proveen a los usuarios móviles diferentes contenidos, por ejemplo: música, imágenes, videos, entre otros. Se identificaron los siguientes requisitos: Autenticar usuario Mostrar datos básicos de administración Cerrar sesión Habilitar contenido Deshabilitar contenido Gestionar categoría del contenido Gestionar sub-categoría del contenido Gestionar usuario (para insertar hay que diferenciar entre el proveedor y el administrador) Gestionar directorio telefónico Gestionar categoría de noticias Gestionar fuente de noticias Gestionar Promoción Modificar fuente de estado del tiempo Generar reporte de órdenes (fallidas, exitosas y canceladas) Soporte en línea 2.2 Descripción del sistema 2.3.2 El sistema a desarrollar va a contar con 2 aplicaciones de administración: una de administración para la plataforma y otra para los proveedores de contenidos de dicha plataforma. La aplicación de administración permitirá a los administradores de la plataforma mediante una apli- Se identificaron los siguientes requisitos: Autenticar usuario Gestionar contenido Generar reporte de órdenes (fallidas, exitosas y 2.1 Conceptos fundamentales 2.1.1 Contenido Contenido de la web es el contenido textual, visual o auditivo que se encuentra como parte de la experiencia del usuario en los sitios web. [3] 2.1.2 Gestión de contenidos para móviles Los sistemas de gestión de contenidos móviles (MCMS por sus siglas en inglés) son un tipo de sistema de gestión de contenidos (CMS por sus siglas en inglés) capaces de almacenar, entregar contenido y servicios para dispositivos móviles, como teléfonos móviles y teléfonos inteligentes. [4] 2.1.3 Proveedores de contenidos Aplicación de administración para los proveedores de la plataforma “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” canceladas) Libro de visitas Generar reportes de los contenidos (más descargados, más descargados por categorías, cantidad de descargas, últimos descargados) Facturación Generar PDF 2.4 2.4.1 Tecnologías y herramientas utilizadas Lenguaje de programación: Java Construido con extensas capacidades de interconexión TCP/IP, realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en el ciclo de desarrollo. Maneja sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. [5] 2.4.2 Plataforma de desarrollo: Java 2 Platform Enterprise Edition (J2EE) Define el estándar para el desarrollo de aplicaciones empresariales de varios niveles. La plataforma J2EE simplifica las aplicaciones empresariales basándolas en componentes estandarizados y modulares, proporcionando un conjunto completo de servicios a esos componentes, y manejando muchos detalles de comportamiento de las aplicaciones de forma automática, sin necesidad de programación compleja. La plataforma J2EE añade soporte completo para componentes Enterprise JavaBeans, Java Servlets API, JavaServer Pages(JSP) y la tecnología XML.[6] 2.4.3 Servidor Tomcat de aplicación: Apache Implementa las especificaciones de los servlets y de JavaServer Pages. Los usuarios disponen de libre acceso a su código fuente y a su forma binaria en los términos establecidos en la Apache Software Licence. Tomcat puede funcionar como servidor web por sí mismo y es usado como servidor web autónomo en entornos con alto nivel de tráfico y alta disponibilidad. Dado que fue escrito en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual Java. [7] 2.4.4 Frameworks de acceso a datos: Hibernate. Herramienta de Mapeo Objeto-Relacional (ORM) para la plataforma Java, consiste en la técnica de realizar la transición de una representación de los datos de un modelo relacional a un modelo orientado a objetos y viceversa. Hibernate es software libre, distribuido bajo los términos de la licencia GNU LGPL. Hibernate está diseñado para ser flexible en cuanto al esquema de tablas utilizado, para poder adaptarse a su uso sobre una base de datos ya existente. También tiene la funcionalidad de crear la base de datos a partir de la información disponible. Hibernate para Java puede ser utilizado en aplicaciones Java independientes o en aplicaciones Java EE. [8] 2.4.5 Servidor de base de datos: PostgreSQL Es un sistema de base de datos objeto-relacional (ORDBMS), basado en POSTGRES versión 4.2 desarrollado en la Universidad de California en Berkeley; es un descendiente de código abierto del código original de Berkeley. Ofrece muchas características modernas como: consultas complejas, claves externas, integridad de las transacciones y multiversión control de concurrencia; además puede ser ampliado por el usuario en muchos aspectos, por ejemplo mediante la adición de nuevos tipos de datos, funciones, operadores, las funciones de agregado, métodos de índice y lenguas de procedimiento. A causa de la licencia liberal puede ser utilizado, modificado y distribuido por cualquiera de forma gratuita para cualquier propósito, ya sea privado, comercial o académico. [9] 2.4.6 Tecnologías del lado del servidor: Spring Frameworks Framework de código abierto de desarrollo de aplicaciones para la plataforma Java. Mientras que las características fundamentales de este framework pueden emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma empresarial de Java (Java Enterprise Platform). Su uso habitual es en entornos web. [10] 2.4.7 Tecnologías del lado del cliente: JQuery. Conjunto de librerías JavaScript que permite simplificar la manera de interactuar con los documentos HTML, permitiendo manejar eventos, desarrollar animaciones, y agregar interacción con la tecnología AJAX a las páginas web. Brinda varios beneficios como la reducción de código, reutilización de código, facilidad en manejo de arrays, facilidad para operaciones Ajax, compatibilidad Cross browser (multi-navegador) y fácil manejo de eventos y animaciones. [11] “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” 2.4.8 IDE de desarrollo: Eclipse 3.4 Plataforma de programación diseñada para la integración de IDEs, presenta una arquitectura abierta y basada en plugins, permitiendo así integrar diversos lenguajes sobre un mismo IDE e introducir otras aplicaciones accesorias. Soporta a los proyectos durante todo el ciclo de vida de desarrollo e incluye soporte de modelado. Eclipse es soportado en los principales sistemas operativos: Linux, Windows, Solaris 8, entre otros. [12] 2.4.9 Herramienta para generar PDF: iReport 4.0 Diseñador visual de código libre para JasperReports escrito en Java. Es un programa que ayuda a los usuarios y desarrolladores a diseñar reportes visualmente. A través de una interfaz agradable y simple de usar. Para generar documentos PDF desde código Java utilizaremos una librería llamada JasperReports, con la cual se pueden crear documentos PDF con texto, tablas, gráficos y crear conexiones con base de datos para los reportes. [13] 2.4.10 Mecanismos de seguridad: Spring Security Spring Security es un subproyecto del framework Spring, que permite gestionar completamente la seguridad de las aplicaciones Java. Es capaz de gestionar seguridad en varios niveles: URLs que se solicitan al servidor, acceso a métodos y clases Java, y acceso a instancias concretas de las clases. Permite separar la lógica de las aplicaciones del control de la seguridad, utilizando filtros para las peticiones al servidor de aplicaciones o aspectos para la seguridad en clases y métodos. Permite asignar los permisos directamente a los usuarios o a grupos de usuarios, o incluso mezclar ambas formas. [14] 2.5 Arquitectura del sistema En las aplicaciones de administración de la plataforma las reglas fundamentales del negocio serán manejadas del lado del servidor, dejando en el lado del cliente las reglas de presentación y validación de la información. Con este diseño se propone que los usuarios accedan a través de un navegador web a las funcionalidades de un sistema centralizado. Se propone un diseño por capas, encapsulando y delimitando las responsabilidades de cada una de estas en el sistema. [15] En la Figura #1 se representa la arquitectura del sistema: Figura. 1: Arquitectura del sistema Acceso a Datos: En la capa de accesos a datos del sistema se encuentran los objetos de acceso a datos, DAO por sus siglas en inglés, que se encargan de intercambiar información con la capa de negocio. Un DAO encapsula la lógica del acceso a datos separando la petición de los mismos, de la lógica de negocio. Presentación: Es la encargada de interactuar con el usuario, en la misma se encuentran las vistas y controladores. Las vistas son ficheros JSP (del inglés Java Server Page) generadas con HTML (del inglés Hipertext Markup Language) y el TAGLIB (bibliotecas desarrolladas para ser integradas y utilizadas en las páginas JSP de una aplicación J2EE), estándar de JSP. La capa de presentación interactúa con la capa de negocio a través de la arquitectura que propone Spring MVC (Modelo-VistaControlador). Lógica del Negocio: En esta capa se encuentran los managers que contienen las reglas o lógica de la aplicación. Los managers interactúan con los objetos de acceso a datos para consultar, insertar, modificar o eliminar información. Además de las fachadas, la cual responde a las solicitudes que realizan los controladores. Este responde a eventos, usualmente acciones del usuario, e invoca peticiones a la capa de acceso “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” a datos y, probablemente, a la vista. Entidades del Negocio o Dominio: Son las entidades que modelan el problema, es la abstracción de la situación real. Se representan de forma vertical ya que todas las capas interactúan con ellas, las consultan, las crean, las modifican y las eliminan. Seguridad: Están presentes las funcionalidades que garantizan el nivel de acceso de los usuarios al sistema, verificando en cada petición que el usuario tenga permiso para ejecutarla. Para implementar la seguridad se utiliza Spring Security. Se representa de forma vertical ya que todas las capas interac-túan con ella. Figura. 2: Diagrama de despliegue de la plataforma PC Administrador: Representa una computadora mediante la cual los administradores se conectan a la Plataforma de Entrega de Contenidos para Dispositivos Móviles. Excepciones: Significa que todas las solicitudes de un determinado sitio pasarán por un solo punto de entrada. Como resultado, todas las excepciones burbujearán eventualmente hacia arriba hasta el Controller, permitiendo al desarrollador manejarlos en un solo lugar. Se representa de forma vertical ya que todas las capas interactúan con ella. [16] PC Proveedor: Representa una computadora mediante la cual los proveedores de contenidos se conectan a la Plataforma de Entrega de Contenidos para Dispositivos Móviles. Servidor Aplicaciones: Representa el servidor principal donde se encuentra la Plataforma de Entrega de Contenidos para Dispositivos Móviles. 2.6 Solución Propuesta 2.6.1 Diagrama de Despliegue A continuación se ofrece una vista concreta del despliegue de hardware que se utilizará para implementar el sistema y los tipos de conexiones entre los nodos. Dicha plataforma cuenta con una interfaz de usuario web para los administradores y una para los proveedores de contenidos. Estas interfaces se conectarán mediante el protocolo HTTP a un servidor en el que estarán desplegadas las aplicaciones; el servidor a su vez estará conectado a una base de datos (BD) en la que será almacenada toda la información que es manejada en el sistema, siendo está la vía de integración de las aplicaciones debido a que los administradores en algún momento necesitan insertar, buscar, eliminar y modificar los contenidos que son almacenados en la BD y las demás aplicaciones acceden a ella para utilizarlos. En paralelo a esta investigación se realiza un portal wap, que permitirá, a los clientes de la telefonía móvil en Cuba, mediante un dispositivo conectarse usando un navegador a la plataforma y consumir así los servicios que ofrece la misma. En la Figura #2 se muestra el diagrama de despliegue de la Plataforma de Entrega de Contenidos para Móviles: Servidor de Base Datos: Representa el servidor encargado de almacenar toda la información referente a la plataforma. HTTP: Es el protocolo utilizado para las transacciones de la Web. Se utiliza para la conexión de la PC de administración con el servidor de aplicaciones de la plataforma. TCP/IP (Protocolo de control de transmisiones/Protocolo de internet): Este protocolo se utiliza para la conexión del servidor de aplicaciones con el servidor de base datos. Permite la transferencia de datos entre computadoras. 2.6.2 Resultados Como resultado de la investigación se obtuvo una aplicación que provee una interfaz de usuario a los administradores, permitiendo desde la misma la gestión de todos los usuarios y servicios que brinda la plataforma, principalmente la entrega de contenidos. Las posibilidades fundamentales que ofrece la aplicación a los administradores son: Gestionar todos los usuarios de la plataforma, ya sea administradores o proveedores. Gestionar los servicios que brinda la plataforma. “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” Habilitar y deshabilitar los contenidos que inserten los proveedores en la plataforma. Otro resultado significativo lo constituye la aplicación de administración para los proveedores, la cual proporciona una interfaz de usuario para la gestión de sus propios contenidos. Las facilidades más relevantes que brinda la aplicación a los proveedores son: 6. 7. Adicionar, modificar, eliminar y buscar sus propios contenidos. Generar un conjunto de reportes que facilita conocer la aceptación de los contenidos por los usuarios de la telefonía móvil. Realizar la facturación de los contenidos descargados. 8. 9. 3. CONCLUSIONES Cuba no disfruta de los diversos servicios de telefonía celular que brindan otros países, debido a las secuelas del bloqueo económico y los altos costos de las tecnologías. La plataforma de entrega de contenidos para móviles es un importante avance tecnológico y representa un logro para la soberanía tecnológica del país. La solución desarrollada ofrece servicios que se adecuan a los intereses de los usuarios de la telefonía móvil en la isla. Las aplicaciones de administración de la plataforma facilitan la adecuada gestión de los usuarios del sistema y de los servicios que ofrece, sobre todo en la gestión de contenidos. La solución propuesta avala que la información disponible en la plataforma es confiable y garantiza el nivel de acceso al sistema. 10. 11. 12. 13. 14. 4. REFERENCIAS BIBLIOGRÁFICAS 15. 1. Volantis Content Delivery Platform. [En línea] http://www.volantis.com/contentdelivery-platform. 2. Mobile Web & Content Delivery Platform. BeeWeb technologies. [En línea] http://www.beeweeb.com/mwt/index.php/pr oducts/mobile-web-content-deliveryplatform/ 3. Content Management Bible, Wiley Publishing. Ilustraciones de Antoine+Manuel enero de 2005, actualizado en noviembre de 2009. [En línea] Boiko, B (2002). 4. De gestión de contenidos para redes inalámbricas - Insight Research Informe. [En línea] 2008-2013 16. http://upcommons.upc.edu/pfc/bitstream/20 99.1/5542/2/Memoria.pdf. Investigación de la Plataforma J2EE y su Aplicación Práctica. [En línea] JUAN MANUEL BARRIOS NUÑEZ. , 2003. Claudio Ferreira, Jorge Ocampos y Evelyn Cuenca. Servidor de Aplicaciones Apache Tomcat. [En línea] 26 de Mayo de 2011. http://mistock.lcompras.biz/sysoper/1362sysop2011-servidor-de-aplicacionesapache-tomcat. Cesar Crespo Martin. Soporte a desarrollo informático. [En línea] http://www.adictosaltrabajo.com/tutoriales/t utoriales.php?pagina=hibernate. The PostgreSQL Global Development Group. PostgreSQL. [En línea] http://www.postgresql.org/docs/8.4/static/int ro-whatis.html. Spring Framework. [En línea] http://www.genbetadev.com/javaj2ee/spring-framework-introduccion Rebecca Murphey. Fundamentos de Jquery. [En línea] febrero de 2012. http://librojquery.com/. Eclipse. [En línea] http://www.webmastermexico.com/book/export/html/30. Roger Armando Contreras Corrales. Introducción a JasperReports. [En línea] http://es.scribd.com/doc/37388195/Manualde-Ireport. Enrique Viñe Lerma. Spring Security. [En línea] http://www.adictosaltrabajo.com/tutoriales/ tutoriales.php?pagina=utilizaciondegruposenspringsecurity. J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat. Application Architecture Guide 2.0, [En línea] Microsoft Corporation., 2008 José Enrique González Cornejo. Arquitectura en Capas ~ DNA,Un camino hacia los procesos distribuidos. [En línea], 25 de 03 de 2001 http://www.docirs.cl/arquitectura_tres_capa s.htm. 5. Dave Thomas, David Heinemeier Hansson: Agile Web Development with Rails, Second Edition. The Pragmatic Bookself. [En línea] Addison Wesley Professional. “VI Simposio de Telecomunicaciones” López, I.; Torres, MA. | “PLATAFORMA DE ENTREGA DE CONTENIDOS PARA MÓVILES” 5. SÍNTESIS CURRICULARES DE LOS AUTORES Ismaila López Sotolongo: Ingeniera en Ciencias Informáticas, graduada en julio del 2008 en la Universidad de Ciencias Informáticas (UCI), La Habana, Cuba. Actualmente se desempeña como profesora en la UCI con la categoría docente de Profesor Instructor. Ocupó el cargo de Asesora de Calidad en el Centro de Telemática de la UCI. Se desempeñó como líder del proyecto Comcel, en el cual se llevó a cabo la investigación presentada en este artículo. Se desempeña actualmente como analista del proyecto SIGI, que desarrolla un sistema de gestión para incidentes en los productos obtenidos de los proyectos informáticos. Miguel A. Torres Pérez: graduado de Ingeniero en Ciencias Informáticas en la Universidad de las Ciencias Informáticas (UCI). Se desempeñó como Arquitecto y Programador Principal del proyecto Comcel, en el cual se llevó a cabo la investigación que se presentada en este artículo. “VI Simposio de Telecomunicaciones”