Desarrollo de aplicaciones
Móviles en Java
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
Arquitectura de J2ME
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
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
Maquinas Virtuales
 CVM (Compact Virtual Machine)
 Es la MV de referencia para la
configuración CDC
 Dispositivos con mayores capacidades
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
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
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
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
Configuraciones CDC
 Librerias incluidas:
 java.io
 java.lang
 java.math
 java.net
 java.security
 java.text
 java.util
 javax.microedition.io
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
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
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
Perfiles
 RMI Profile
 Permite comunicacion entre dispositivos
 PDA Profile
 Desarrollado sobre CLDC
 Orientado a PDAs tipo Palm
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
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
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
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
Otras Maquinas Virtuales
Java
 SuperWaba
 No es realmente una MV Java
 Propia MV y clases.
 Sintaxis subconjunto de Java.
 Gratis.
 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
 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
 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

Presentacion j2me

  • 1.
  • 2.
    J2ME  J2ME (Java2 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
  • 3.
  • 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 J2MEuna 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  CLDCConnected 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  Utiliza37 clases que provienen de los paquetes:  java.lang  java.io  java.util  Clases específicas de CLDC (red)  javax.microedition.io
  • 10.
    Configuraciones CDC  CDCConnected 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
  • 11.
    Configuraciones CDC  Libreriasincluidas:  java.io  java.lang  java.math  java.net  java.security  java.text  java.util  javax.microedition.io
  • 12.
    Perfiles  Un conjuntode 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 InformationDevice 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 PersonalJava 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 alternativasa Java  Utilizar implementaciones alternativas de Java: Escasa adhesión  Desarrollar en C# utilizando .Net Compact Framework  Desarrollo nativo de operaciones: Microsoft Embedded C++ Conclusiones