Sebastián García Galán sgalan@ujaen.es



Documentos relacionados
J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina

Capítulo 5 Introducción al Desarrollo de Aplicaciones Móviles usando J2ME

Moving Java into mobile phones

Programación de Dispositivos Móviles Conceptos de J2ME

INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

Sebastián García Galán

Implementación de tecnologías móviles para celular en una biblioteca universitaria

1. INTRODUCCIÓN Y OBJETIVOS

Lic. Sofia J. Vallejos

Programación para sistemas en red IV. Conceptos básicos II

J2ME (Java to Micro Edition)

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares

ESCUELA POLITÉCNICA DEL EJÉRCITO

JAVA 2 MICRO EDITION (J2ME)

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Tema 1. Introducción a JAVA

Tema 1. Java: Conceptos generales

DEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID SOFTWARE EN DISPOSITIVOS MÓVILES. Celeste Campo.

Sistema de monitoreo canino basado en GPS y Comunicación Móvil. Análisis de Tecnologías

Situación Actual de los dispositivos móviles

Introducción a los MIDs. Java para MIDs. MIDlets.

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60

INF 473 Desarrollo de Aplicaciones en

Curso formativo Plataforma de formación J2EE

Diseño de aplicaciones inalámbricas móviles Por Mike Pini

Desarrollo de aplicaciones para dispositivos móviles utilizando J2ME

Módulo 2. Inicio con Java

>> Programación de dispositivos móviles.

CAPÍTULO III ANÁLISIS Y SELECCIÓN DE TECNOLOGÍAS

Desarrollo de Aplicaciones Móviles. Java

III Jornadas de Tecnología Java. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer

INTRODUCCIÓN A JAVA. Índice

picojava TM Características

Mejor tecnología para aplicación práctica NOMAD

Celeste Campo Departamento de Ingeniería Telemática Universidad Carlos III de Madrid

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO:

Capitulo 1: Plataforma Android

Android y Java para Dispositivos Móviles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

CAPITULO 3 VRML-JAVA-WWW

Seminario de Java. Contenido

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Tema 2: La Tecnología Java

Tópicos Selectos de Programación

J2ME Programando un cronómetro para nuestro celular

Programador en Plataforma Java y XML

Java Básico. Introducción a Java. Copyright

SISTEMA DE APRENDIZAJE PARA DISPOSITIVOS MÓVILES. AUTORES Carlos Manso Pérez Patricia Martín Gutiérrez TUTORA Carmen Quintano Pastor

Introducción a Java con JavaME

Integración de Tarjetas Criptográficas en Dispositivos Móviles J2ME. Proyecto Fin de Carrera

19. Packages o paquetes

TEMA 1. Introducción


GESTIÓN DE PROCESOS INDUSTRIALES A TRAVÉS DE MÓVILES PARA MANEJAR Y CONTROLAR VARIABLES FÍSICAS RICARDO REYES ALZATE CHRISTIAN GARCIA LOPEZ

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Software para el desarrollo de aplicaciones móviles. Rubén Darío Sánchez

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Dispositivo Móvil de Acceso - DMA Compilación de una máquina virtual de java para el i.mxl Tutorial

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

BASES DE DATOS OFIMÁTICAS

Tema 2: Introducción a Android

UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE INGENIERÍAS

PROYECTO FIN DE CARRERA LOCALIZACIÓN DE MÓVILES CON GPS

INFRAESTRUCTURA Y COMUNICACIONES DGA

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

PROGRAMA FORMATIVO Desarrollo de aplicaciones Móviles Java ME

Java TM MicroEdition -Conceptos Básicos-

DESARROLLOS JAVA PARA DISPOSITIVOS INALÁMBRICOS. MARILUZ SIERRA DUQUE

Capítulo 3. Diseño y Arquitectura del Sistema

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra

SISTEMA DE ACCESO BLUETOOTH

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

UNIVERSIDAD DE SALAMANCA

TABLA DE CONTENIDOS. Dedicatoria. Agradecimientos. Tabla de Contenidos. Índice de Figuras. Índice de Tablas. Resumen. Abstract

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California

Proyecto de Grado 2008 Anexo IV Dispositivos Móviles - IP4JVM

Empleo de tecnologías de agentes para la gestión de tutorías en un campus universitario

Desarrollo de Aplicaciones Java para Dispositivos Móviles J2ME

