![]() Versión: 2.0, Septiembre, 2006 Juan Manuel Fernández Luna Web: http://decsai.ugr.es/~jmfluna, Mail: jmfluna@decsai.ugr.es |
![]() ![]() ![]() (C) Decsai Web: http://decsai.ugr.es |
La arquitectura de J2ME define configuraciones (configurations), perfiles (profiles) y paquetes
opcionales, como elementos básicos para desarrollar aplicaciones
que se ajustan a las características de un amplio rango de
dispositivos. Cada combinación se optimiza según la
memoria, la capacidad de procesamiento y de entrada/salida de una
categoría específica de dispositivos.
Las configuraciones están
compuestas por una máquina virtual y un conjunto mínimo
de
bibliotecas de clases, las cuales serían un mínimo
denominador común con que contarán todos los dispositivos
de una configuración dada; o lo que es lo mismo ofrecen la
funcionalidad para un rango particular de dispositivos con
características comunes.
Existen dos configuraciones
actualmente: Connected Limited Device
Configuration (CLDC) y Connected
Device Configuration (CDC):
En la siguiente figura podemos ver un cómo se relacionan las dos configuraciones existentes y también con respecto a J2SE.
Las especificaciones de las
configuraciones no indican ningún tipo de implementación
de la máquina virtual, por lo que cada cual puede crear sus
propios entornos de ejecución. Los que ha desarrollado Sun son
Kilobyte Virtual Machine (KVM) para CLDC y C Virtual Machine (CVM).
En este curso estudiaremos de manera
más detallada la configuración CLDC.
Con objeto de ofrecer un completo entorno de ejecución específico para cada categoría de dispositivo, las configuraciones se deben combinar con un conjunto de APIs de alto nivel, conocidas como perfiles, que definen el modelo de ciclo de vida de la aplicación, el interfaz de usuario y el acceso a las propiedades específicas del dispositivo. Algunos de los perfiles existentes son (varios todavía en la etapa de definición):
Actualmente el perfil más
utilizado es MIDP, que será el que estudiemos con profundidad en
este curso.
En el siguiente gráfico podemos ver un esquema modular con las diferentes configuraciones, perfiles y máquinas virtuales:
Las aplicaciones desarrolladas para un determinado perfil serán portables a cualquier dispositivo que soporte ese perfil. Cabe destacar también que un mismo dispositivo puede soportar varios perfiles y que sobre una configuración también pueden residir diversos perfiles.