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”