• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Compilación y distribución de midlets con J2ME
 

Compilación y distribución de midlets con J2ME

on

  • 6,708 views

● Introducción. ...

● Introducción.
● Descripción del proceso.
– Entorno de desarrollo.
● Edición.
● Compilación.
● Preverificación (4 fases).
● Empaquetado.
– Archivos JAR/JAD.
– Dispositivo móvil.
● Verificación.
● Ejecución.
● Distribución.
– Local.
– Remota.
● Funciones del AMS.
– Instalación.
– Actualización.
– Ejecución.
– Eliminación.

Statistics

Views

Total Views
6,708
Views on SlideShare
6,276
Embed Views
432

Actions

Likes
2
Downloads
1
Comments
0

13 Embeds 432

http://blog.jorgeivanmeza.com 222
http://www.jorgeivanmeza.com 60
http://damfpd.blogspot.com.es 39
http://adistancia.educantabria.es 35
http://www.slideshare.net 35
http://www.edu.xunta.es 19
http://www3.gobiernodecanarias.org 9
http://fpdinformatica.blogspot.com.es 5
http://damfpd.blogspot.com 3
http://fpdinformatica.blogspot.com 2
http://www.google.com.co 1
http://216.239.59.104 1
http://aulavirtual.educa.jccm.es 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Compilación y distribución de midlets con J2ME Compilación y distribución de midlets con J2ME Presentation Transcript

    • Compilación y distribución de midlets con J2ME Jorge Iván Meza Martínez < [email_address] > http://www.jorgeivanmeza.com/ http://educacion.misservicios.net/
    • Contenido
      • Introducción.
      • Descripción del proceso.
        • Entorno de desarrollo.
          • Edición.
          • Compilación.
          • Preverificación (4 fases).
          • Empaquetado.
            • Archivos JAR/JAD.
        • Dispositivo móvil.
          • Verificación.
          • Ejecución.
      • Distribución.
        • Local.
        • Remota.
      • Funciones del AMS.
        • Instalación.
        • Actualización.
        • Ejecución.
        • Eliminación.
    • Introducción Después de implementado el código fuente de las clases e interfaces que componen el midlet debe procesarse para convertirlo en código binario interpretable por la máquina virtual (JVM), es decir, clases Java ( bytecode contenido en archivos *.class ). En este capítulo se discutirán los aspectos teóricos de este procesos que serán practicados a continuación utilizando la implementación del midlet HolaMundo del capítulo inmediatamente anterior.
    • Descripcion del proceso
      • El proceso de desarrollo de aplicación móviles transcurre en dos escenarios:
        • El entorno de desarrollo (equipo del programador). Se realiza una única vez durante la implementación de la aplicación.
        • El dispositivo móvil . Se realiza cada vez que se distribuye la aplicación a un móvil.
      • Cada uno de ellos con actividades bien definidas y descritas a continuación.
    • Actividades: Entorno de desarrollo
        • Edición del código.
        • Compilación.
        • Preverificación.
        • Empaquetado.
    • Actividades: Entorno de desarrollo Se realizan una única vez mientras se desarrolla la aplicación. Su misión es generar el código fuente y convertirlo a su correspondiente distribución binaria entendible por la máquina virtual del dispositivo.
    • Edición del código Hace referencia a la generación del código fuente de la aplicación móvil utilizando las librerías de Java y las provistas por la plataforma J2ME. Corresponde con la etapa de implementación del ciclo de desarrollo y se realiza, al igual que en Java, con cualquier editor de texto plano. El producto final son uno o varios archivos con la extensión .java conteniendo el código fuente de la aplicación, uno por cada clase implementada.
    • Compilación Convierte el código Java escrito en la etapa anterior ( *.java ) a clases binarias ( *.class ) que podrán ser interpretadas por la máquina virtual. Este proceso requiere del ambiente de desarrollo de Java Standard Edition ( J2SDK ) y del Java Wireless Toolkit ( JWTK ). El producto final clases binarias, una por cada clase/interfaz implementada.
    • Preverificación Debido a las restricciones de los dispositivos móviles, la verificación de las clases se divide en dos etapas: la preverificación durante el desarrollo y la verificación durante la ejecución por la JVM. Realiza revisiones de seguridad, integridad y cumplimiento de los estándares. La verificación se realiza durante 4 pases. Al terminarse satisfactoriamente la revisión, los resultados son anotados en los archivos binarios.
    • Preverificación: Pase #1
      • Verifica el número mágico ( 0xCAFEBABE ) en los primeros cuatro bytes.
      • Los atributos del bytecode deben ser de las longitudes correctas.
      • El archivo binario no podrá estar truncado o tener bytes extra al final.
      • El pool de constantes no podrá tener ninguna información superficial.
    • Preverificación: Fase #2
        • Se asegura que las clases final no hayan sido heredadas y que los métodos final no hayan sido sobreescritos.
        • Revisa que todas las clases, a excepción de Object , tengan una superclase directa y válida.
        • Asegura que el pool constantes reuna las restricciones estáticas de la implementación.
        • Revisa que todas las referencias a campos y a métodos en el pool constante tengan nombres, clases y descriptores de tipo válidos.
    • Preverificación: Fase #3
      • Revisa que el operador de la pila siempre tenga el mismo tamaño y los mismos tipos de valores.
      • Se asegura que ninguna variable local sea accedida antes de verificarse que contenga un valor del tipo apropiado.
      • Verifica que los métodos sean invocados con los argumentos apropiados.
      • Verifica que los campos sean asignados únicamente con valores de los tipos apropiados.
      • Garantiza que todos los opcodes tienen argumentos con los tipos apropiados en la pila de operandos y en el arreglo de variables locales.
    • Preverificación: Fase #4 Durante este pase se realiza la verificación de cargue de clases y se termina el proceso de preverificación. Se modifican los archivos binarios ( *.class ) involucrados agregándosele los resultados de la verificación para futura revisión por parte del dispositivo móvil. Tomado Programming:J2ME:MIDlet_Preverify .
    • Empaquetado Reune las clases, interfaces y recursos obtenidos de las etapas anteriores empaquetándolas en un archivo JAR (Java ARchive) para su posterior distribución. Los archivos JAR son similares a los archivos ZIP pero incluyen además metainformación acerca de su contenido ( manifest ). El producto final es el archivo JAR mencionado junto con un archivo JAD ( Java Application Descriptor ) que lo describe.
    • Archivo JAR El archivo JAR contendrá a un midlet o a una suite de midlets junto con sus recursos. Téngase en cuenta que los midlets pertenecientes a una misma suite , comparten el mismo entorno de ejecución. En términos generales, el archivo JAR contiene la distribución de la aplicación móvil. El archivo JAD puede ser opcional y sólo es requerido según la forma de distribución que se le planee dar al aplicativo.
    • Archivo JAD Su objetivo es el de describir el contenido del archivo JAR. Es un archivo de texto plano donde cada línea es una propiedad con el siguiente formato. nombre: valor Desde la aplicación es posible acceder a los atributos del archivo JAD a través del método getAppProperty(name) de la clase Midlet .
    • Archivo JAD Las propiedades pueden ser definidas por el usuario según sus necesidades o las dispuestas por la especificación de MIDP. De las reservadas por la especificación de MIDP hay algunas de carácter obligatorio y otras de carácter opcional. Para mayor información al respecto consultar Retrieving MIDlet Attributes en http://developers.sun.com/mobility/midp/ttips/getAppProperty/ .
    • Ejemplo de JAD MIDlet-Name : Hola Mundo MIDlet-Version : 1.0 MIDlet-Vendor : jimezam MIDlet-Description : MIDlet de ejemplo MIDlet-1 : HolaMundo, /ejemplo/logo.png, ejemplo.HolaMundo MIDlet-Jar-URL : http://localhost/j2me/ejemplo/HolaMundo.jar MIDlet-Jar-Size : 1428 MicroEdition-Configuration : CLDC-1.1 MicroEdition-Profile : MIDP-2.0
    • Actividades: Dispositivo móvil
      • Verificación.
      • Ejecución (interpretación).
      • Se realiza cada vez que el dispositivo móvil intenta ejecutar una aplicación J2ME a través de su implementación de la JVM.
      • Su misión es verificar que la distribución binaria del midlet sea correcta, se adecue a la especificación de J2ME y la ejecuta de serlo.
    • Resúmen del proceso
    • Distribución de la aplicación Para este momento la aplicación móvil ya fue desarrollada y se encuentra lista para ser instalada en los dispositivos móviles cliente. La distribución hace referencia a esta transmisión del midlet en su estado binario (JAR/JAD) desde el escritorio del desarrollador hasta los dispositivos móviles.
    • Distribución de la aplicación
      • La especificación de MIDP no incluye detalles acerca de la distribución de midlets , sin embargo si especifica las bases del AMS ( Application Management Software ) el cual se encarga de realizar la gestión de los midlets en los dispositivos móviles.
      • Gracias a este software es posible realizar la instalación de los midlets a través de dos formas.
        • Localmente desde un computador.
        • Remotamente a través de la red.
    • Distribución: local Muy utilizada con teléfonos móviles a través de cables USB. Generalmente no requiere del archivo JAD, solamente del JAR. Es probable que se requiera de algún tipo de software específico instalado en el computador local para realizar la conexión con el dispositivo móvil. La suite de midlets es transmitida durante la sincronización del dispositivo.
    • Distribución: remota Se realiza a través de la red utilizando el protocolo HTTP/HTTPS. Se conoce como OTA ( Over-The-Air provisioning ). Las aplicaciones se publican utilizando un servidor web y son descargadas utilizando los navegadores web de los dispositivos móviles. Es posible utilizar otros medios alternativos como RS232, IrDA y Bluetooth.
    • Distribución: remota Acceso a la página web (XHTML/WML) utilizando un navegador. Se da click sobre el enlace al archivo descriptor. Envío del tipo MIME text/vnd.sun.j2me.app-descriptor . Envío del contenido del archivo JAD. Activación del AMS. Confirmación del usuario para la instalación. Obtención de la propiedad Midlet-Jar-URL . Solicitud del JAR a la URL obtenida. Envío del tipo MIME application/java-archive . Envío del contenido del archivo JAR. Recepción e instalación del JAR. Confirmación de la operación (si existe Midlet-Install-Notify ).
    • Códigos de estado del AMS
    • Distribución por red: simplificada Tomado de http://developers.sun.com/mobility/midp/articles/ota/ .
    • Distribución por red: ampliada Tomado de http://developers.sun.com/mobility/midp/articles/ota/ .
    • Funciones del AMS
      • El Application Management Software realiza las siguientes tareas en el dispositivo móvil relacionadas con la administración de aplicaciones J2ME.
        • Instalación de midlets .
        • Actualización de midlets .
        • Ejecución de midlets .
        • Eliminación de midlets .
    • AMS: instalación Se encarga de recibir las solicitudes de instalación de las maneras descritas en la sección de distribución y de almacenar el midlet de manera apropiada en la memoria (principal o secundaria -tarjetas de almacenamiento) del dispositivo para su futura ejecución.
    • AMS: actualización De manera similar a la tarea de instalación, el AMS basado en la información del archivo JAD puede conocer la versión del midlet instalado y determinar si existe o no una nueva versión en el servidor y proceder a descargarla para reemplazar la local. Utiliza las propiedades Midlet-Version y Midlet-Jar-URL del archivo descriptor.
    • AMS: ejecución Permite al usuario seleccionar un aplicativo J2ME y solicitar su ejecución por parte de la máquina virtual del dispositivo móvil. Su presentación y características son dependientes de la implementación específica del dispositivo.
    • AMS: eliminación Permite remover una suite de midlets junto con todos los recursos de almacenamiento que hayan sido reservados con ella. Requiere confirmación del usuario y es un proceso irreversible. Propiedad opcional Midlet-Delete-Confirm del JAD permite presentar mensaje personalizado para la confirmación. Propiedad opcional Midlet-Delete-Notify del JAD permite notificar la eliminación a un URL específico.
    • Fin de la presentación. Creative Commons (CC)