Download Mejor tecnología para aplicación práctica NOMAD
Document related concepts
no text concepts found
Transcript
TECNOLOGÍA APLICACIÓN PRÁCTICA NOMAD: NOMADIC MODEL FOR THE DISPLAY ADAPTATION ORIENTED TO FINAL USERS NOMAD Mejor tecnología para aplicación práctica NOMAD Luis Carlos Niño Tavera Juan Carlos Nova El objetivo de este anexo es mostrar el proceso que se tuvo para decidir la tecnología de desarrollo del prototipo. En primera instancia es necesario tener en cuenta dos tipos de aproximaciones en aplicaciones: cliente “ligero” y cliente “pesado”. La primera aproximación se basa en realizar un desarrollo que es implementado en un servidor de aplicaciones y al cual acceden los clientes vía web. La segunda aproximación se basa en dos desarrollos, un lado servidor encargado de resolver peticiones de los clientes y un lado cliente el cual dependiendo de la lógica de la aplicación realiza peticiones al servidor. De acuerdo a lo antes mencionado, en la Tabla 1. Tabla Comparativa Tipos de Arquitectura se realiza una comparación de los dos tipos de aproximaciones basándose en los requerimientos de la aplicación práctica. Tabla 1. Tabla Comparativa Tipos de Arquitectura Cliente “ligero” Cliente “pesado” Registrar las capacidades o formatos de despliegue soportados por el DAH. - + Registrar las características físicas del DAH - + Unir información DAH y Perfil Usuario + + Envío de Información de Autenticación + + Envío de Sesión Móvil y de usuario (periódica y por eventos dispositivo) - + Requerimiento Persistencia de Perfiles Informar el tipo de conexión y velocidad Actualización de Servicios - + (Siempre es la misma) + + + (Múltiples protocolos) + Por medio de la Error! Reference source not found. se puede decir que la arquitectura de cliente “pesado” cumple con todos los requerimientos del prototipo que se va a implementar. A continuación se presentará un estudio sobre las diversas tecnologías para el desarrollo en dispositivos móviles con el fin de obtener la opción que más se adecue a las necesidades del prototipo. En la Tabla 2 se listan los criterios por medio de los cuales se van a comparar las tecnologías de desarrollo en dispositivos móviles. Tabla 2. Criterios de Evaluación Índice criterio 1 Criterio de evaluación Plataforma necesaria 2 Lenguaje de desarrollo 3 Aplicaciones desarrolladas, es decir, objetivos a ser cumplidos por la aplicación que se desea desarrollar 4 Herramientas de desarrollo 5 Entorno de ejecución 6 Rendimiento 7 Interfaz de usuario (cliente de aplicación) 8 Manejo del contexto del dispositivo, es decir, capacidad de controlar aplicaciones del dispositivo Para realizar la evaluación de las tecnologías, se le asignó un valor cuantitativo a cada una de acuerdo al criterio comparado con el fin de obtener un consolidado de la cantidad que cumple o no la tecnología. En la Tabla 4 y se pueden apreciar las características encontradas sobre las tecnologías con respecto al criterio evaluado. Finalmente, en la Tabla 4 se muestran los valores dados a cada criterio con respecto a la tecnología comparada. En ésta se manejaron valores de uno a cinco en donde cinco significa que la tecnología satisface las necesidades del prototipo que se va a implementar y uno no satisface las necesidades. Los valores dados a cada criterio corresponden al grado que cada tecnología cumple las necesidades de la aplicación. Tabla 3. Sumatoria Criterios Tecnología Escogida Índice criterio 1 2 3 4 5 6 7 8 Suma Compact .Net Framework 2 4 3 4 4 4 4 3 28 Java Micro Edition 4 3 5 5 4 4 4 5 34 PYTHON 5 3 3 3 4 5 4 1 28 Por medio de la Tabla 4 se muestra que en los criterios comparados, los cuales fueron escogidos pensando en las necesidades del prototipo, la opción más adecuada para desarrollar el prototipo es Java Micro Edition. TECNOLOGÍA APLICACIÓN PRÁCTICA NOMAD: NOMADIC MODEL FOR THE DISPLAY ADAPTATION ORIENTED TO FINAL USERS Tabla 4. Comparación .NET vs JME vs. Python Índice criterio 2 Básicamente en sistema operativo Windows. Por ejemplo, por medio de Mono puede lograrse correr sobre SO Linux o Mac . Estándar de librerías y componentes entre versiones; sin embargo, por el hecho de que es propietaria, los nuevos estándares no son soportados rápidamente. 3 Soporte de aplicaciones nativas para el uso de multimedia (Windows Media Player) y manejo de interfaz por medio de forma 4 Microsoft Visual Studio .NET IDE consiste en un motor de desarrollo visual para el desarrollo rápido de aplicaciones (RAD). 1 5 1 Compact .Net Framework Corre sobre una máquina virtual la cual maneja la seguridad, uso de memoria, acceso a recursos, etc. En algunos dispositivos en necesario realizar instalaciones complementarias para su correcto funcionamiento. JCP: acrónimo en inglés de Java Community Process Java Micro Edition PYTHON Sistema operativo que soporte KVM Linux, Mac, Palm, Windows. Debe tener instalado el interpretador de Python. Problemas de estandarización, los API’s varían dependiendo del distribuidor. Sin embargo, gracias a la comunidad JCP1 se realizan la mayor cantidad de estandarizaciones para que los productores de máquinas virtuales se adhieran a estos. Soporte de multimedia por medio del Java Media Framework, manejo de animaciones. Manejo de interfaces complejas (juegos 3D) o básicas, diseño de formas. Existen adiciones para múltiples IDE’s como los son Netbeans o Eclipse con el fin de realizar desarrollo móvil permitiendo el despliegue directamente en el dispositivo. Corre sobre una máquina virtual la cual maneja la seguridad, uso de memoria, acceso a recursos, etc. Entorno de ejecución para JME vienen instalados en dispositivos desde su fabricación, para entornos Windows ME es necesario realizar algunas Librerías del lenguaje Python [2]. Permite el manejo de dispositivos embebidos (e.g. GPS, acelerómetro, etc.), Existe herramienta de desarrollo para serie s60 de la marca Nokia. En el caso de la seria S60 de Nokia, corre sobre módulos de PyS60, plataforma desarrollada para soportar Python en esta serie. En los otros dispositivos es necesario instalar el interpretador de Python. 6 7 8 instalaciones. En estudios realizados [1] comparar el En estudios realizados [1] comparar el En estudios realizados [3] sobre las funcionamiento en una Pocket PC y el funcionamiento en una Pocket PC y el versiones estándar de Python, es más rendimiento es igual a JME. rendimiento es igual a .Net CF. rápido que Java y en más compacto que lenguajes existentes (e.g. C, Java) pero para procesamiento intensivo es más lento que Java. Rico en controles de interfaz de usuario, Permite interfaces AWT similares a las de Permite interfaces basadas en formas similares a la edición estándar de Visual las ediciones estándares. Permite el similares a las de JME. Basic o C#. diseño de interfaces basadas en formas y además permite diseño de interfaces complejas para juegos y aplicaciones multimedia. Permite tener poder sobre la aplicación En el JSR 211 se define el Context No permite controlar aplicaciones del nativa de multimedia, Windows Media Handler API el cual permite una mayor dispositivo. Player. integración de aplicaciones J2ME en un entorno de aplicación del dispositivo y gestiona las acciones para manejar identificadores de recursos uniforme (URI), basado en un tipo MIME o sistema TECNOLOGÍA APLICACIÓN PRÁCTICA NOMAD: NOMADIC MODEL FOR THE DISPLAY ADAPTATION ORIENTED TO FINAL USERS Referencias: 1. Java World: http://www.javaworld.com/javaworld/jw-05-2003/jw-0516- wireless.html?page=1 (último acceso Mayo 2009). 2. Python mobile: http://www.awaretek.com/pymo.html 3. Comparación de Rendimiento entre Python, http://python.org.ar/pyar/RendimientoPythonVsJavaVsNet Java y .Net: