Por qué usar JAVA en la telefonía móvil?
Más facilidad para añadir nuevas funciones Soporta
TCP/IP – Más facilidad para programar aplicaciones que se
comuniquen directamente con el móvil Capacidad de JAVA
para trabajar con diferentes plataformas Podemos bajar programas
directamente de la red, melodías, …
Qué edición de JAVA utilizar? Antes ?
Teléfonos móviles no tenían suficiente
capacidad para ejecutar JAVA Actualidad ? Sí, pero con
algunas limitaciones J2ME (Java 2 Micro Edition)
JAVA 2 Micro Edition Edición de JAVA limitada ? Menos
sofisticiación en elementos de menor relevancia en la
telefonía móvil – Acceso a bases de datos limitado
– Capacidades gráficas limitadas ? Sustitución de
la JVM (Java Virtual Machine) por la KVM (K Virtual Machine). –
KVM es una JVM con las funcionalidades reducidas
JAVA 2 Micro Edition
Ediciones de Java 2 y sus mercados:
J2ME: Configuraciones y perfiles J2ME soporta configuraciones
mínimas de la JVM y de las Java APIs, que engloben las
necesidades básicas de un determinado tipo de dispositivo.
Configuración: Define las características
mínimas que debe tener el lenguaje Java, la JVM y las
librerías de clases, para un determinado tipo de
dispositivo. Perfil: Complemento a una configuración.
Proporciona un conjunto de herramientas para el desarrollo de
aplicaciones específicas para un determinado tipo de
dispositivo.
CLDC: Connected, limited device configuration CLDC: Especifica un
estándar de plataforma Java para dispositivos
pequeños y de recursos limitados. CLDC:
Especificación de la configuración mínima
necesaria para que un determinado tipo de dispositivo pueda
soportar J2ME. CLDC: Define las siguientes
características: Características del lenguaje Java
y de la JVM. Librerías Java básicas (java.lang.* y
java.util.*). Entrada / Salida. Red. Seguridad.
MIDP: Mobile information device profile MIDP: Es un complemento a
la configuración CLDC. MIDP: Perfil que proporciona un
conjunto de herramientas para el desarrollo de aplicaciones Java
orientadas a telefonía móvil. MIDP: También
engloba las características del teléfono
móvil en el que está instalado el perfil, como por
ejemplo el tamaño de la pantalla o la potencia de la
batería. MIDP: Las aplicaciones se programaran sobre la
base de herramientas proporcionadas por el perfil, y se
podrán ejecutar en cualquier dispositivo en el que
esté instalado dicho perfil.
KVM: Kilo(byte) Virtual Machine KVM: Es una implementación
concreta de Java Virtual Machine que cumple la
especificación CLDC. KVM: Esta diseñada para correr
en dispositivos pequeños y de recursos limitados. KVM:
Características: Implementada en lenguaje C. Orientada a
procesadores de 16 y 32 bits. Ocupa entre 40 y 80 Kbytes de
memoria. Altamente portable entre diferentes dispositivos
pequeños y de recursos limitados.
KVM: Software vs. Hardware La tecnología Java puede ser
implementada en software o en hardware. Software: Se instala la
Virtual Machine sobre el sistema operativo del dispositivo. La
Virtual Machine se encargará de traducir las instrucciones
Java a las instrucciones nativas que puede ejecutar la CPU.
Inconveniente de la solución software: Al tratarse de
dispositivos pequeños y limitados, la baja velocidad de la
CPU puede afectar la velocidad de ejecución de las
aplicaciones Java.
KVM: Software vs. Hardware Hardware: Para implementar la
tecnología Java mediante hardware, existen dos
posibilidades: Ampliando el juego de instrucciones de la CPU para
que ejecute el bytecode Java directamente. Incorporando en el
dispositivo un chip especializado para que ejecute el bytecode
Java. Coste de la solución hardware: El diseño de
un chip especializado es más barato que la
ampliación del juego de instrucciones de la CPU principal.
La incorporación de un nuevo chip en el dispositivo
encarece su proceso de fabricación. Esta es la principal
duda que se plantean los fabricantes.
Otros productos relacionados MicroChaiVM (Hewlett-Packard) ? Un
“clon” de la JVM pero que no necesita licencia de
Sun. SavaJe OS (SavaJe) ? Optimización de las
librerías de J2SE. ZeoSphere Developer (Zeosoft) ? Permite
crear aplicaciones que soportan Entreprise Java Beans. Esto
simplifica la programación de aplicaciones que se
comunican y ejecutan entre servidores y teléfonos
móviles
Bibliografía: Web Sun Microsystem: java.sun.com/j2me/docs.
Articulo revista Computer: Moving Java To Mobile Phones.