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: