You are on page 1of 6

TDT Herramientas para desarrollo MHP

Mayo – Junio 2008 Raúl Sanz de Acedo Responsable del Centro Java y Open Source CEIN, S.A.

This work is licensed under the Creative Commons Atribución 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

Este informe se dividirá en dos partes: Una primera que da a conocer las herramientas de desarrollo existentes para el desarrollo de aplicaciones MHP. Y una segunda parte que presenta soluciones para el montaje de un entorno de pruebas que simule las condiciones reales de emisión en TDT y la inyección de aplicaciones MHP. De esta forma daremos un enfoque global de las herramientas necesarias para el desarrollo y pruebas de aplicaciones en MHP.

Entorno de desarrollo
Para construir aplicaciones en MHP existen dos posibilidades: se puede usar una herramienta MHP de autor, o bien se puede emplear un editor de texto y un compilador de Java. Algunos prefieren usar una herramienta de autor porque simplifica las tareas, mientras que a otros no les gusta porque no es suficientemente flexible o por la calidad del código que genera. Las herramientas de autor suelen incluir en una librería las clases necesarias para compilar la aplicación MHP, dado que la especificación MHP solo contempla un subconjunto de clases Java. Para aquellos que prefieran usar un editor de texto y el compilador de Java, deben hacerse con este conjunto de clases o librería, para poder crear aplicaciones MHP que cumplan con el estándar. El desarrollo de aplicaciones interactivas en MHP es una tecnología que lleva tiempo investigándose pero que no cuenta con muchas implementaciones comerciales reales, no está madura. Por tanto, existen posibilidades limitadas donde elegir. La gran mayoría de la oferta presente en el mercado son herramientas de autor, propietarias y de pago. Existen alternativas de código abierto que aportan algunas herramientas para el desarrollo de aplicaciones en MHP, aunque, debe tenerse en cuenta que, por el momento, no cumplen todas las especificaciones de estándar. Esto es una consideración importante a tener presente. Así mismo, el código abierto no ha sido probado tan exhaustivamente como las soluciones comerciales, debido al tamaño del mercado y al número de diferentes combinaciones posibles de equipamiento, parámetros y streams. Entre estos factores y la falta de integración entre varias soluciones de código abierto presentes en el mercado, no resulta recomendable su uso exclusivo para la creación de aplicaciones en producción. El uso de un entorno de desarrollo especializado en MHP tiene muchas ventajas:  Agiliza la creación de aplicaciones.  Permite una adopción de la tecnología sencilla.  Permite comprender fácilmente: o Las capas en las que se divide la presentación de una aplicación. o La creación de páginas y las propiedades que se le pueden asignar. o Los componentes que pueden emplearse en una página y sus propiedades. o Las propiedades de navegación entre páginas. Es decir, permitirá cumplir de forma más fiel y eficiente con los requerimientos del proyecto. Su uso es, por tanto, muy recomendable. Adicionalmente, para efectuar pruebas de desarrollo de aplicaciones MHP, se precisa de emuladores. Estos permiten la ejecución de aplicaciones MHP en un PC simulando las características de un decodificador MHP. Eso hace sencillo el desarrollo porque pueden 2 TDT, Herramientas para desarrollo MHP

ignorarse algunos de los aspectos más complicados del mismo. Tener la plataforma de desarrollo al completo en un solo ordenador es muy útil para demostraciones y el ciclo de compilación, pruebas y depuración. Existen versiones comerciales y alternativas de código abierto gratuitas. Estas generalmente carecen de muchas funcionalidades. No obstante son un buen punto de partida, aunque no son recomendables para desarrollar aplicaciones que se van a desplegar en producción. Se aconseja el uso del mayor número diferente de emuladores posibles para probar todo tipo de escenarios. Una cosa que un emulador no puede hacer es simular el rendimiento en ejecución en un STB (Set Top Box = decodificador) real. Esto es debido parcialmente a la diferencia de HW, pero también por la naturaleza de la aplicación, su paso por un TS (Transport Stream = Flujo de transporte), y su carga en el STB. Similarmente, emuladores no pueden probar características intrínsecas del formato de codificación MPEG, eventos, información de servicio, etc. Por tanto, lo emuladores son un valor añadido al kit de desarrollo de la aplicación pero para un entorno de pruebas lo más real posible, son mejores STB reales.

