Download Configuración CLDC Diferencias de CLDC con J2SE
Document related concepts
no text concepts found
Transcript
DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL 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 INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Connected Limited Device Configuration Ø Ø Ø Ø Ø Introducción Objetivos y requerimientos Diferencias de CLDC con J2SE Seguridad en CLDC Librerías CLDC Compatibilidad Clases heredadas de J2SE Clases propias de CLDC INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Introducción La configuración CLDC se encarga de las siguientes áreas: Ø Ø Ø Ø Ø Ø Lenguaje Java y características de la máquina virtual. Librerías del núcleo de Java (java.util.* y java.lang.*). Entrada / Salida. Comunicaciones. Seguridad. Internacionalización. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Objetivos y Requerimientos Una configuración de J2ME especifica un subconjunto de características soportadas por el lenguaje java, un subconjunto de funciones de la configuración para la máquina virtual de Java, el trabajo en red, seguridad, instalación, y posiblemente, otras APIs de programación, todo lo necesario para soportar cierto tipo de productos. CLDC es la base para uno o más perfiles. Un perfil define un conjunto adicional de APIs y características para un mercado concreto, dispositivo determinado o industria. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Objetivos y Requerimientos Objetivos: Extensibilidad: Permitir el uso del lenguaje de programación Java como base para la distribución de contenido dinámico para la próxima generación de dispositivos. Desarrollo de aplicaciones por terceras partes: La especificación CLDC solo deberá incluir librerías de alto nivel que proporcionen suficiente capacidad de programación para desarrollar aplicaciones por terceras partes. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Objetivos y Requerimientos Requerimientos Hardware: Ø Ø 128 KB de memoria no volátil para la JVM y las librerías CLDC. Al menos 32KB de memoria volátil para el entorno de ejecución Java y objetos en memoria. Requerimientos Software: El dispositivo contiene un mínimo S.O.. Este S.O. Debe proporcionar al menos una entidad de planificación para ejecutar el JVM. Requerimientos J2ME: Ø Ø Todas las características incluidas en una configuración deben ser generalmente aplicables a una gran variedad de dispositivos. Una configuración no debe definir ninguna característica opcional. (funcionalidades más específicas deben ser definidas en los perfiles) INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Diferencias de CLDC con J2SE Ø Ø Ø Ø Ø Ø Ø Ø No existe soporte para operaciones en coma flotante. No existe finalización de objetos. Limitaciones en el manejo de errores. Java Native Interface (JNI). Cargadores de clase definidos por el usuario. Reflexión. Grupos de threads o daemon threads. Referencias débiles INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Seguridad en CLDC Al igual que los applets, los programas se ejecutan en una zona de seguridad denominada sandbox. Según este modelo, sólo se pueden ejecutar algunas acciones que se consideran seguras. De forma que las aplicaciones deben cumplir unas condiciones previas: Ø Ø Ø Ø Ø Los ficheros de clases Java deben ser verificados como aplicaciones Java válidas. Sólo se permite el uso de APIs autorizadas por CLDC. No esta permitido cargar clases definidas por el usuario. Sólo se puede acceder a características nativas que entren dentro del CLDC. Una aplicación ejecutada bajo KVM no debe ser capaz de dañar el dispositivo donde se encuentra INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Librerías CLDC Compatibilidad: La mayoría de las clases incluidas en CLDC son un subconjunto de las incluidas en J2SE y J2EE. Sin embargo las dependencias internas hacen muy difícil tomar partes de una librería sin incluir otras. Por lo que algunas librerías se han rediseñado. Por lo tanto, las librerías CLDC se dividen en dos categorías: Ø Ø Clases que son un subconjunto de las librerías de J2SE. Clases específicas de CLDC. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Librerías CLDC Clases de sistema java.lang.Class java.lang.Object java.lang.Runnable java.lang.Runtime java.lang.String java.lang.Stringbuffer java.lang.System java.lang.Thread java.lang.Throwable Clases heredadas de J2SE Clases de datos Clases de utilidades java.lang.Boolean java.lang.Byte java.lang.Character java.lang.Integer java.lang.long java.lang.Short java.util.Calendar java.util.Date java.util.Enumeration java.util.Hashtable java.util.Random java.util.Stack java.util.TimeZone java.util.Vector Clases de E/S java.io.InputStreamReader java.io.ByteArrayInputStream java.io.ByteArrayOutputStream java.io.OutputStream java.io.OutputStreamWriter java.io.DataInput java.io.PrintStream java.io.DataOutput java.io.Reader java.io.DataInputStream java.io.Writer java.io.DataOutputStream INGENIERÍA DEjava.io.InputStream TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Configuración CLDC Librerías CLDC Clases propias de CLDC Estas clases sustituyen a las incluidas en java.io y java.net de J2SE Generic Connection Framework Clases de E/S Descripción Connector Connection InputConnection OutputConnection StreamConnection ContentConnection Datagram DatagramConnection StreamConnectionNotifier Puede crear cualquier tipo de conexión Define el tipo de conexión más genérica Define una conexión de streams de entrada Define una conexión de streams de salida Define una conexión basada en stream Extensión de StreamConnection para trabajar con datos Interfaz genérico de datagramas Define una conexión basada en datagramas Notifica una conexión. Permite crear una conexión en el lado del servidor. Incluidas en javax.microedition.io INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA