SlideShare ist ein Scribd-Unternehmen logo
1 von 34
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object]
Actividades: Entorno de desarrollo ,[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object]
Preverificación: Fase #2 ,[object Object],[object Object],[object Object],[object Object]
Preverificación: Fase #3 ,[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object],[object Object]
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)

Weitere ähnliche Inhalte

Mehr von Jorge Iván Meza Martínez

Presentación grupo de investigación UAM, 201203
Presentación grupo de investigación UAM, 201203Presentación grupo de investigación UAM, 201203
Presentación grupo de investigación UAM, 201203Jorge Iván Meza Martínez
 
Mercadeo en la era de la web 2.0, UniQuindio 20110517
Mercadeo en la era de la web 2.0, UniQuindio 20110517Mercadeo en la era de la web 2.0, UniQuindio 20110517
Mercadeo en la era de la web 2.0, UniQuindio 20110517Jorge Iván Meza Martínez
 
GridUAM, presentación del proyecto - 20110128
GridUAM, presentación del proyecto - 20110128GridUAM, presentación del proyecto - 20110128
GridUAM, presentación del proyecto - 20110128Jorge Iván Meza Martínez
 
Presentación introducción taller cluster 2010/07
Presentación introducción taller cluster 2010/07Presentación introducción taller cluster 2010/07
Presentación introducción taller cluster 2010/07Jorge Iván Meza Martínez
 
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0Jorge Iván Meza Martínez
 
Práctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte IPráctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte IJorge Iván Meza Martínez
 
Generación del midlet HolaMundo utilizando EclipseME
Generación del midlet HolaMundo utilizando EclipseMEGeneración del midlet HolaMundo utilizando EclipseME
Generación del midlet HolaMundo utilizando EclipseMEJorge Iván Meza Martínez
 
Generación del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKGeneración del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKJorge Iván Meza Martínez
 
Introducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google MappletsIntroducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google MappletsJorge Iván Meza Martínez
 

Mehr von Jorge Iván Meza Martínez (16)

Presentación grupo de investigación UAM, 201203
Presentación grupo de investigación UAM, 201203Presentación grupo de investigación UAM, 201203
Presentación grupo de investigación UAM, 201203
 
Presentación GridUAM 201112
Presentación GridUAM 201112Presentación GridUAM 201112
Presentación GridUAM 201112
 
Mercadeo en la era de la web 2.0, UniQuindio 20110517
Mercadeo en la era de la web 2.0, UniQuindio 20110517Mercadeo en la era de la web 2.0, UniQuindio 20110517
Mercadeo en la era de la web 2.0, UniQuindio 20110517
 
GridUAM, presentación del proyecto - 20110128
GridUAM, presentación del proyecto - 20110128GridUAM, presentación del proyecto - 20110128
GridUAM, presentación del proyecto - 20110128
 
Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09
 
Presentación introducción taller cluster 2010/07
Presentación introducción taller cluster 2010/07Presentación introducción taller cluster 2010/07
Presentación introducción taller cluster 2010/07
 
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
 
Instalacion Básica De Drupal 6
Instalacion Básica De Drupal 6Instalacion Básica De Drupal 6
Instalacion Básica De Drupal 6
 
Buscador de Talento Amigo - Presentación
Buscador de Talento Amigo - PresentaciónBuscador de Talento Amigo - Presentación
Buscador de Talento Amigo - Presentación
 
Práctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte IPráctica: distribución de midlets mediante OTA con J2ME - parte I
Práctica: distribución de midlets mediante OTA con J2ME - parte I
 
Generación del midlet HolaMundo utilizando EclipseME
Generación del midlet HolaMundo utilizando EclipseMEGeneración del midlet HolaMundo utilizando EclipseME
Generación del midlet HolaMundo utilizando EclipseME
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Generación del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTKGeneración del midlet HolaMundo utilizando el JWTK
Generación del midlet HolaMundo utilizando el JWTK
 
Introducción a la plataforma J2ME
Introducción a la plataforma J2MEIntroducción a la plataforma J2ME
Introducción a la plataforma J2ME
 
Desarrollo de Mi Primer Mapplet
Desarrollo de Mi Primer MappletDesarrollo de Mi Primer Mapplet
Desarrollo de Mi Primer Mapplet
 
Introducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google MappletsIntroducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google Mapplets
 

Kürzlich hochgeladen

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Kürzlich hochgeladen (20)

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

Compilación y distribución de midlets con J2ME

  • 1. 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/
  • 2.
  • 3. 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.
  • 4.
  • 5.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10.
  • 11.
  • 12.
  • 13. 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 .
  • 14. 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.
  • 15. 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.
  • 16. 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 .
  • 17. 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/ .
  • 18. 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
  • 19.
  • 21. 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.
  • 22.
  • 23. 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.
  • 24. 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.
  • 25. 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 ).
  • 27. Distribución por red: simplificada Tomado de http://developers.sun.com/mobility/midp/articles/ota/ .
  • 28. Distribución por red: ampliada Tomado de http://developers.sun.com/mobility/midp/articles/ota/ .
  • 29.
  • 30. 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.
  • 31. 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.
  • 32. 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.
  • 33. 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.
  • 34. Fin de la presentación. Creative Commons (CC)