Este documento describe cómo distribuir aplicaciones móviles (midlets) a través de OTA usando un servidor Apache. Explica cómo instalar XAMPP para configurar Apache, crear un sitio web para alojar los archivos midlet, y usar un emulador para instalar el midlet remotamente desde la URL del sitio web.
Práctica: distribución de midlets mediante OTA con J2ME - parte I
1. Práctica: distribución de midlets mediante OTA con J2ME (parte I) Jorge Iván Meza Martínez < [email_address] > http://www.jorgeivanmeza.com/ http://educacion.misservicios.net/
2.
3. Introducción Durante la sesión Compilación y distribución de midlets se expusieron los métodos de distribución de aplicaciones móviles, en especial los remotos a través de la red ( Over-the-air provisioning ). Ahora, contando ya con el primer midlet empaquetado y listo para su distribución (cualquiera de los tres métodos utilizados) nos disponemos durante la presente sesión a implementar de manera práctica este procedimiento.
4. Introducción Para esto se va a utilizar Apache como el servidor HTTP y al emulador de aplicaciones móviles incluído en el JWTK como cliente de las mismas. A pesar de que el objetivo de la práctica es el de realizar una simulación del proceso de distribución de midlets a nivel local, el procedimiento real en Internet no difiere en mas que en la ubicación en que se localicen los archivos y se especifique a su vez en el atributo MIDlet-Jar-URL del archivo descriptor de la aplicación.
5. Distribución de midlets Tal y como se vió en sesiones anteriores, los midlets se implementan en un entorno de desarrollo del cual las aplicaciones móviles salen empaquetadas (archivos JAR/JAD) y listas para ser distribuídas a los clientes, es decir, instaladas en los dispositivos móviles compatibles. Este proceso de distribución se lleva a cabo de dos maneras: local o remota. La forma remota se realiza a través del protocolo HTTP el cual es el mismo que el utilizado por las páginas web.
6. OTA La distribución de aplicaciones móviles a través del protcolo HTTP es conocido como Over-The-Air provisioning (OTA). Para una mayor información al respecto, consultar la documentación relacionada con la sesión Compilación y distribución de midlets . A continuación se muestra de manera gráfica el flujo de información resumido sucedido durante la distribución de midlets a través de OTA.
9. Apache Web Server Apache es el servidor de páginas mas utilizado en internet. Originalmente su distribución se enfocó en servidores Unix (como Linux) sin embargo existen versiones binarias oficiales para la plataforma Windows. Este servidor nos permitirá publicar las aplicaciones móviles que van a ser distribuidas a través del protocolo HTTP mediante OTA. El sitio oficial del servidor de páginas es http://httpd.apache.org/ .
10. Instalación del servidor de páginas Por facilidad y teniendo en cuenta el objetivo primario de la sesión, no se utilizará la distribución oficial de Apache para realizar la instalación del servidor web sino que se utilizará XAMPP el cual además del servidor de páginas incluye además el soporte para el lenguaje PHP de manera predeterminada. Para realizar la instalación del servidor páginas realice los pasos descritos a continuacion.
11. Instalación de XAMPP 1. Acceda al siguiente enlace utilizando un navegador web. http://www.apachefriends.org/en/xampp-windows.html 2. Deslice verticalmente la página hasta encontrar la sección de XAMPP Lite . 3. Descargue el paquete xampplite-win32-*.exe (s elfextracting ZIP archive ) de la distribución.
12. Instalación de XAMPP 4. Ejecute el instalador haciendo doble click sobre el ícono correspondiente al archivo recién descargado. 5. Especifique la ruta bajo la cual desea instalar a XAMPP. Por ejemplo: C:El paquete quedará instalado en C:AMPPLITE . 6. Abra un explorador de archivos y navegue hasta la carpeta donde se instaló el software.
13. Instalación de XAMPP 7. Ejecute la aplicación setup_xampp.bat contenida en el directorio de la distribución. 8. Ejecute la aplicación xampp-control.exe .
14. Instalación de XAMPP 9. En el XAMPP Control Panel presione los botones Start frente a cada uno de los servicios que desee iniciar. De manera análoga, para detener los servicios activos presione el botón Stop correspondiente. Para el desarrollo de la presente sesión se requiere del servicio Apache , el cual internamente viene configurado con el módulo dinámico que da el soporte necesario para PHP . Si el sistema operativo lo solicita, permita el acceso al servidor a través del firewall del equipo: desbloquear.
15. Instalación de XAMPP 10. Verifique el funcionamiento de Apache abriendo un navegador y consultando la siguiente ubicación: http://localhost/ . El árbol de directorios públicos se encuentra ubicado en el directorio tdocs bajo el directorio de la instalación.
16. Configuración de Apache 1. Con cualquier editor de texto, edite el archivo apacheonfime.types ubicado bajo el directorio de instalación de XAMPP. 2. Verifique la existencia de las siguientes líneas (tipos MIME) o agréguelos de ser necesario. text/vnd.sun.j2me.app-descriptor jad application/java-archive jar
17. Configuración de Apache Esta manipulación de tipos MIME también puede hacerse de manera local, es decir, de forma que sólo afecte recursivamente cierta rama de directorios. Para esto, cree o edite un archivo llamado .htaccess en el directorio superior bajo el cual se desea que tenga efecto la modificación y agregue las siguientes líneas. AddType text/vnd.sun.j2me.app-descriptor jad AddType application/java-archive jar Esta aproximación es muy útil en ambientes como los servidores compartidos ( shared hosting ) en los cuales no se tiene acceso a la configuración global del servidor.
18. Configuración de Apache 3. Reinicie Apache para tomar en cuenta los cambios realizados a su configuración. Haga click en el ícono de XAMPP en la barra de tareas para restaurar el panel de control. Presione los botones Stop y Start para reinciar el servicio.
19. Creación del sitio web 1. Cree un directorio dentro del árbol público del servidor de páginas llamado tdocsolaMundo . Si la instalación de XAMPP se realizó en la ubicación por defecto, la ruta completa debe ser la siguiente. C:ampplitetdocsolaMundo 2. Con cualquier editor de texto ( notepad por ejemplo) cree un archivo de texto y guárdelo como index.html en el directorio creado en el paso anterior.
20. Creación del sitio web 3. Escriba el siguiente documento XHTML como contenido del archivo index.html . < html > < head > < title > Distribuidor de midlets </ title > </ head > < body > < h1 > Distribuidor de midlets </ h1 > < p > Seleccione el enlace correspondiente al midlet que se desea descargar: </ p > < ul > < li >< a href = "HolaMundoMidlet.jad"> Hola Mundo Midlet </ a ></ li > </ ul > < hr > < p > Desarrollado por < b > Jorge I. Meza </ b > . </ p > </ body > </ html >
21. Creación del sitio web 4. Abra un navegador web ( Firefox por ejemplo) y consulte la siguiente ubicación: http://localhost/HolaMundo/index.html . Deberá obtener el siguiente resultado.
22.
23. Despliegue del midlet 3. Agregue o modifique el atributo MIDlet-Jar-URL haciendo que apunte a la ubicación del archivo JAR recién preparado. MIDlet-Jar-URL: http://localhost/HolaMundo/HolaMundoMidlet.jar Tengase en cuenta que la URL deberá ser absoluta (no relativa) y deberá referenciar al equipo donde efectivamente se encuentran los archivos de la aplicación móvil, los cuales para este taller práctico específico se encuentran en el mismo equipo, es decir, en localhost .
24. Ejecución del emulador J2ME Ejecute el emulador que incluye el JWTK invocando el siguiente comando desde el prompt del símbolo del sistema . c:TK2.5.2inmulator.exe -Xjam Es importante tener en cuenta que la ruta puede variar según la ubicación donde haya sido instalado el JWTK y su correspondiente versión.
25. Instalación remota de la aplicación 1. Presione el botón de opciones derecho (marcado de amarillo) correspondiente con la opción Apps de la aplicación.
26. Instalación remota de la aplicación 2. Presione el botón de opciones derecho: Menu . Del menú contextual abierto, seleccione la opción Launch y presione el botón de selección.
27. Instalación remota de la aplicación 3. Escriba la ubicación del sitio de distribución de midlets . http://localhost/HolaMundo/index.html Presione el botón de opciones derecho: Menu y presione el botón de selección para escoger la opción Go del menú contextual.
28. Instalación remota de la aplicación 4. Seleccione el midlet a instalar, para este caso deberá ser Hola Mundo Midlet . Presione el botón de opciones derecho: Install .
29. Instalación remota de la aplicación 5. Para confirmar la instalación del midlet , presione el botón de opciones derecho: Install . Si se quisiera abortar la instalación se debería presionar el botón de opciones izquierdo: Cancel .
30. Instalación remota de la aplicación 6. El dispositivo móvil presenta un mensaje de advertencia ya que el midlet no se encuentra firmado ( signed ). Presione el botón de opciones derecho: Continue , para aprobar la instalación del midlet no firmado.
31. Instalación remota de la aplicación 7. Presione el botón de opciones derecho: OK para ejecutar la aplicación recién descargada e instalada.
32. Distribución a través de Internet Para realizar la distribución de midlets a través de Internet, es decir, no sólo a nivel local (LAN) se deben realizar los mismos pasos seguidos durante la presente sesión, ubicando los archivos (JAD, JAR y HTML) en un hosting que tenga un direccionamiento IP visible desde los equipos cliente. Esto también aplica para permitir que los clientes presentes en una LAN puedan acceder a las aplicaciones móviles publicadas en un equipo específico, no únicamente los ubicados desde el mismo equipo ( localhost ).
33.
34. Distribución a través de Internet Utilice un teléfono móvil o el emulador de aplicaciones móviles para instalar el midlet HolaMundo desde la siguiente ubicación en Internet. http://demo.jorgeivanmeza.com/J2ME/HolaMundo/index.html
35. Enlaces de interés Java Platform Standard Edition http://java.sun.com/javase/ Java Platform Micro Edition http://java.sun.com/javame/ Apache: HTTPD Server Project http://httpd.apache.org/ PHP programming language http://www.php.net/ XAMPP – Apache Friends http://www.apachefriends.org/en/index.html .htaccess files useful tips and tricks http://www.garnetchaney.com/htaccess_tips_and_tricks.shtml