Publicado el 11 de Junio del 2019
1.219 visualizaciones desde el 11 de Junio del 2019
421,3 KB
32 paginas
Creado hace 23a (25/06/2001)
indexJ2ME
J2ME - Java 2 Micro Edition
Curso en formato PDF
Tabla de contenidos
¿Qué es J2ME?
Tal como indica su nombre, J2ME (Java 2 Micro Edition) es la versión del lenguaje java desarrollado por SUN y que está
orientada al desarrollo de aplicaciones para dispositivos pequeños, con capacidades restringidas tanto en pantalla gráfica, como
de procesamiento y memoria (teléfonos celulares, PDAs, HandHelds, etc). A través de esta serie de articulos vamos a conocer
qué es y que se necesita para poder desarrollar nuestras propias aplicaciones.
Primero y para los que ya están familiarizados con las clases de Java pueden ver en la figura-1 donde se ubica el API J2ME
dentro de la plataforma Java de SUN.
Figura-1: Arquitectura plataforma Java de SUN
Tal como se observa en la figura anterior, el API J2ME utiliza la KVM (Kilo Virtual Machine) que es el nombre que recibe la
maquina virtual java para los dispositivos englobados en CLDC (Connected Limited Device Configuration).
J2ME está constituído por los siguientes componentes:
• Una Máquina Virtual (KVM - Kilo Virtual Machine) 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.
KVM
Corresponde a la Máquina Virtual más pequeña desarrollada por Sun. Para una configuración estandar, requiere entre 50 y 80
Kbytes de memoria, y dado su bajo requerimiento de memoria dinámica para funcionar, su requerimiento final no debiera
superar los 180 Kbytes.
Configuraciones
La configuración define las mínimas librerias Java y las capacidades de la maquina virtual.
Actualmente está en proceso de test, aunque ya están disponibles la especificación CLDC 1.0 (Connected Limited Device
Configuration), para dispositivos con un total de memoria entre 128 KB y 512 KB, conectividad a la red y alimentación limitada.
Y la especificación CDC (Connected Device Configuration).
Perfiles (Profiles)
El primer perfil desarrollado se denomina MIDP (Mobile Information Device Profile), que en conjunto está diseñado para operar
con el CDLC y permitir la ejecución de aplicaciones java en dispositivos móviles (MID, Mobile Information Devices). En el
desarrollo de este perfil participan empresas tales como Ericcson, Fujitsu, Matsushita, Motorola, Nokia, NTT DoCoMo, Palm
Computing, RIM, Sony, Siemens y Sun Microsystems, entre otros e incluye teléfonos celulares y PDA's (Personal Digital
Assistants).
http://psoler.8m.net/J2ME/indexJ2ME.html (1 de 2) [25/06/2001 11:40:46]
indexJ2ME
A continuación desarrollaremos estos conceptos y veremos un ejemplo de aplicación practica.
Top
Next
http://psoler.8m.net/J2ME/indexJ2ME.html (2 de 2) [25/06/2001 11:40:46]
contentsJ2ME
Back
Tabla de contenidos
Página de inicio
Next
Capitulo 1: Instalación y uso del J2ME Wireless Toolkit.
Capitulo 2: Especificaciones de J2ME
Capitulo 3: K Virtual Machine (KVM)
Capitulo 4: Connected Limited Device Configuration (CLDC)
Capitulo 4_1: Seguridad en CLDC
Capitulo 4_2: Classfile Verification
Capitulo 4_3: JavaCodeCompact
Capitulo 4_4: Librerias CLDC
Capitulo 4_5: Soporte de red en CLDC
Capitulo 5: Mobile Information Device Profile (MIDP)
Capitulo 6: MIDlet
Capitulo 7: Ejemplos practicos
Capitulo 7.1. Aplicación HelloWorld para la KVM
Capitulo 7.2. Aplicación Pong en Palm OS
Capitulo 7.3. MIDlets: showProperties
Capitulo 8: MIDlets
Capitulo 8.1 Empaquetando multiples MIDlets en el MIDlet Suite
Capitulo 8.2 MySuite: ManyBalls and Sampler
Top
Home
Back
Next
http://psoler.8m.net/J2ME/contentsJ2ME.htm [25/06/2001 11:41:10]
installJ2ME
Back
Tabla de contenidos
Next
Nota: he introducido este capitulo en primer lugar dedicado a todos los impacientes que necesitan ya realizar desarrollos.
Instalación y uso del J2ME Wireless Toolkit
El J2ME Wireless Toolkit soporta el desarrollo de aplicaciones java para dispositivos de tipo MIDP. Adicionalmente tiene unas
herraminetas de desarrollo de aplicaciones básicas, como un preverificador de código (byte-code preverifier) y un Emulador.
Además, también provee de herramientas para dos diferentes entornos:
l
Desarrollo de aplicaciones desde ficheros fuente java hacia el entorno MIDlet incluyendo ficheros jar y jad.
Dos entornos de desarrollo de tipo GUI:
l
m
m
kToolbar Development environment
Mínimo entorno de desarrolo que le permite editar, compilar y ejecutar aplicaciones java con un pequeño emulador.
Forte for Java Development environemnt
Provee un módulo opcional para desarrollar con el entorno Forte for Java (http://www.sun.com/forte/ffj/ce)
Instalación del J2ME Wireless Toolkit
1.
2.
Descargar la herramienta (http://java.sun.com/products/j2mewtoolkit)
Ejecutar el j2me_wirelees_toolkit-1.0.exe
Usar kToolBar (kToolBar Development environment)
Después de haber instalado el la herramienta, se puede ya ejecutar:
Start -> Programs -> J2ME Wireless Toolkit 1.0 -> kToolBar
Top
Tabla de contenidos
Back
Next
http://psoler.8m.net/J2ME/installJ2ME.html [25/06/2001 11:41:25]
cap2
Back
Capitulo 2: Especificaciones de la J2ME
Tabla de contenidos
Next
La Java 2 Micro Edition (J2ME) fue anunciada en Junio de 1999 por Sun Microsystems con el proposito de habilitar aplicaciones
java para pequeños dispositivos. En esta conferencia lo que realmente se enseñó fue una primera versión de una nueva Java
virtual machine (JVM) que podia ejecutarse en dispositivos Palm.
Una nueva máquina virtual: KVM
La plataforma Java 2 Standard Edition (J2SE) soporta dos diferentes máquinas virtuales: la clásica JVM (Java Virtual Machine)
y HotSpot Virtual Machine, ahora se añade una nueva dirigida a entornos con capacidades limitadas. Esta nueva maquina se ha
denominado KVM (Kuaui Virtual Machine).
La KVM acepta el mismo conjunto de bytecodes (con algunas pequeñas excepciones) que la clásica JVM.
En realidad la plataforma J2ME es más que la KVM, de hecho la JVM puede ser usada con J2ME.
J2ME soporta dos diferentes máquinas virtuales:
l
La clásica máquina virtual (JVM) para arquitecturas de 32-bit y gran capacidad de memoria.
La KVM para arquitecturas de 16-bit o 32-bit con capacidades de memoria limitada.
l
En realidad, la KVM continene un reducido nucleo de clases java, y además pueden ser convertidas a formato ROM.
La KVM no es el corazón de Micro Edition, sino que ha sido la primera versión oficial como referencia de máquina virtual para
la configuración J2ME. Los desarrolladores pueden descargarla del site de Sun Microsystems y compilarla para Palm, Windows
o Solaris, e incluso migrarla (port) a cualquier otra plataforma de otros fabricantes.
Configuraciones y Perfiles (Configurations and Profiles)
Teniendo en cuenta que la Java Standard Edition no trabaja en pequeños dispositivos, J2ME usa configuraciones y perfiles para
personalizar el entorno Java runtime.
Una configuración define el J2ME runtime básico como una máquina virtual y un conjunto de clases que se pueden ejecutar en
dispositivos con capacidades limitadas. Hasta fecha se han definido dos configuraciones:
l
Connected Limited Device Configuration (CLDC)
Connected Device Configuration (CDC)
l
Cada una de ellas provee un mínimo conjunto de facilidades que los dispositivos en la configuración deben soportar. El CDC usa
la JVM mientras que la CLDC usa la KVM.
Un perfil (profile) añade clases específicas para una particular configuración de J2ME.
Asi, las configuraciones están orientadas a los dispositivos y los perfiles a las aplicaciones.
Connected, Limited Device Configuration
(CLDC)
Connected Device Configuration (CDC)
Profiles
http://psoler.8m.net/J2ME/cap2.html (1 de 2) [25/06/2001 11:41:44]
cap2
Top
Back
Tabla de contenidos
Next
http://psoler.8m.net/J2ME/cap2.html (2 de 2) [25/06/2001 11:41:44]
cap2
Back
Capitulo 3: K Virtual Machine (KVM)
Tabla de contenidos
Resumen de las características del diseño de la KVM:
Next
l
l
l
l
l
l
Llamada así por su tamaño (kilobytes).
Núcleo de J2ME.
CLDC se ejecuta en el tope de KVM.
KVM está basado en el Spotless System originalmente desarrollado por Sun Labs.
Implementado en C, aproximadamente 24.000 líneas de código.
Tamaño estático de VM ejecutable: entre 40 y 80 KB dependiendo de la plataforma y las opciones de compilación (w/ o
romizing).
En Palm y Win32 aproximadamente 60 KB.
l
Preloading/prelinking ("Romizing")
Una JVM soportando CLDC debe pre-cargar/pre-linkar (preload/prelinking) algunas clases. Esta tecnologia se denomina
Romizing. Normalmente las implementaciones de VM pequeñas eligen preload todas las clases del sistema para una particular
configuración o perfil. El mecanismo de preloading son implementaciones dependientes y usualmente están bajo el alcance de
una configuración específica.
Aspectos técnicos (KVM Technical Overview)
l
l
Compatible con JVM, con algunas restricciones.
Implementación modular, con varias opciones en tiempo de compilación para afinar la VM (tamaño vs. velocidad) y
opciones de debugging.
Plataforma independiente, totalmente multithreading usando "green" threads.
Pequeño ya rapido algoritmo recolector de basura (GC) (garbage collector algorithm).
l
l
KVM: Optimizaciones
l
l
System class preloading: precarga de las clases del sistema (lo que se conoce como "romizing") usando
JavaCodeCompact.
Runtime simonizing of immutable structures: el termino simonizing se refiere a la facilidad por la cual ciertas estructuras
de datos inmutables en tiempo de ejecución son movidas desde la memoria dinámica a la memoria estática para poder
salvar el Java Heap Space. El termino se denominó después Doug S
Comentarios de: J2ME - Java 2 Micro Edition (0)
No hay comentarios