Plataforma Java, edición micro

Plataforma de software para dispositivos móviles e integrados

Java Platform, Micro Edition o Java ME es una plataforma informática para el desarrollo y despliegue de código portable para dispositivos integrados y móviles (microcontroladores, sensores, puertas de enlace, teléfonos móviles, asistentes digitales personales, decodificadores de TV, impresoras). [1] Java ME era anteriormente conocido como Java 2 Platform, Micro Edition o J2ME .

La plataforma utiliza el lenguaje de programación orientado a objetos Java y forma parte de la familia de plataformas de software Java . Fue diseñada por Sun Microsystems (ahora Oracle Corporation ) y reemplazó a una tecnología similar, PersonalJava .

En 2013, con más de 3 mil millones de teléfonos móviles habilitados para Java ME en el mercado, [2] la plataforma estaba en continuo declive a medida que los teléfonos inteligentes superaban a los teléfonos con funciones básicas. [3]

Historia

La plataforma solía ser popular en teléfonos con funciones básicas, como los modelos de la Serie 40 de Nokia . También era compatible con el sistema operativo Bada y con Symbian OS junto con software nativo. Los usuarios de Windows CE , Windows Mobile , Maemo , MeeGo y Android podían descargar Java ME para sus respectivos entornos ("prueba de concepto" para Android). [4] [5]

Originalmente desarrollado bajo el Java Community Process como JSR 68, las diferentes versiones de Java ME han evolucionado en JSR independientes. Los dispositivos Java ME implementan un perfil . Los más comunes son el Perfil de dispositivo de información móvil, destinado a dispositivos móviles como teléfonos celulares, y el Perfil personal, destinado a productos de consumo y dispositivos integrados como decodificadores y PDA. Los perfiles son subconjuntos de configuraciones , de las cuales actualmente hay dos: la Configuración de dispositivo limitado conectado (CLDC) y la Configuración de dispositivo conectado (CDC). [6]

En 2008, las plataformas Java ME se restringieron a las características de JRE 1.3 y utilizan esa versión del formato de archivo de clase (conocida internamente como versión 47.0).

Implementaciones

Captura de pantalla de MicroEmulator

Oracle proporciona una implementación de referencia de la especificación y algunas configuraciones y perfiles para MIDP y CDC. A partir del SDK de JavaME 3.0, un IDE basado en NetBeans los admitió en un único IDE.

A diferencia de las numerosas implementaciones binarias de la plataforma Java creadas por Sun para servidores y estaciones de trabajo, Sun tendía a no proporcionar binarios para las plataformas de destino de Java ME y, en cambio, dependía de terceros para proporcionar los suyos propios.

La excepción fue un JRE MIDP 1.0 (JVM) para Palm OS. [7] Sun no proporciona ningún JRE J2ME para los dispositivos basados ​​en Microsoft Windows Mobile (Pocket PC), a pesar de una campaña de carta abierta dirigida a Sun para que lanzara una supuesta implementación interna de PersonalJava conocida con el nombre en código "Captain America". [8] Los proveedores de Windows Mobile utilizan ampliamente las implementaciones de terceros.

En algún momento, Sun lanzó una implementación de referencia ahora abandonada bajo el nombre phoneME .

Los sistemas operativos que apuntan a Java ME han sido implementados por DoCoMo bajo la forma de DoJa y por SavaJe bajo la forma de SavaJe OS. Esta última empresa fue adquirida por Sun en abril de 2007 y ahora constituye la base de JavaFX Mobile de Sun.

La máquina virtual de código abierto Mika tiene como objetivo implementar JavaME CDC/FP, pero no está certificada como tal (las implementaciones certificadas deben cobrar regalías, lo que no es práctico para un proyecto de código abierto). En consecuencia, los dispositivos que utilizan esta implementación no pueden reclamar compatibilidad con JavaME CDC.

El sistema operativo Android basado en Linux utiliza una versión propietaria de Java que es similar en intención, pero muy diferente en muchos aspectos de Java ME. [9]

