Capítulo 9 Conclusiones y líneas de continuación En el transcurso de esta memoria se ha descrito la adaptación de un receptor FLUTE realizado para Windows XP a Windows Mobile, su posterior modificación para avenirse a las características propias de la recepción FLUTE en IPDC y la definición de una API sobre esta implementación que abstrayera a las aplicaciones clientes de las particularidades de esta u otras implementaciones de FLUTE. Todo ello en el contexto del desarrollo de un cliente para DVB-H. Por otra parte se han definido los módulos que inerconectan el “dominio Java” con el “dominio C” del cliente DVB-H, usando la interfaz JNI. Mediante la adaptación de MAD-FCL a Windows se ha logrado ahorrar parte del desarrollo del cliente, además de contar con un código que ha sido probado con otras implementaciones FLUTE, por lo que se tienen ciertas garantías de que es una implementación fiel de la norma. Con la definición de OpenFluteApi se ha logrado separar la implementación FLUTE de la funcionalidad que se ofrece al exterior. Esto no se ha podido demostrar fehacientemente, ya que OpenFluteApi no se ha probado con otras implementaciones FLUTE diferentes de MAD-FCL. Gracias al uso de JNI se ha logrado integrar el código nativo necesario fundamental para el funcionamiento del cliente con el desarrollo de las capas superiores realizadas en Java. Sin embargo, es preciso señalar que al ejecutar código nativo desde Java, tanto el código en Java como el nativo dejan de poderse depurar. Esto acarrea graves consecuencias, ya que ante cualquier error no evidente, el proceso de depuración se limita a la escritura de ficheros de registro, con la pérdida de tiempo e información de errores que trae consigo. Además, las llamadas a métodos nativos consumen más memoria y son más lentas que los métodos regulares de Java. Esto supone un lastre respecto a la eficiencia y la rapidez de la aplicación, cuestión ésta de vital importancia en el desarrollo de aplicaciones en dispositivos de baja capacidad de procesamiento, como son en los que se ejecuta el cliente DVB-H. 9.1. Líneas de continuación En cuanto a la implementación FLUTE y a OpenFluteApi, existen varias líneas de trabajo para mejorar lo ya realizado: En la actual implementación no se contempla el procesado del atributo Group de la definición de la FDT de IPDC. Este atributo permite agrupar ficheros dentro de una sesión FLUTE, de forma que si se descarga un miembro del grupo, automáticamente se descargan los demás. Queda pendiente la adaptación de las librerías suplementarias de MAD-FCL. Se consideran más útiles en el contexto en que se produce la recepción las librerías zlib y OpenSSL. La adaptación de la librería que permite realizar la reparación de ficheros (libcurl) no parece muy necesaria por ahora en el ámbito de recepción FLUTE en IPDC. 77 78 9.1. Líneas de continuación La gestión de eventos en OpenFluteApi se realiza actualmente mediante espera de activación de eventos. Sería una mejora en el diseño la utilización de “callbacks” en su lugar. En lo referente a la interfaz JNI, es preciso todavía realizar la interconexión entre la librería a utilizar para la reproducción de servicios multimedia y la JSR-272, completando así el cliente DVB-H.