1 / 36

Xlets

Xlets. Multimedia Home Protocol. Xlets. Mapa de Índice. INTRODUCCIÓN. Introducción a las Xlets. Introducción. Diferencia entre Aplicación Xlet e Interface Xlet Las Xlets como aplicaciones , parecidas a los Applets o Midlets

nydia
Télécharger la présentation

Xlets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Xlets Multimedia Home Protocol

  2. Xlets Mapa de Índice E.T.S de Ingenieros de Telecomunicación

  3. INTRODUCCIÓN Introducción a las Xlets

  4. Introducción • Diferencia entre Aplicación Xlet e Interface Xlet • Las Xlets como aplicaciones, parecidas a los Applets o Midlets • Una aplicación debe implementar el javax.tv.xlet.Xlet Interface • Aplicaciones iniciadas automáticamente por el Broadcaster o manualmente por el Set-top Box (Mando a distancia Usuario) E.T.S de Ingenieros de Telecomunicación

  5. Cómo localizamos a la Xlet? Un registro en la AIT nos localiza la clase inicial de la Xlet (Initial_class_byte) Introducción E.T.S de Ingenieros de Telecomunicación

  6. CICLO DE VIDA LifeCycle de una aplicación Xlet

  7. CICLO DE VIDA • Una aplicación entra en el estado Loadedcuando es cargada bien sea desde Set-top Box o bien desde el Carrousel de datos. • Después de esto, el Application manager señaliza a la aplicación para iniciarse a si misma, por lo que pasa al estado Paused. • El estado Active(Running) significa que la aplicación está en ejecución y puede volver al estado Pausedo bien terminar la aplicación pasando al estado Destroyed. E.T.S de Ingenieros de Telecomunicación

  8. Ciclo de Vida E.T.S de Ingenieros de Telecomunicación

  9. APLICATION MANAGER ¿Qué Es? ¿Qué hace?

  10. Aplication Manager • Reside en el Set-top Box y se inicia cuando se enciende el mismo, hasta que se apaga • Se encarga de manejar los estados de cada Aplicación y hacer de puente a los recursos del Set-top Box • Aministra la memoria, key events, errores de ejecución de las aplicaciones • Define el modelo de ciclo de vida E.T.S de Ingenieros de Telecomunicación

  11. Aplication Manager (2) • Establece el XletContext para cada Aplicación • Mediante el XletContext Inteface, el Application Manager se comunica con las Xlets para ser notificado de sus cambios de estado. E.T.S de Ingenieros de Telecomunicación

  12. Aplication Manager (2) • Identifica y Cachea la información de las aplicaciones procedentes de las Tablas E.T.S de Ingenieros de Telecomunicación

  13. Aplication Manager (3) • Define el protocolo de comunicación entre la Aplicación y él mismo. E.T.S de Ingenieros de Telecomunicación

  14. Interfaces: Xlet y XletContext Definen una serie de métodos abstractos pero no los implementan

  15. Xlet Interface initXlet() - startXlet() - pauseXlet() - destroyXlet() • Una aplicación debe sobreescribir estos métodos para implementar la interface Xlet • El aplication manager llamará a estos métodos para iniciar, comenzar, pausar o eliminar una aplicación de la memoria. • Es una interface muy parecida al de las Applets o los Midlets (J2me) E.T.S de Ingenieros de Telecomunicación

  16. Xlet Interface • pauseXlet() • A menudo ignorado por los desarrolladores • También ignorado por algunas herramientas de desarrollo • Los receptores y servicios confían en que esté bien implementado • El navegador puede poner en modo pausado cuando se presenta la aplicación • Ofrece grandes ventajas (explicadas más adelante) E.T.S de Ingenieros de Telecomunicación

  17. Xlet Interface • destroyXlet() • Una aplicación puede ser terminada en cualquier momento cuando se evoca el destroyXlet() • Esta llamada la debe hacer el Application Manager o bien la propia aplicación. E.T.S de Ingenieros de Telecomunicación

  18. XletContext Interface getXletProperties() notifyPaused() notifyDestroyed() resumeRequest() • Actúa como puente entre el Xlet y el Application Manager • Permite que el Application Manager sea correctamente notificado de cualquier cambio en los estados de las Xlet’s E.T.S de Ingenieros de Telecomunicación

  19. Como implementar Bien Formas y maneras de implementar bien el Xlet Interface

  20. Como implementar Bien • Optimización del tiempo de recarga de la Xlet. • La Xlet puede ser precargada por un lanzador de aplicaciones • Se ejecuta initXlet() • Carga los recursos e inicializa la aplicación • La carga puede ser ejecutada en menos de 1 seg cuando el espectador quiere comenzar la aplicación. • Siemplemente se hace visible la Hscene. E.T.S de Ingenieros de Telecomunicación

  21. Como implementar Bien • Tiempo de Carga o Cambio de Aplicación en condiciones normales E.T.S de Ingenieros de Telecomunicación

  22. Como implementar Bien • La carga de aplicaciones tiene mejor sincronización. • La aplicación interactiva salta (se hace visible) en cuanto el anuncio empieza. • Evita cargas y recargas sucesivas. E.T.S de Ingenieros de Telecomunicación

  23. Como implementar Bien • Linea de tiempo con y sin precarga. E.T.S de Ingenieros de Telecomunicación

  24. Como implementar Bien • initXlet() vs. startXlet() • En InitXlet() ejecuta tareas de inicializacion de una vez. • Construye el Hscene, registra los listeners y carga los recursos. • StartXlet() y PauseXlet() son parejas. • Imágenes cargadas en StartXlet() son limpiadas PauseXlet(). • Hace la Hscene visible. • También realiza la carga de recursos abundantes y escasos. • También considera otras aplicaciones • Si las imágenes son cargadas en InitXlet(), la Xlet comienza más rápido. • Si muchas aplicaciones corren simultaneamente, se reserva mucha cantidad de memoria y el estado de PauseXlet() es inestable. E.T.S de Ingenieros de Telecomunicación

  25. Como implementar Bien • Xlets corriendo simultaneamente. • Facilmente pueden correr unas 10 pequeñas aplicaciones. Generalmente el ancho de banda es el mayor problema. • El manejo de recursos necesita ser diseñado. • No usar recursos escasos en modo Pausa. • Los escenarios deben ser testeados. • Todas las Xlets corriendo simultaneamente en un escenario de máxima demanda con el receptor más restrictivo. E.T.S de Ingenieros de Telecomunicación

  26. Como implementar Bien • Recursos disponibles. • 1.5MB de memoria para datos. • 4MB de memoria para imágenes. • 4MB de contenido de carrusel, dividido en varios carruseles • Limitada cantidad de filtros. • Usado para ficheros dinámicos, stream events, datos del SI… • Un uso máximo de 10 ficheros dinámicos. E.T.S de Ingenieros de Telecomunicación

  27. Como implementar Bien • Ejemplo de lanzador: Menú E.T.S de Ingenieros de Telecomunicación

  28. Como implementar Bien • Ejemplo de lanzador: icono de testeo. E.T.S de Ingenieros de Telecomunicación

  29. Como implementar Bien • Linea de tiempo del icono de testeo. E.T.S de Ingenieros de Telecomunicación

  30. Como implementar Bien • Linea de tiempo de la carga del mensaje. E.T.S de Ingenieros de Telecomunicación

  31. Como implementar Bien • Evitar implementaciones extra • Cuando empieza la aplicación muestra un icono, es el comportamiento habitual de aplicaciones autoejecutables. • Aplicaciones minimizadas muestran un icono • No permite que otras aplicaciones sean usadas. • Ambos casos serán mejor implementados con un lanzador. • Evita confusiones. • Las aplicaciones tienen un modelo más simple. E.T.S de Ingenieros de Telecomunicación

  32. Como implementar Bien • Destroy o Pause para salir de la aplicación? • Pause cuando: • La aplicación es usada con frecuencia y necesita ser de acceso rápido (EPG). • Cuando la aplicación contiene datos de actualización dinámica (teletexto digital). • Cuando el tiempo de ejecución es largo y es como si continuara más tarde (banking, T-commerce). • Destroy cuando: • Aplicaciones que están disponibles a menudo pero que son usadas ocasionalmente (juegos). E.T.S de Ingenieros de Telecomunicación

  33. Como implementar Bien • Destroying Xlet: • Prepararse para un cambio rapido de servicio. • Muchos receptores tienen preferencia por un zapping rápido entre servicios • Los recursos pueden no estar disponibles. • Suministra un mensaje de salida DestroyXlet(false). • Señalizar DESTROY a la AIT 1 minuto antes • También llamado si el receptor se queda sin recursos • No necesita notificar al XletContext E.T.S de Ingenieros de Telecomunicación

  34. Como implementar Bien • Conclusiones • Implementar el estado Pausa en aplicaciones • Para comportarse mejor. • Para obtener mejor rendimiento en entornos agiles. • Cuando corren múltiples aplicaciones simultaneamente • Verificar los requisitos de memoria de las aplicaciones. • Diseñar la comunicación y compartición de recursos. • No implementar estados extras en Xlets. • Permitir a un manejador de aplicaciones manejar esto. • Considerar el comportamiento de la aplicación • Antes de la extraccion de la señalización. E.T.S de Ingenieros de Telecomunicación

  35. Ejemplo de Xlet Ejemplo sencillo de Xlet

  36. Ejemplo de Xlet public class MyFirstExampleXlet implements javax.tv.xlet.Xlet { public MyFirstExampleXlet() {…} public void initXlet(javax.tv.xlet.XletContext context) throws javax.tv.xlet.XletStateChangeException {…} public void startXlet() throws javax.tv.xlet.XletStateChangeException {…} public void pauseXlet() {…} public void destroyXlet(boolean unconditional) throws javax.tv.xlet.XletStateChangeException {…} } E.T.S de Ingenieros de Telecomunicación

More Related