Herramientas de autor
Como se ha comentado anteriormente, existen herramientas de autor especializadas en el desarrollo de aplicaciones en MHP. Nombraré algunas de ellas:  IDesigner (de la empresa alemana Mit-Xperts): integra entorno de desarrollo y emulador.  Cardinal Studio: integra entorno de desarrollo y emulador. Esta a diferencia del resto, si genera código fuente.  AltiComposer (de la empresa coreana Alticast): integra entorno de desarrollo y emulador (el cual permite la ejecución de aplicaciones MHP creadas con otros entornos de desarrollo).  JAME Author: integra entorno de desarrollo y emulador.  mimundoTV: emulador comercial. Ventajas:  Interfaz muy visual que permite la construcción rápida de las pantallas de la aplicación MHP.  Agiliza mucho el desarrollo y por tanto, reduce el tiempo del mismo.  Se mejora el acabo final de la presentación. Esto, en mi opinión, es una causa derivada de la anterior, hay más tiempo para mimar el diseño.  No precisa de conocimientos en Java, aunque a la hora de la verdad no es así.  Diferenciaclaramente3capas: presentación, propiedades y contenidos. Permitiendo su manejo y comprensión de forma independiente. Inconvenientes:  Se trata de una herramienta de un alto coste.  No se profundiza en el desarrollo de aplicaciones MHP a nivel. 3 TDT, Herramientas para desarrollo MHP

 

No se tiene control sobre el código generado y por tanto, este no se puede optimizar. Dependencia del entorno de desarrollo.

Herramientas Open Source
De acometer el proyecto usando herramientas de código abierto, tenemos la opción de contar con un entorno de desarrollo (ej: Eclipse, Netbeans) y el kit de desarrollo Java, JDK. Estas son herramientas de código abierto, no obstante, también son unas herramientas de carácter genérico que se emplean en el desarrollo de cualquier tipo de aplicación y, por lo tanto, no presentan funcionalidades ni ayudas para el desarrollo específico de aplicaciones en MHP. En cuanto a las posibilidades de emulación, están disponibles de forma gratuita emuladores libres como XletView y OpenMHP. Son una buena forma de empezar teniendo poco presupuesto. No obstante ambos, son implementaciones incompletas de MHP. Ventajas:  Se precisan conocimientos en Java.  Se profundiza en el desarrollo de aplicaciones MHP.  Se tiene total control sobre el código de la aplicación y optimización del mismo.

tanto sobre la calidad y

Inconvenientes:  No se cuenta con un entorno muy amigable.  Se desarrollará de forma más lenta.  La presentación final puede no ser tan satisfactoria sino se le dedica tiempo.

Conclusión
En definitiva, no existen actualmente herramientas de código abierto que sean una alternativa fiable frente a las existentes en el mercado de autor. El uso de una herramienta de autor permitirá el desarrollo ágil del proyecto, en tiempos y con el diseño deseado. No obstante, esto impedirá obtener un buen conocimiento y dominio en el desarrollo de aplicaciones MHP a parte de una ausencia de control sobre el código generado. Si el proyecto se vale únicamente de medios de código abierto, se penalizarán un poco más los tiempos de desarrollo, al menos al comienzo, durante la curva de aprendizaje. Además, visualmente se precisará de más esfuerzos para conseguir unos resultados en la interfaz similares a los de una herramienta de autor. Por el contrario, se tiene absoluto control sobre el código generado y por tanto, la posibilidad de optimizarlo, dado los bienes escasos que son el ancho de banda en emisión y los recursos de los decodificadores.

4

TDT, Herramientas para desarrollo MHP

En esta segunda parte profundizaremos en las alternativas de un entorno de pruebas complementando la parte cubierta en la parte anterior proponiendo un sistema completo para el desarrollo y prueba de aplicaciones MHP.

