2. J2ME
J2ME (Java 2 Micro Edition)
Versión del lenguaje java orientada al
desarrollo de aplicaciones para
dispositivos pequeños, con capacidades
restringidas tanto graficas como de
almacenamiento y procesador
4. Componentes de J2ME
Una Máquina Virtual (CVM - KVM) de
reducido tamaño que ejecuta el "bytecode"
de las clases java
Conjuntos de Clases básicas, llamadas
Configuraciones, orientadas a conformar el
corazón de las implementaciones para
dispositivos de características específicas
Librerías Java, llamadas Perfiles, orientadas
a implementar funcionalidades de más alto
nivel para familias específicas de dispositivos
5. Maquinas Virtuales
KVM (Kilobyte Virtual Machine)
Una máquina virtual Java cuyo tamaño se
mide en unos cientos de Kbytes
La más pequeña de las desarrolladas por
Sun
No soporta operaciones en coma flotante
ni finalización de objetos
6. Maquinas Virtuales
CVM (Compact Virtual Machine)
Es la MV de referencia para la
configuración CDC
Dispositivos con mayores capacidades
7. Configuraciones
En J2ME una configuración define la
plataforma mínima Java para una
determinada familia de dispositivos con
similares requerimientos de memoria y
capacidad de proceso
Una Configuración combina la máquina
virtual (KVM o CVM) con un conjunto de APIs
apropiadas para una amplia categoría de
dispositivos
8. Configuraciones CLDC
CLDC Connected Limited Device
Configuration
Orientada a dispositivos con grandes limitaciones
128K ROM (mínimo) y 32K RAM (mínimo)
Procesador de 16 o 32 bit con al menos 25 MHz de
velocidad
Capacidades gráficas muy restringidas
No existe soporte para operaciones en punto flotante
9. Configuraciones CLDC
Utiliza 37 clases que provienen de los paquetes:
java.lang
java.io
java.util
Clases específicas de CLDC (red)
javax.microedition.io
10. Configuraciones CDC
CDC Connected Device Configuration
Orientada a dispositivos de mayores
capacidades de procesamiento y memoria
Procesador de 32 bits.
Disponer de 2 Mb o más de memoria total,
incluyendo memoria RAM
12. Perfiles
Un conjunto de APIs de Java que
añ adidas a una configuració n
conforman una plataforma completa
para un tipo específico de dispositivo
Permiten el acceso a funcionalidades
específicas de los dispositivos
13. Perfiles
Foundation Profile (FP)
Construido sobre CDC
Memoria > 1024K ROM y > 512K RAM
Complementa CDC en el nivel mas basico
Para dispositivos que carecen de interfaz
grafico
No incluye interfaz de usuario
14. Perfiles
Personal Profile (PP)
Complemento de Foundation Profile
Orientado a dispositivos con interfaz
grafica
Añade un interfaz de usuario
Permite ejecución de applets
15. Perfiles
RMI Profile
Permite comunicacion entre dispositivos
PDA Profile
Desarrollado sobre CLDC
Orientado a PDAs tipo Palm
16. Perfiles
Mobile Information Device Profile
(MIDP)
Desarrollado sobre CLDC
Diseñado para teléfonos moviles y PDAs
Aplicaciones se llaman MIDlets
Incluye interfaz de usuario
Perfil mas usado en la programacion de
dispositivos moviles
17. Otras Plataformas JAVA
Javacard
Entorno de desarrollo para tarjetas inteligentes
EmbeddedJava
Orientado a dispositivos como computadores de
automóviles, maquinas de ventas.
PersonalJava
Versión reducida de la JVM 1.1 y de APIs de JDK
1.1
Absorbida por J2ME
18. Otras Maquinas Virtuales
Java
Insignia's Jeode JVM
Mas utilizada
Basada en CDC y CLDC
Creada para Pocket PC y PDAs
Windows CE , PocketPC, Linux
Versión Comercial
19. Otras Maquinas Virtuales
Java
IBM WebSphere Studio
Orientada a desarrollar aplicaciones para
Teléfonos y PDAs
Basada en CLDC y MIDP
IBM's J9 VM
Orientada a PocketPC y PDAs
Basada en MV de J2ME y las
configuraciones CDC y CLDC
20. Otras Maquinas Virtuales
Java
SuperWaba
No es realmente una MV Java
Propia MV y clases.
Sintaxis subconjunto de Java.
Gratis.
21. Ventajas Personal Java sobre J2ME
Transición mucho mas clara y rápida desde J2SE.
Real acceso al hardware de los dispositivos, no
existe una “sandbox”
Desventajas
Personal Java esta basado sobre JDK 1.1
A la fecha, SUN no ha desarrollado una JVM para
Pocket PC que soporte J2ME
Conclusiones
22. Situación Actual
Personal Java: End Of Live Announcement
Mayoría celulares actuales soportan J2ME
(excepción serie P Sonny Ericson)
Personal Profile/CDC debería ser el sucesor de
Personal Java, pero aun no se encuentra
implementado.
Conclusiones
23. Otras alternativas a Java
Utilizar implementaciones alternativas de Java:
Escasa adhesión
Desarrollar en C# utilizando .Net Compact
Framework
Desarrollo nativo de operaciones: Microsoft
Embedded C++
Conclusiones