Sakaram: Viviendo en la red

31 agosto 2005

Configurar midlets para descargas via OTA

Aquellos que programeis aplicaciones para móvil, sabreis que testear aplicaciones desde un emulador de PC es útil para probar ciertas cosas pero para otras no, ya que luego uno se lleva sorpresas (como norma general desagradables) cuando lo prueba en el dispositivo móvil real (sobretodo cuestiones relacionadas con protocolos y conectividad a internet). Así que la mayoría de pruebas las realizamos finalmente en el móvil transfiriendo los ficheros correspondientes mediante infrarojos, puerto serie, bluetooth...

¿Pero que pasa si la aplicación debe testearse en terminales antigüos que no tienen ninguna de estas facilidades?

Evidentemente existen varias opciones, pero personalmente la más barata y fácil desde mi punto de vista es configurar un Web Server para que sirva éstas aplicaciones.


Hoy quiero explicaros como configurar un Web Server para que sirva aplicaciones en J2ME y explicaros cual es el procedimiento de descarga de la aplicación.

CONFIGURANDO EL SERVIDOR WEB

Cualquier Servidor Web puede ser configurado para desplegar aplicaciones J2ME (IIS, Tomcat, IPlanet) simplemente debemos configurar los siguientes tipos MIME:

extensión: jad
tipo mime: text/vnd.sun.j2me.app-descriptor

extensión: jar
tipo mime: application/java-archive

Nota: En Tomcat por ejemplo ésto debemos configurarlo en el fichero web.xml que se encuentra en el directorio CONF de nuestro CATALINA_HOME.

Una vez hecho ésto, podemos crearnos un fichero html o wml que contenga un link que punte al descriptor JAD de nuestra aplicación y de ésta forma desde el navegador del móvil dirigirnos a la url del fichero html/wml clicar en el link y facilmente descargarnos e instalar la aplicación.

EL DESCRIPTOR JAD

El descriptor jad es un fichero que contiene basicamente información acerca del tamaño de nuestra aplicación y de donde está ubicado para su descarga.

Los atributos básicos que podemos configurar son los siguientes:
  • MIDlet-Name: Nombre de la aplicación
  • MIDlet-Vendor: Proveedor
  • MIDlet-Version: Versión de la aplicación
  • MIDlet-Jar-Size: Tamaño
  • MIDlet-Jar-Url: Ubicación (aquí pondremos la url donde hemos ubicado la aplicación para su descarga)
  • MIDLET-Install-Notify: Url donde notificar si la aplicación se ha instalado correctamente o a fallado

DESCARGANDO E INSTALANDO

El proceso de descarga e instalación del midlet es el siguiente:

  1. Al acceder a la url que contiene el jad, el navegador se lo descarga y se lo hace llegar al gestor de aplicaciones java del dispositivo (JAM)
  2. El JAM utiliza la información almacenada en el descriptor(JAD) para saber si el dispositivo está capacitado para ejecutar la aplicación
  3. Si la aplicación es válida, el JAM utiliza la url que aparece en el atributo MIDlet-Jar-Url para descargarse la aplicación
  4. Una vez descargada, se pide confirmación para instalar la aplicación tras la cual el JAM instala el midlet en el dispositivo
  5. Una vez finalizada la instalación el JAM envia al servidor una confirmación de que la aplicación ha sido instalada (esto se utiliza con fines comerciales)
Y eso es todo, en pocos minutos ya podeis descargar y testear vuestras aplicaciones en cualquier dispositivo por muy de la edad de piedra que sea :P