Desarrollo de Aplicaciones Empresariales en Java INTRODUCCIÓN A JAVA

Plataforma de Agentes en Terminales de Telefonía Móvil.

QUÉ ES UN DISPOSITIVO MÓVIL

SIGATEX Móvil. SIG para dispositivos móviles. de la Junta de Extremadura

Desarrollo de apps para móviles Android. Introducción a Android

Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ingeniería en Ciencias y Sistemas

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Estándares y lenguajes de marcado para el desarrollo de aplicaciones web orientadas a dispositivos moviles Esteban Saavedra Lopez

Beneficios estratégicos para su organización. Beneficios. Características V

3.- DESCRIPCIÓN DE LA J2ME

SISTEMA BLUETOOTH PARA EL CONTROL DE DISPOSITIVOS

4. Introducción a la plataforma J2ME.

APLICACIONES MÓVILES NATIVAS. Sesión 8: Arquitectura de las aplicaciones Android

ÍNDICE SISTEMAS OPERATIVOS... 5

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire tw: martosfre

Dirección General de Administración de Bienes y Contratación Administrativa

J2ME. CDC, CLDC y MIDP Java para dispositivos con capacidad limitada

Transcripción:

Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es

Creada por Sun Microsystems Presentada oficialmente en 1995 El empujón definitivo Acuerdo con Netscape para la integración de la tecnología en sus navegadores Hasta entonces, las páginas Web no eran interactivas Los applets Java permitían añadir interactividad

J2SE: (Java 2 Standard Edition) Inspirado en C++ incluyendo componentes de alto nivel como soporte nativo de strings y recolector de basura. Código independiente de la plataforma, precompilado a bytecodes intermedio y ejecutado en el cliente por una JVM (Java Virtual Machine). Modelo de seguridad tipo sandbox proporcionado por la JVM. Abstracción del sistema operativo subyacente mediante un juego completo de APIs de programación.

J2EE: (Java 2 Enterprise Edition) Orientada al entorno empresarial. Pensado no para ejecutarse en un equipo, sino para ejecutarse sobre una red de ordenadores de forma distribuida y remota mediante EJBs (Enterprise Java Beans). Edición orientada al desarrollo de servicios Web, servicios de nombres, persistencia de objetos, XML, autenticación, APIs para la gestión de transacciones, etc. En definitiva, se amplia la J2SE para dar soporte a los requisitos de las aplicaciones de empresa.

J2ME: (Java 2 Micro Edition) Enfocada a la aplicación de la tecnología Java en dispositivos con capacidades de computación y gráficas muy reducidas, tales como los teléfonos móviles, PDAs o electrodomésticos inteligentes. Dispone de componentes básicos que la diferencian de las otras versiones, como el uso de una KVM (Kilo Virtual Machine, necesita pocos Kbytes de memoria para funcionar), o como el uso de un pequeño y rápido recolector de basura, etc.

J2ME J2SE J2EE javax.microedition.*

ENTORNO DE EJECUCIÓN: Máquinas virtuales Java con diferentes requisitos, cada una para diferentes tipos de pequeños dispositivos. Configuraciones: conjunto de clases básicas que forman el corazón de las implementaciones para dispositivos con características específicas. CLDC: (Connected Limited Device Configuration) enfocada a dispositivos con restricciones de procesamiento y memoria CDC: (Connected Device Configuration) enfocada a dispositivos con más recursos.

Perfiles: bibliotecas Java de clases específicas orientadas a implementar funcionalidades de más alto nivel para familias específicas de dispositivos.

MÁQUINAS VIRTUALES JAVA Una MVJ es un programa encargado de interpretar código intermedio (bytecode) de los programas Java precompilados a código máquina ejecutable por la plataforma, efectuar las llamadas pertinentes al sistema operativo subyacente y observar las reglas de seguridad y corrección definidas para el lenguaje Java. KVM para CLDC. CVM para CDC.

KVM (Kilobyte Virtual Machine) Es un implementación muy reducida y especialmente orientada a dispositivos con bajas capacidades computacionales y de memoria. Escrita en lenguaje C con las siguientes características: Entre 40 y 80 Kbytes. Alta portabilidad. Modulable. Lo más completa y rápida posible sin sacrificar características para las que fue diseñada.