Entorno de pruebas
Existen dos formas de plantear las pruebas de las aplicaciones en MHP desarrolladas. La primera de ellas, es usar un emulador, tal y como se ha comentado en la sección de desarrollo. Estos son un buen punto de partida. Su uso permite evitar muchas de las complejidades del desarrollo de aplicaciones en MHP. Son una buena alternativa a otras soluciones más caras, aunque no son recomendables para desarrollar aplicaciones que se van a desplegar en una red real para su puesta en producción. Además, un emulador no puede simular la eficiencia de un decodificador real. Esto es debido, parcialmente, a la diferencia de hardware, pero también por la naturaleza de la aplicación desarrollada, por las alteraciones sufridas a su paso por un TS (transport stream), por el tiempo de carga en el decodificador, etc. Igualmente, los emuladores no pueden probar las características intrínsecas del la codificación MPEG, los eventos, la información del servicio, etc. Por tanto, los emuladores son un valor añadido al kit de desarrollo de la aplicación, pero no son aptas para un entorno de pruebas lo más real posible. La segunda forma, es comprar un sistema de desarrollo de un proveedor de MHP. Compañías como ADB, Osmosys, Panasonic, IRT, y otras cuentan un la versión de desarrollo de sus decodificadores (set-top-boxes, STB) en torno a los 1000€. No es muy barato, pero es una inversión que merece la pena si se busca profundizar en la tecnología MHP de forma seria y para fines productivos, puesto que resuelven muchas de las carencias que presentan los emuladores. Para poder ejecutar las aplicaciones en el STB, es necesario cargarlas previamente. Esto dependerá del STB elegido, pudiendo ser a través de un puerto Ethernet, cable serie, entrada coaxial, etc. ¿Nos vale con todo esto? Desgraciadamente no. Cada fabricante ha implementado MHP a su manera, por tanto, el que tengamos una aplicación funcionando en un entorno de desarrollo y en uno o dos descodificadores hardware no nos garantiza que funcione o se vea bien en todos los del mercado. Resumiendo, la aplicación se comportará de forma distinta en diferentes receptores. Si cada fabricante facilitase las herramientas para cargar aplicaciones por puerto serie, nos bastaría con comprar una pila de descodificadores representativa del mercado. No obstante, esto no suele ser así. En cualquier caso, si se van a desarrollar aplicaciones en un entorno real, merece la pena seleccionar diferentes receptores de diferentes marcas para comprobar la interoperabilidad. No tienen porque tratarse de STB de desarrollo, pero es conveniente tener diferentes STB de desarrollo o emuladores para cubrir el mayor espectro de posibilidades si el presupuesto no da para más. Si por el contrario, el presupuesto si que da para más, es conveniente dar el siguiente paso: montar un cabecera de televisión. 5 TDT, Herramientas para desarrollo MHP

Esto es, dotarnos de la infraestructura necesaria para generar el stream de video sobre el cual irán las aplicaciones MHP. De esta forma, las aplicaciones MHP se cargarán en el deco a través del cable coaxial, de igual modo que en un entorno real. Esta opción es muy atractiva porque se acerca más a la realidad y permite medir más parámetros, como por ejemplo, la carga del ancho de banda en función del número de aplicaciones MHP, o en general, medir y probar características específicas del transport stream (TS). Partimos del hecho de que la generación de un stream de video y datos real mediante una solución puramente de hardware es muy cara. No obstante, dicho stream de video y datos también puede generarse mediante una solución mixta de hardware y software. Esta consiste en:   Un sistema de play-out por software: generación del TS a la velocidad correcta. Un sistema de hardware que adapta y envía el TS generado por software a un formato que pueda entender el STB. Esto es, una tarjeta moduladora que envía la señal mediante un cable coaxial al STB.

Esta es la forma más económica de obtener un laboratorio de pruebas real y fiable. Existen soluciones en este sentido Open Source, no obstante, por el momento no son herramientas fiables en la creación y envío del TS.

Conclusión
Solamente con el empleo de los emuladores no se simulan todas las características de un entorno real, cayendo en el riesgo de construir aplicaciones MHP que no funcionen o que lo hagan de forma ineficiente, por tanto, la inversión en la construcción de un laboratorio de pruebas es muy recomendable. De todas las opciones disponibles, la creación de un laboratorio de pruebas mediante herramientas hardware resulta muy cara. Siendo la alternativa mixtas de hardware y software una solución que permite la simulación de todos los parámetros del TS reales de forma fiable y óptima además de ser mucho más económica.

6

TDT, Herramientas para desarrollo MHP