LA ARQUITECTURA J2ME
JAVA 2 MICRO EDITION
La arquitectura JavaTM 2 Micro Edition esta Orientada a pequeños dispositivos y sistemas embebidos como son teléfonos móviles, PDAs, Set-Top Boxes, maquinas expendedoras, tarjetas inteligentes y un largo etcétera de productos existentes o futuros.
Al igual que sucede con J2EETM, que esta Orientado a entornos corporativos o J2SETM, orientado a sistemas de sobremesa, la arquitectura J2ME esta conformada por un conjunto de APIs que permiten que las aplicaciones desarrolladas se beneficien de las características multiplataforma de Java y que abren la puerta a la distribución de aplicaciones a millones de dispositivos.
JAVAJAVA 2 Platform, de SUN 2 Platform, de SUN
Java 2 Platform, Micro EditionJava 2 Platform, Micro Edition
La Maquina Virtual Java, que es la encargada de ejecutar los bytecodes de las aplicaciones Java. Incluyendo también la presencia de Hotspot, el compilador Just In Time (JIT) de Sun.
Bytecode, código intermedio, generado por Java es muy pequeño las aplicaciones ocupan muy poco espacio en memoria.
Descargas a través de una página web o enviados por correo electrónico al propio dispositivo móvil.
Protocolo HTTP se utiliza en los navegadores para acceder a páginas web.
JAVAJAVA 2 Platform, Micro Edition Arquitectura 2 Platform, Micro Edition Arquitectura del Entorno de Ejecución J2MEdel Entorno de Ejecución J2ME
La arquitectura J2ME se dividir en dos grande arquitecturas que dependen del tipo de dispositivo y las características de los mismos. En función de la familia de dispositivos tomaremos una u otra opción.
JAVAJAVA 2 Platform, Micro Edition Arquitectura 2 Platform, Micro Edition Arquitectura del Entorno de Ejecución J2MEdel Entorno de Ejecución J2ME
Para poder tener un entorno de ejecución java para J2ME que cumpla los requisitos de un rango amplio de dispositivos y mercados objetivo es necesario que se componga de:
•Configuración•Perfiles•Paquetes opcionales
Cada combinación de estos elementos se optimiza para la memoria, potencia de proceso y capacidades de E/S de una categoría de dispositivos.
Configuraciones
Las configuraciones se componen de una maquina virtual y un conjunto mínimo de bibliotecas de funciones que proporcionan la funcionalidad para un conjunto de dispositivos que comparten características similares, tales como:
gestión de memoria o conectividad a la red.
En la actualidad existen dos configuraciones J2ME:
•Connected Limited Device Configuration (CLDC)•Connected Device Configuration (CDC)
Java 2 Platform, ConfiguracionesJava 2 Platform, Configuraciones
Configuración CLDC
Esta configuración esta diseñada para dispositivos con conexiones de red intermitentes, procesadores lentos y memoria limitada como teléfonos móviles, asistentes personales (PDAs), etc. Está orientado a dispositivos que cumplan las siguientes características:
•Procesador:16 o 32 bit/16 MHz o más.
•Memoria: 160-512 KB de memoria total disponible para la plataforma Java.
•Alimentación: Alimentación limitada, a menudo basada en batería.
•Trabajo en red: Conectividad a algún tipo de red, con ancho de banda limitado habitualmente.
•Está basada en la máquina virtual K (K Virtual Machine, KVM).
La especificación CLDC se ha desarrollado dentro del Java Community Process[sm] (JCP[sm]) junto con 500 partners que representan a las industrias de fabricantes de dispositivos wireless, proveedores de servicios y terminales de venta.
Sun proporciona la implementación de referencia de CLDC (CLDC Reference implementation, CLDC RI) que incluye la máquina virtual K (K Virtual Machine, KVM). Sun también proporciona la implementación del CLDC HotSpotTM, disponible para usos comerciales bajo licencia.
Java 2 Platform, Micro EditionJava 2 Platform, Micro Edition
Esta máquina virtual está orientada a la nueva generación de dispositivos con una cantidad de memoria disponible mayor. La CLDC RI es adecuada para dispositivos que cumplan las siguientes características:•Procesador:32 bits.•Memoria: 512 KB/1 MB de memoria total disponible para la plataforma Java.•Alimentación: Alimentación limitada, a menudo basada en batería.•Trabajo en red: Conectividad a algún tipo de red, con ancho de banda limitado habitualmente.
La máquina virtual K toma la K de Kilobyte, haciendo referencia al poco tamaño que ocupa la plataforma, un mínimo de 70 KB.
Java 2 Platform, ConfiguraciónJava 2 Platform, Configuración
Configuración CDC
Está configuración está diseñada para dispositivos que tienen más memoria, procesadores más rudos y un ancho de banda mayor, como Set-top boxes, pasarelas residenciales, asistentes personales de gran capacidad, etc. Incluye una maquina virtual Java completa (Java Virtual Machine, JVM) y un subconjunto de APIs de la arquitectura J2SE mucho mayor. Se orienta a dispositivos con CPU de 32 bits y un mínimo de 2 MB de memoria disponible para la plataforma Java y aplicaciones asociadas.
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
PerfilesPara conformar un entorno de ejecución completo orientado a una categoría de dispositivos, las configuraciones se han de combinar con un conjunto de APIs de un nivel más alto, llamadas perfiles, que van un paso más allá en la definición el modelo de ciclo de vida de las aplicaciones, la interfaz de usuario y acceso a las propiedades especificas de los dispositivos.
En la actualidad existen los siguientes perfiles asociados a J2ME:•Mobile Information Device Profile (MIDP)•Foundation Profile•Personal Profile•Personal Basis Profile
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
Mobile Information Device Profile (MIDP)
Está diseñado para teléfonos móviles y PDAs con capacidades básicas.Ofrece la funcionalidad básica para las aplicaciones móviles, incluyendo la interfaz de usuario, conectividad a redes, almacenamiento local de datos y gestión del ciclo de vida de las aplicaciones.Al combinarlo con la configuración CLDC, MIDP proporciona un entorno de ejecución java completo que incrementa la capacidad de los dispositivos móviles y que reduce el consumo de memoria y energía.
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
Foundation Profile (FP)
Los perfiles CDC están organizados en capas de forma que permiten la agregación según precise para proporcionar funcionalidad a las aplicaciones para distintos tipos de dispositivos. El FP es el perfil de más bajo nivel para el CDC.
Proporciona una implementación lista para el trabajo en red que se puede emplear en implementaciones embebidas que carecen de interfaz de usuario. También se puede combinar con los perfiles Personal Basis y Personal para los dispositivos que precisan de una interfaz grafica de usuario (IGU).
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
Personal Profile (PP) El perfil Personal, Es el perfil para CDC orientado a dispositivos que requieren una IGU completa o capacidad de ejecutar applets de Internet, como por ejemplo PDAs de gama alta, consolas de juegos, etc.
Incluye todas las bibliotecas de funciones de la Java Abstract Window Toolkit (AWT) y ofrece fidelidad Web, permitiendo la ejecución de applets diseñados para utilización en entornos de sobremesa. PP reemplaza la tecnología PersonalJavaTM.
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
Personal Basis Profile (PBP)
El perfil Personal Basis es un subconjunto del perfil Personal y proporciona un entorno de aplicación para dispositivos con conexión que puede tolerar un nivel de presentación grafica básico o que precisan de conjuntos de herramientas (toolkits) graficas especializadas para aplicaciones especificas. Al igual que el perfil Personal, está pensado para ejecutarse sobre la configuración CDC.
Java 2 Platform, PerfilesJava 2 Platform, Perfiles
Paquetes opcionalesLa plataforma J2ME se puede ampliar combinando varios paquetes opcionales con CLDC y CDC junto con sus perfiles.
Estos paquetes se han creado para responder a requisitos concretos de mercado y ofrecen un conjunto de APIs estándares para utilizar tanto tecnologías existentes como emergentes; entre estas se incluyen Bluetooth, servicios Web, mensajería wireless, capacidades multimedia o conectividad a bases de datos. Dado que son modulares, los fabricantes de dispositivos pueden incorporarlos según vayan necesitando para mejorar las características soportadas.
JAVAJAVA 2 Platform, Micro Edition 2 Platform, Micro EditionArquitecturaArquitectura
Escalabilidad y Flexibilidad
Perfil
Configuración
Máquina Virtual Java
CLDC
MIDPPerfil MID
JAVAJAVA 2 Platform, Micro Edition 2 Platform, Micro EditionMidlet Arquitectura MVCMidlet Arquitectura MVC
MidletModelo Preferencias constantes DatosVista Color Tamaño de pantalla tecladoControlador petición pull push
Aplicación 1
Aplicación 2
Aplicación 3
Capa Aplicación Capa Servidor
Internet
JAVAJAVA 2 Platform, Micro Edition 2 Platform, Micro EditionArquitectura Wireless - Enterprise Arquitectura Wireless - Enterprise
Dispositivo Móvil
HTTP(S)
Servidor de Aplicaciones
JDBC
m Servidor Base de Datos
Cliente
Aplicaciones
MIDlets
Web
Servlets
EJB
EIS
EJB EJB EJB