La Configuración de Dispositivos Conectados Limitados ( CLDC ) es una especificación de un marco para aplicaciones Java ME que describe el conjunto básico de bibliotecas y características de máquina virtual que deben estar presentes en una implementación. La CLDC se combina con uno o más perfiles para brindar a los desarrolladores una plataforma para crear aplicaciones en dispositivos integrados con recursos muy limitados, como buscapersonas y teléfonos móviles . [ 1 ] La CLDC se desarrolló bajo el Proceso de la Comunidad Java como JSR 30 [ 2 ] (CLDC 1.0) y JSR 139 [ 3 ] (CLDC 1.1).
Requisitos típicos
CLDC está diseñado para dispositivos que tienen potencia de procesamiento, memoria y capacidad gráfica limitadas. Los dispositivos suelen tener las siguientes características: [ 1 ]
- Procesador de 16 o 32 bits con una velocidad de reloj de 16 MHz o superior.
- Se han asignado al menos 160 KB de ROM para las bibliotecas CLDC y la máquina virtual.
- Al menos 8 KB de RAM total disponible para la plataforma Java.
- Bajo consumo de energía, a menudo funciona con batería.
- Conectividad a algún tipo de red, a menudo con una conexión inalámbrica intermitente y ancho de banda limitado.
Limitaciones destacables
En comparación con el entorno Java SE , varias API están completamente ausentes, y algunas API se modifican de tal manera que el código requiere cambios explícitos para admitir CLDC. En particular, ciertos cambios no son solo la ausencia de clases o interfaces, sino que modifican las firmas de las clases existentes en la biblioteca de clases base. Un ejemplo de esto es la ausencia de la Serializableinterfaz, que no aparece en la biblioteca de clases base debido a restricciones en el uso de la reflexión. Por lo tanto, todas java.lang.*las clases que normalmente implementan Serializableno implementan esta interfaz de etiquetado .
Otros ejemplos de limitaciones dependen de la versión que se utilice, ya que algunas características se reintrodujeron con la versión 1.1 de CLDC. [ 4 ]
CLDC 1.0 y 1.1
- La
Serializableinterfaz no es compatible. - Partes de las capacidades de reflexión de la edición estándar de Java:
- El
java.lang.reflectpaquete y cualquiera de sus clases no son compatibles. - Métodos en
java.lang.Classlos que se obtienen constructores, métodos o campos.
- El
- Sin finalización. CLDC no incluye el
Object.finalize()método. - Gestión de errores limitada. Los errores que no se producen durante la ejecución se gestionan finalizando la aplicación o reiniciando el dispositivo.
- No hay cargadores de clases definidos por el usuario
- No se permiten grupos de hilos ni hilos demonio.
Perfiles
Un perfil es un conjunto de API que admiten dispositivos con diferentes capacidades y recursos dentro del marco CLDC para proporcionar un entorno de aplicación Java completo. Existen perfiles específicos para dispositivos que van desde máquinas expendedoras hasta decodificadores, siendo el perfil para teléfonos móviles MIDP el más común. [ 5 ]
Perfil del dispositivo de información móvil
El Perfil de Dispositivo de Información Móvil ( MIDP) es un perfil diseñado para teléfonos móviles. Existen dos versiones de MIDP disponibles, especificadas en JSR 37 [ 6 ] [ 7 ] (MIDP 1.0) y JSR 118 [ 8 ] [ 9 ] (MIDP 2.0). Ambas versiones proporcionan una API de interfaz gráfica de usuario (GUI) orientada a pantallas LCD , e MIDP 2.0 incluye una API básica para juegos 2D. Las aplicaciones escritas para usar este perfil se denominan MIDlets . Muchos teléfonos móviles vienen con una implementación de MIDP, y es una plataforma popular para juegos descargables para teléfonos móviles. [ 10 ]
Perfil del módulo de información
El Perfil del Módulo de Información se especifica en JSR 195 [ 11 ] y está diseñado para máquinas expendedoras , tarjetas de red, enrutadores, cabinas telefónicas y otros sistemas con pantalla simple o sin pantalla y algún tipo de acceso de red bidireccional limitado. Solo se definen las API para la creación, el almacenamiento y el acceso a la red de aplicaciones. Estas son un subconjunto de los paquetes javax.microedition.io, rms y midlet en MIDP. Siemens Mobile y Nokia presentaron esta especificación al JCP.
Perfil de DoJa
El perfil DoJa fue diseñado para el teléfono móvil i-mode de NTT DoCoMo .
Perfil del decodificador digital
El perfil Digital Set Top Box , especificado en JSR 242, [ 12 ] está diseñado para el mercado del cable. También conocido como OnRamp , este perfil se basa en un subconjunto de la OpenCable Application Platform ( OCAP ), que define un conjunto de API para el desarrollo de aplicaciones para decodificadores y dispositivos similares. El perfil consta de subconjuntos del CDC Personal Basis Profile, que incluye soporte para AWT , Xlet , acceso a archivos y API de red, así como varias interfaces relacionadas con medios de OCAP. El perfil completo abarcaba 31 paquetes Java y aproximadamente 1500 API. [ 5 ]
Paquetes opcionales
Los paquetes opcionales para PDA se especifican en JSR-75 [ 13 ] y están diseñados para PDA como Palm o dispositivos Windows CE . La especificación define dos paquetes independientes que representan características importantes presentes en muchas PDA y otros dispositivos móviles. Estos paquetes son:
- La gestión de información personal (PIM, por sus siglas en inglés) permite a los dispositivos acceder a los datos de gestión de información personal contenidos en libretas de direcciones, calendarios y listas de tareas pendientes.
- FileConnection (FC), que permite el acceso a sistemas de archivos y dispositivos de almacenamiento extraíbles, como tarjetas de memoria externas.
API generales
java.io- Una versión simplificada del paquete java.io que se encuentra en la edición estándar para realizar operaciones de entrada/salida.
java.lang- Contiene clases esenciales para el lenguaje Java. Este paquete incluye tipos estándar de Java como enteros y cadenas, así como excepciones básicas, funciones matemáticas, funciones del sistema, funciones de subprocesos y de seguridad.
java.util- Una versión simplificada de la
java.utilbiblioteca de colecciones. Este paquete contiene las clases de colección como Vector y Hashtable . También incluye las clases Calendar y Date.
Véase también
- Connected Device Configuration o CDC , otro marco de trabajo para crear aplicaciones Java ME.
Referencias
- 1 2 Descripción general de CLDC http://java.sun.com/javame/technology/cldc/overview.jsp
- ^ JSR 30, CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30
- ^ JSR 139, CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139
- ↑ API de J2ME: ¿Qué API provienen de la plataforma J2SE? http://developers.sun.com/mobility/midp/articles/api/
- 1 2 Resumen de perfiles basados en CLDC http://developers.sun.com/mobility/midp/ttips/cldc/
- ^ JSR 37, MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37
- ^ API MIDP 1.0 http://java.sun.com/javame/reference/apis/jsr037/
- ^ JSR 118, MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118
- ^ API MIDP 2.0 http://java.sun.com/javame/reference/apis/jsr118/
- ↑ pocketgamer.co.uk presenta una función para plataformas móviles http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266
- ↑ JSR 195, Perfil del módulo de información http://www.jcp.org/en/jsr/detail?id=195
- ↑ JSR 242, Perfil del decodificador digital http://www.jcp.org/en/jsr/detail?id=242
- ↑ JSR 75, Paquetes opcionales de PDA http://www.jcp.org/en/jsr/detail?id=75
Enlaces externos
- Página principal de CLDC
- Consorcio ESR
- Marco de trabajo CLDC basado en OSGi
- Plataforma de dispositivo Java
- Solicitudes de especificación de Java