lunes, 21 de mayo de 2012

CONCEPTO

Java Micro Edition (Java ME




La plataforma Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition (J2ME), es una especificación de un subconjunto de la plataforma Java orientada a proveer una colección certificada de APIs de desarrollo de software para dispositivos con recursos restringidos. Está orientado a productos de consumo como PDAs, teléfonos móviles o electrodomésticos.
Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos.
Java ME fue desarrollado mediante el Java Community Process bajo la especificación JSR 68. La evolución de la plataforma ha propiciado el abandono de las Java Specification Request (peticiones de especificación para Java) en favor de JSRs separadas para las distintas versiones de Java ME.


ARQUITECTURA

J2ME tiene las características que debe de tener una parte de su API fija, es decir, aplicable a todos los dispositivos inalámbricos y una parte que es específica para ciertos dispositivos.

COMPONENTES:
  • Conjunto de Clases básicas llamadas Configuraciones , orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas.
  • Una serie de Máquinas virtuales Java con diferentes requisitos , cada una para diferentes tipos de pequeños dispositivos.
  • Bibliotecas Java de Clases especializadas, llamadas Perfiles , orientadas a implementar funcionalidades de más alto nivel para familias específicas de dispositivos.


COMPONENTES




CONFIGURACIONES:
Las configuraciones definen un agrupamiento horizontal de productos basados en la cantidad de memoria disponible y la capacidad de procesamiento de cada dispositivo. Una vez conocida esta información , una configuración perfila lo siguiente:

  • Configuración de dispositivos limitados con conexión, CLDC. Está orientado hacia pequeños dispositivos, como teléfonos móviles , PDAs, pagers de dos vías y organizadores personales. Surgió con la idea de crear el menor denominador común de la plataforma Java para dispositivos integrados, especialmente en términos de trabajo en red, Entrada/Salida , seguridad y bibliotecas del núcleo.
  • Configuración de dispositivos con conexión, CDC .Esta orientado hacia dispositivos de mayor capacidad que los anteriores, como cajas de cable, televisiones con Internet , algunos electrodomésticos y sistemas de navegación en vehículos. CDC contiene una máquina virtual de Java similar a una J2SE en cuanto a características, excepto por las capacidades gráficas y la memoria de los dispositivos.
MÁQUINAS VIRTUALES:
Las onfiguraciones CLDC y CDC definen un conjunto propio de características soportadas de la Máquina Virtual de Java. Como consecuencia, cada una requiere su propia máquina:
  • La de CLDC se denomina Kilo Virtual  Machine (KVM), y gracias a su reducido tamaño está especifícamente diseñada para trabajar con pequeños dispositivos con memoria de unos pocos cientos de Kb.
  • La de CDC se denomina Compact Virtual Machine (CVM).Está diseñada para dispositivos integrados de mayor tamaño. Soporta las características y bibliotecas de la Máquina Virtual de Java 2 versión 1.3.
PERFILES:
J2ME utiliza los perfiles para definir agrupamiento verticalers para los productos en la plataforma Java.A nivel de implementación , un perfil es un conjunti de APis que residen sobre una configuración y permite al programa el acceso a un dispositivo específico. Algunos de los perfiles que se ofrecen para J2ME son:
  • MIDP (mobile information device profile): diseñado para ser usado con el CLDC, ofrece un conjunto de APIs para teléfonos móviles y pagers de dos vías.
  • PDA Profile: basado en CLDC, ofrece un conjunto de APIs para la interfaz de usuario y almacenamiento de datos para dispositivos portátiles.
  • Foundation Profile: añade APIs a las incluidas en el CDC, pero no de interfaz.
  • Personal Profile: completa el foundation profile añadiendo una interfaz gráfica de usuario capaz de ejecutar Applets de Java web.
  • RMI (Remote method Invocation) Profile: completa el foundation profile añadiendo RMI para los dispositivos.



VERSIONES

Java 2 Micro Edition, basada en una máquina virtual llamada KVM.  Este primera versión sólo contenía una única máquina virtual y un único API (inicialmente diseñados para Palm OS), hecho que puso de manifiesto la insuficiencia de esta solución para la gran variedad de dispositivos diferentes. De esta forma, en el año 2000, nació la primera versión de una configuración, es decir, el Connected Limited Device Configuration (J2ME CLDC 1.0).  Una configuración ofrece el API básico para programar dispositivos, aunque no aporta todas las clases necesarias para desarrollar una aplicación completa.  Por tanto, la primera configuración no tenía las herramientas necesarias para permitir a los desarrolladores escribir programas para el dispositivo Palm.  En julio de 2000 nació la primera implementación de un perfil, concretamente el llamado Mobile Information Device Profile (MIDP), aunque no estaba destinado a PDAs sino a teléfonos móviles y a paginadores.  A partir de este primer perfil, J2ME fue considerablemente aceptado por la comunidad de desarrolladores de dispositivos móviles, expandiéndose a una gran velocidad hasta nuestros días.

Por tanto, actualmente, la versión 2 de Java de Sun Microsystem contiene tres ediciones distintas:
  • Standard Edition (J2SE): entorno básico de Java. Ofrece un conjunto de clases  y APIs (Application Program Interface - Interfaz para Programas de Aplicación) que permiten desarrollar  y ejecutar aplicaciones clientes y servidoras, así como programas que se ejecuten en navegadores (applets).  Ya está en la calle el J2SE 5.0.
  • Enterprise Edition (J2EE): agrupa APIs Java y tecnologías que no están basadas en este lenguaje. Se aconseja para el desarrollo de aplicaciones distribuidas. 
  • Micro Edition (J2ME): específicamente diseñado para desarrollar aplicaciones para dispositivos embebidos y electrónicos, que tienen características peculiares ya que dos ediciones anteriores no son adecuadas para su utilización con ellos. Éstos dispositivos normalmente tienen una potencia limitada, posibilidad de conectividad a una red (normalmente sin cables) y poseen interfaces gráficos.

CARACTERÍSTICAS


  • J2ME es a la vez un lenguaje de programación y una plataforma de ejecución incluida en teléfonos y otros dispositivos móviles que aporta un conjunto de nuevas capacidades para el usuario.
  • para lograr capacidades gráficas; simplicidad en el manejo de los servicios e, incluso, funcionamiento sin conexión. Es especialmente conveniente para conseguir un mayor grado de interacción.
  • En J2ME las aplicaciones pueden ser más independientes, eficientes y rápidas en el uso de las conexiones (no siempre hay que conectarse y se evita transmitir mucha información), pueden almacenar localmente la información obtenida (no hay que volver a conectarse para mirarla) y la información de configuración (no hay que volver a teclearla).
  • Se incrementa enormemente la personalización del terminal al ser el usuario quien selecciona los programas que desea utilizar.La cantidad de aplicaciones que podrá disponer el usuario es incalculable,pues el lenguaje es conocido por millones de programadores.
  • Las aplicaciones son pequeñas y pueden descubrirse y descargarse desde internet utilizando WAP directamente al teléfono o utilizando un ordenador y un cable.Con estos métodos actualizar un  programa o cambiar las aplicaciones se convierte en una tarea muy fácil , lo que facilita mucho su difusión y distribución
  • J2ME atiende el segmento de mercado que abarca los productos más pequeños, como tarjetas inteligentes o busca personas ("pagers"), hasta las poderosas cajas de cable ( que ofrecen servicios de TV, computadoras, internet, etc.),que son un instrumento casi poderoso como una computadora.
  • J2ME permite a los fabricantes de dispositivos,desarrolladores y proveedores de servicios mejorar su competitividad mediante el desarrollo y la implementación rápida y económica de nuevas aplicaciones y servicios para sus clientes a escala mundial.

DIFERENCIAS J2ME con respecto a J2EE

·         Tipos de datos: J2ME no incluye los tipos float y double, ya que la mayoría de los dispositivos CLDC no tienen unidad de coma flotante debido fundamentalmente a que es una operación muy costosa.
·         Preverificación: La verificación del código en J2ME se hace fuera del dispositivo, con objeto de reducir la carga de la máquina.
·         Inclusión de los ficheros "descriptor" y "manifiesto" al empaquetar ficheros J2ME, conteniendo información sobre las aplicaciones que incluyen.
·         Nueva biblioteca gráfica adaptada a los dispositivos con memorias de poco tamaño y pantallas también pequeñas.
·         No existe un método main como entrada para la ejecución de la función. Éste se sustituye por el método "start app".
·         La recolección de basura se hace de manera manual y no automática como en el J2EE. Esta decisión se toma así para reducir la utilización de la memoria.

WEBGRAFIA