KVM Limitaciones respecto a la clásica Java Virtual Machine (JVM) No hay soporte para tipos en coma flotante. No existe soporte para JNI (Java Native Interface). No existen cargadores de clases definidos por el usuario. No se permiten los grupos de hilos o hilos daemon. No existe finalización de instancias de clases. Object.finalize(); No hay referencias débiles. Limitada capacidad para el manejo de excepciones. Reflexión....

KVM Limitaciones respecto a la clásica Java Virtual Machine (JVM) Verificación de clases.

CVM (Compact Virtual Machine) Ha sido tomada como la máquina virtual de Java de referencia para la configuración CDC. Soporta las mismas características que la MV de J2SE. Orientada a dispositivos con procesadores de 32 bits de gama alta y en torno a 2 MB o más de memoria RAM.

CONFIGURACIONES Una configuración es el conjunto mínimo de APIs Java que permiten desarrollar aplicaciones para un conjunto de dispositivos. Estas APIs definen las características básicas comunes a todos los dispositivos: Características soportadas del lenguaje de programación Java. Características soportadas por la la Máquina Virtual Java. Bibliotecas básicas de Java y APIs soportadas.

CONFIGURACIÓN CLDC Orientada a dispositivos dotados de conexión y con limitaciones en cuanto a capacidad, cómputo y memoria: Teléfonos móviles. Buscapersonas (pagers). PDAs. Organizadores personales....

CONFIGURACIÓN CLDC Estos dispositivos deben cumplir los siguientes requisitos: Disponer entre 160 y 512 KB de memoria total disponible. 128 KB como mínimo de memoria no volátil para la MVJ y las bibliotecas CLDC, y 32 KB de memoria volátil para la MV en tiempo de ejecución. Procesador de 16 ó 32 bits con al menos 25MHz de velocidad. Bajo consumo, debido a su funcionamiento con baterías. Conexión a alguna red, normalmente sin cable, con conexión intermitente y ancho de banda limitado (9600bps).

Nombre CONFIGURACIÓN del paquete CLDC CLDC Descripción java. io java.lang java.util javax.microedition.io Clases y paquetes estándar de la E/S Subconjunto de J2SE. Clases e interfaces de la MV. Subconjunto de J2SE. Clases, interfaces y utilidades estándar. Subconjunto de J2SE. Clases e interfaces de conexión genérica CLDC

CONFIGURACIÓN CDC Orientada a dispositivos con cierta capacidad computacional y de memoria: Decodificadores de televisión digital. Televisores con Internet. Algunos electrodomésticos. Sistemas de navegación en automóviles.

CONFIGURACIÓN CDC Estos dispositivos deben cumplir los siguientes requisitos: Procesador de 32 bits. Disponer de 2MB o más de memoria total. Poseer la funcionalidad completa de la Máquina Virtual Java2. Conectividad a algún tipo de red.

CONFIGURACIÓN CLDC Nombre del paquete CDC java. io java.lang java.lang.ref java.lang.reflect java.math java.net java.security java.security.cert java.text java.util java.util.jar java.util.zip javax.microedition.io Descripción Clases y paquetes estándar de la E/S. Clases básicas del lenguaje. Clases de referencia. Clases e interfaces de reflection. Paquete de matemáticas. Clases e interfaces de red. Clases e interfaces de seguridad. Clases de certificados de seguridad. Paquete de texto. Clases de utilidad estándar. Clases y utilidades de archivos JAR. Clases y utilidades para archivos ZIP y comprimidos Clases e interfaces de conexión genérica CLDC