Emuladores

  • Sun Java Wireless Toolkit (WTK, para abreviar) es un emulador propietario de Java ME, proporcionado originalmente por Sun Microsystems y luego por Oracle.
  • MicroEmulator (MicroEMU, para abreviar) es un emulador de Java ME de código abierto.

Existen otros emuladores, incluidos aquellos proporcionados como parte de los kits de desarrollo por los fabricantes de teléfonos, como Nokia, Sony-Ericsson , Siemens Mobile, etc.

Configuración limitada del dispositivo conectado

La configuración limitada de dispositivos conectados (CLDC) contiene un subconjunto estricto de las bibliotecas de clase Java y es la cantidad mínima necesaria para que funcione una máquina virtual Java . La CLDC se utiliza básicamente para clasificar una gran cantidad de dispositivos en una configuración fija.

Una configuración proporciona el conjunto más básico de bibliotecas y características de máquina virtual que deben estar presentes en cada implementación de un entorno J2ME. Cuando se combina con uno o más perfiles, la configuración de dispositivo limitado conectado ofrece a los desarrolladores una plataforma Java sólida para crear aplicaciones para dispositivos de consumo e integrados. La configuración está diseñada para dispositivos con una memoria total de entre 160 KB y 512 KB, que tienen un mínimo de 160 KB de ROM y 32 KB de RAM disponibles para la plataforma Java.

Perfil del dispositivo de información móvil

Diseñado para teléfonos móviles, el Perfil de dispositivo de información móvil incluye una interfaz gráfica de usuario y una API de almacenamiento de datos, y MIDP 2.0 incluye una API de juegos 2D básica . Las aplicaciones escritas para este perfil se denominan MIDlets .

JSR 271: Mobile Information Device Profile 3 (versión final el 9 de diciembre de 2009) especificó el Mobile Information Device Profile (MIDP3) de tercera generación, ampliando la funcionalidad en todas las áreas y mejorando la interoperabilidad entre dispositivos. Un objetivo de diseño clave de MIDP3 es la compatibilidad con versiones anteriores del contenido de MIDP2.

Perfil del módulo de información

El perfil del módulo de información (IMP) es un perfil para dispositivos integrados, "sin cabeza", como máquinas expendedoras, aplicaciones industriales integradas, sistemas de seguridad y dispositivos similares con pantalla simple o sin pantalla y con cierta conectividad de red limitada.

Introducido originalmente por Siemens Mobile y Nokia como JSR -195, IMP 1.0 es un subconjunto estricto de MIDP 1.0 excepto que no incluye API de interfaz de usuario ; en otras palabras, no incluye soporte para el paquete Java javax.microedition.lcdui. JSR-228, también conocido como IMP-NG, es la próxima generación de IMP que se basa en MIDP 2.0, aprovechando los nuevos tipos y API de seguridad y redes de MIDP 2.0, y otras API como PushRegistryy platformRequest(), pero nuevamente no incluye API de UI ni la API de juego.

Configuración del dispositivo conectado

La configuración de dispositivos conectados es un subconjunto de Java SE que contiene casi todas las bibliotecas que no están relacionadas con la interfaz gráfica de usuario. Es más completa que CLDC.

Perfil de la Fundación

El perfil de base es un perfil de configuración de dispositivo conectado (CDC) de Java ME. Este perfil está pensado para que lo utilicen dispositivos que requieren una implementación completa de la máquina virtual Java, incluida toda la API de Java Platform, Standard Edition. Las implementaciones típicas utilizarán algún subconjunto de ese conjunto de API, según los perfiles adicionales admitidos. Esta especificación se desarrolló en el marco del proceso de la comunidad Java.

Perfil personal básico

El perfil Personal Basis amplía el perfil Foundation para incluir compatibilidad con GUI liviana en forma de un subconjunto de AWT . Esta es la plataforma sobre la que se basa BD-J .

Solicitudes de especificación de Java (JSR)

Base

JSR #NombreDescripción
68Especificación de la plataforma J2ME
30CLDC 1.x
37MIDP 1.0
118MIDP 2.x
139CLDC1.1
271MIDP 3.0Solo Java ME 3.4 y versiones anteriores, última especificación para teléfonos móviles, características del lenguaje Java como Java SE 1.3
360CLDC8Novedades en Java ME 8
361MEEP8 (MEEP8)Novedades de Java ME 8: características del lenguaje como Java SE 8 para dispositivos de Internet de todo

Extensiones principales

JSR #NombreDescripciónMSA
75Conexión de archivos y API PIMSistema de archivos, contactos, calendario, tareas pendientesSí
82BluetoothComunicaciones por puerto serie Bluetooth e intercambio de archivos (OBEX)Sí
120API de mensajería inalámbrica (WMA)
135API de medios móviles (MMAPI)Audio, vídeo, multimediaSí
172API de servicios webAnalizadores XML y RPCSí
177API de servicios de seguridad y confianza (SATSA)APDU, Java Card RMI (JCRMI), infraestructura de clave pública (PKI) y criptografíaSí
179API de ubicaciónCoordenadas GPS, direcciones de calles, sensores de orientación, tiendas de referenciaSí
180API SIPSí
184Gráficos 3D para móviles (M3G)Gráficos 3D de alto nivelSí
185Tecnología Java para la industria inalámbrica (JTWI)General
205API de mensajería inalámbrica (WMA) 2.0Envío y recepción de SMS y MMS
211API de manejo de contenido (CHAPI)Sí
226API de gráficos vectoriales 2D escalables para J2ME (M2G)Manejo de SVG TinySí
228Perfil del módulo de información de próxima generación (IMP NG)
229API de pagoSí
234Suplementos multimedia avanzados (AMMS)Extensiones MMAPISí
238API de internacionalización móvilRecursos localizados, formato de fecha y número según la configuración regional, comparación de cadenas según la configuración regionalSí
239Enlaces de Java para la API de OpenGL ES
248Arquitectura de servicios móviles (MSA)Sí
253API de telefonía móvil
256API de sensores móvilesLectura de valores de acelerómetros, giroscopios, brújulas, termómetros, barómetros y algunos más.
257API de comunicación sin contacto
258API de personalización de interfaz de usuario móvil
272API de servicio de transmisión móvil para terminales portátiles
280API XML para Java ME
281API de servicios IMS
287API 2.0 de gráficos vectoriales escalables en 2D para Java ME
293API de localización 2.0
298API telemática para Java ME
300API DRM para Java ME
325Facilitadores de comunicación IMS

Futuro

JSR #NombreDescripción
297API de gráficos 3D para dispositivos móviles (M3G) 2.0Proyecto de borrador final propuesto para el 14 de abril de 2009

ESR

El consorcio ESR se dedica a desarrollar estándares para Java integrado, especialmente estándares rentables. Los dominios de aplicación típicos son el control industrial, el de máquina a máquina, el médico, la medición electrónica, la automatización del hogar , el consumo, la interfaz hombre-máquina, etc.

ESR #NombreDescripción
001B-ON (Más allá de CLDC)B-ON sirve como una base muy sólida para implementar software Java integrado. Especifica una fase de inicialización confiable del dispositivo Java y tres tipos de objetos: objetos inmutables, inmortales y regulares (mortales).
002Microinterfaz de usuarioMicroUI define una arquitectura mejorada para permitir un entorno de desarrollo de aplicaciones de terceros abierto para dispositivos HMI integrados. Estos dispositivos suelen tener algún tipo de pantalla, algunos sensores de entrada y, potencialmente, algunas capacidades de reproducción de sonido. Esta especificación abarca un conjunto potencialmente amplio de dispositivos.
011MWTMWT define tres roles distintos: diseñadores de widgets, diseñadores de apariencia y diseño y diseñadores de aplicaciones. MWT permite que una aplicación HMI binaria se ejecute de la misma manera en todos los dispositivos que brindan un marco MWT compatible (dispositivos integrados, teléfonos celulares, decodificadores de TV, PC, etc.), lo que permite una verdadera coherencia y ubicuidad de las aplicaciones en todas las líneas de productos (ME, SE, EE).
015RUTA DE CLASESECLASSPATH unifica los entornos de ejecución CLDC, CDC, Foundation, SE y EE con un conjunto de alrededor de 300 API de clases. La compilación con CLDC1.1/ECLASSPATH hace que el código binario sea portátil en todos los entornos de ejecución de Java.