PERFILES Definen las APIs que controlan el ciclo de vida de la aplicación, interfaz de usuario, etc. Un perfil es un conjunto de APIs orientado a un ámbito de aplicación determinado y que define las características de un dispositivo. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan. Para CDC: Foundation Profile Personal Profile RMI Profile Para CLDC: PDA Profile (Mobile Information Device Profile (MIDP)

Entorno de ejecución J2ME

Mobile Information Device Profile (MIDP) Dispositivos con reducida capacidad computacional. Conectividad limitada (9600 bps). Capacidad gráfica muy reducida (mínimo display de 96x54 pixel monocromo). Entrada de datos alfanumérica reducida. 128 Kb de memoria no volátil para componentes MIDP. 8 Kb de memoria no volátil para datos persistentes de aplicaciones. 32 Kb de memoria volátil en tiempo de ejecución para para la pila Java. APIs relacionadas con: La aplicación (semántica y control de la aplicación MIDP). Interfaz de Usuario. Almacenamiento persistente. Trabajo en red. Temporizadores.

Mobile Information Device Profile (MIDP) CONFIGURACIÓN CLDC Nombre del paquete MIDP javax.microedition.lcdui javax.microedition.rms javax.microedition.midlet javax.microedition.io java.io java.lang java.util Descripción Clases e interfaces para GUIs Record Management Storage. Clases de definición de la aplicación. Clases e interfaces de conexión genérica. Clases e interfaces de E/S básica. Clases e interfaces de la máquina virtual. Clases e interfaces de utilidades estándar.

Mobile Information Device Profile (MIDP) Las aplicaciones realizadas utilizando MIDP reciben el nombre de MIDlets. Un MIDlet es una aplicación Java realizada con el perfil MIDP sobre la configuración CLDC. udistribución JAR (Java ARchive) Archivo.ZIP que contiene todas las clases compiladas y los recursos del MIDlet. JAD (Java Archive Descriptor) Información sobre el MIDlet: nombre, descripción, autor, URL de la descarga, requisitos, iconos, etc.

Revisiones más destacadas CLDC 1.0 (2000) : No soporta operaciones en coma flotante 1.1 (2003) : Sí soporta operaciones en coma flotante MIDP 1.0 (2000) : Versión inicial. Parco soporte multimedia Los fabricantes añadieron sus propias clases Java para facilitar la creación de juegos INCOMPATIBILIDADES 2.0 (2002) : Gran soporte multimedia Mejora sustancial de compatibilidad entre terminales Soporte de conexiones seguras (HTTPS) Registro push

Combinaciones más habituales CLDC 1.0 + MIDP 1.0 CLDC 1.0 + MIDP 2.0 CLDC 1.1 + MIDP 2.0 Otras APIs Los fabricantes suelen añadir otras funcionalidades Estándares Java APIs for Bluetooth (JSR-82) Mobile 3D Graphics (JSR-184) No estándares Nokia UI Siemens Color Game API

JSR (Java Specification Requests) Grupos de trabajo que definen estándares en la comunidad Java J2ME Technologies CLDC Technology Connected Limited Device Configuration (CLDC); JSR 30, JSR 139- Mobile Information Device Profile (MIDP); JSR 37, JSR 118- Information Module Profile, (IMP); JSR 195- Java Technology for the Wireless Industry, (JTWI); JSR 185- Wireless Messaging API (WMA); JSR 120, JSR 205- Mobile Media API (MMAPI); JSR 135- Location API for J2ME; JSR 179- SIP API for J2ME; JSR 180- Security and Trust Services API for J2ME, (SATSA); JSR-177- Mobile 3D Graphics; JSR-184- J2ME Web Services APIs, (WSA); JSR 172- Bluetooth API (JSR-82, Motorola, Java Partner Site)- J2ME Content Handler API, (CHAPI); JSR 211 http://java.sun.com/j2me/index.jsp

Ejemplo: SonyEricsson K700i Presentado en marzo 2004 99 x 46.5 x 19.5 mm, 93 gr. 176x220 píxeles, 65536 colores CLDC 1.1 + MIDP 2.0 Memoria Java Heap: 512KB~1.5MB Memoria almacenamiento: 41MB internos Soporte multimedia Reproducción MP3, AAC, MIDI, AMR, WAV Captura de vídeo/imágenes fijas Radio FM Otras Java APIs JSR 120: Wireless Messaging API (WMA) JSR 135: Mobile Media API (MMAPI) JSR 184: Mobile 3D Graphics JSR 185: JTWI

Ejemplo: SonyEricsson K750i Presentado en marzo 2005 100 x 46 x 20.5 mm, 99 gr. 176x220 píxeles, 262144 colores CLDC 1.1 + MIDP 2.0 Memoria Memoria almacenamiento: 32MB internos + MemoryStickDuo Pro ( hasta 4GB!) Soporte multimedia Cámara de 2Mpíxeles con autoenfoque y modo macro Radio FM con RDS Otras Java APIs JSR 75: PIM API (accesoal sist. de ficheros) JSR 82: Java APIs for Bluetooth JSR 120: Wireless Messaging API (WMA) JSR 135: Mobile Media API (MMAPI) JSR 184: Mobile 3D Graphics JSR 185: JTWI