Véase también

Referencias

  1. ^ "Descripción general de Java ME". Oracle Corporation . Consultado el 26 de febrero de 2017 .
  2. ^ "Aprenda sobre la tecnología Java". Archivado desde el original el 8 de marzo de 2013. Consultado el 15 de febrero de 2024 .
  3. ^ Farivar, Cyrus (14 de agosto de 2013). "Los teléfonos inteligentes superan en ventas a los teléfonos con funciones básicas (de nuevo) por primera vez en todo el mundo". Ars Technica . Consultado el 15 de marzo de 2024 .
  4. ^ phoneME para Windows CE, Windows Mobile y Android (el desarrollo se detuvo el 15 de junio de 2011) - en origen aquí
  5. ^ "App Runner (desarrollo detenido el 11/05/2010)". Archivado desde el original el 3 de enero de 2012 . Consultado el 5 de agosto de 2012 .
  6. ^ Tecnología Java ME
  7. ^ MIDP para Palm OS 1.0: Desarrollo de aplicaciones Java para dispositivos Palm OS Enero de 2002
  8. ^ CDC y Personal Profile - Carta abierta a SUN para producir un JRE Java personal para Pocket PC Archivado el 3 de junio de 2008 en Wayback Machine 2003
  9. ^ Desarrollo de aplicaciones móviles: Android comparado con J2ME Archivado el 25 de septiembre de 2018 en Wayback Machine Febrero de 2013
Notas
  • JSR 232: Gestión operativa móvil: una plataforma avanzada basada en tecnología OSGi para informática móvil
  • JSR 291: Compatibilidad de componentes dinámicos para Java SE: modelo de programación simétrica para Java SE a Java ME JSR 232

Bibliografía

  • Ben Hayun, Roy (30 de marzo de 2009). Java ME en Symbian OS: Inside the Smartphone Model (1.ª ed.). Wiley . p. 482. ISBN 978-0-470-74318-8.
  • Knudsen, Jonathan (8 de enero de 2008). Kicking Butt with MIDP and MSA: Creating Great Mobile Applications (1.ª ed.). Prentice Hall . p. 432. ISBN 978-0-321-46342-5.
  • Li, Sing; Knudsen, Jonathan (25 de abril de 2005). Beginning J2ME: From Novice to Professional (3.ª ed.). Apress . p. 480. ISBN 1-59059-479-7.
  • Red de desarrolladores de Sun, Java ME
  • Páginas de Java del centro para desarrolladores de Nokia
  • Blogs sobre el entorno de ejecución de Java del Nokia S60
  • Mundo de desarrolladores de Sony Ericsson
  • Red de desarrolladores de Motorola Archivado el 21 de julio de 2009 en Wayback Machine.
  • Red de usuarios de la herramienta de creación J2ME LMA
  • Sitio para desarrolladores de Samsung Mobile
  • Sitio web para desarrolladores de aplicaciones de Sprint
  • Base de datos de rendimiento de dispositivos compatibles con Java ME
  • Plataformas MicroEJ para sistemas embebidos
  • Libro - Programación de teléfonos móviles con Java ME (J2ME) Archivado el 5 de marzo de 2016 en Wayback Machine .
  • Tutorial Maestro ng, J2ME
Obtenido de "https://es.wikipedia.org/w/index.php?title=Plataforma_Java,_Micro_Edition&oldid=1256510899"