![Page 1: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/1.jpg)
Xlets
Multimedia Home Protocol
![Page 2: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/2.jpg)
10/04/2005 .2E.T.S de Ingenieros de Telecomunicación
Xlets
Mapa de Índice
![Page 3: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/3.jpg)
INTRODUCCIÓN
Introducción a las Xlets
![Page 4: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/4.jpg)
10/04/2005 .4E.T.S de Ingenieros de Telecomunicación
Introducción
Diferencia entre Aplicación Xlet e Interface Xlet Las Xlets como aplicaciones, parecidas a los
Applets o MidletsUna aplicación debe implementar el
javax.tv.xlet.Xlet InterfaceAplicaciones iniciadas automáticamente por el
Broadcaster o manualmente por el Set-top Box (Mando a distancia Usuario)
![Page 5: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/5.jpg)
10/04/2005 .5E.T.S de Ingenieros de Telecomunicación
Cómo localizamos a la Xlet?
Un registro en la AIT nos localiza la clase inicial de la Xlet (Initial_class_byte)
Introducción
![Page 6: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/6.jpg)
CICLO DE VIDA
LifeCycle de una aplicación Xlet
![Page 7: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/7.jpg)
10/04/2005 .7E.T.S de Ingenieros de Telecomunicación
CICLO DE VIDA
Una aplicación entra en el estado Loaded cuando 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 Paused o bien terminar la aplicación pasando al estado Destroyed.
![Page 8: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/8.jpg)
10/04/2005 .8E.T.S de Ingenieros de Telecomunicación
Ciclo de Vida
![Page 9: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/9.jpg)
APLICATION MANAGER
¿Qué Es? ¿Qué hace?
![Page 10: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/10.jpg)
10/04/2005 .10E.T.S de Ingenieros de Telecomunicación
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
![Page 11: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/11.jpg)
10/04/2005 .11E.T.S de Ingenieros de Telecomunicación
Aplication Manager (2)
Establece el XletContext para cada AplicaciónMediante el XletContext Inteface, el Application
Manager se comunica con las Xlets para ser notificado de sus cambios de estado.
![Page 12: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/12.jpg)
10/04/2005 .12E.T.S de Ingenieros de Telecomunicación
Identifica y Cachea la información de las aplicaciones procedentes de las Tablas
Aplication Manager (2)
![Page 13: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/13.jpg)
10/04/2005 .13E.T.S de Ingenieros de Telecomunicación
Define el protocolo de comunicación entre la Aplicación y él mismo.
Aplication Manager (3)
![Page 14: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/14.jpg)
Interfaces: Xlet y XletContext
Definen una serie de métodos abstractos pero no los
implementan
![Page 15: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/15.jpg)
10/04/2005 .15E.T.S de Ingenieros de Telecomunicación
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)
![Page 16: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/16.jpg)
10/04/2005 .16E.T.S de Ingenieros de Telecomunicación
pauseXlet()A menudo ignorado por los desarrolladoresTambién ignorado por algunas herramientas
de desarrolloLos 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)
Xlet Interface
![Page 17: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/17.jpg)
10/04/2005 .17E.T.S de Ingenieros de Telecomunicación
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.
Xlet Interface
![Page 18: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/18.jpg)
10/04/2005 .18E.T.S de Ingenieros de Telecomunicación
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
![Page 19: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/19.jpg)
Formas y maneras de implementar bien el Xlet
Interface
Como implementar Bien
![Page 20: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/20.jpg)
10/04/2005 .20E.T.S de Ingenieros de Telecomunicación
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.
Como implementar Bien
![Page 21: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/21.jpg)
10/04/2005 .21E.T.S de Ingenieros de Telecomunicación
Tiempo de Carga o Cambio de Aplicación en condiciones normales
Como implementar Bien
![Page 22: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/22.jpg)
10/04/2005 .22E.T.S de Ingenieros de Telecomunicación
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.
Como implementar Bien
![Page 23: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/23.jpg)
10/04/2005 .23E.T.S de Ingenieros de Telecomunicación
Linea de tiempo con y sin precarga.
Como implementar Bien
![Page 24: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/24.jpg)
10/04/2005 .24E.T.S de Ingenieros de Telecomunicación
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.
![Page 25: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/25.jpg)
10/04/2005 .25E.T.S de Ingenieros de Telecomunicación
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.
![Page 26: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/26.jpg)
10/04/2005 .26E.T.S de Ingenieros de Telecomunicación
Recursos disponibles.1.5MB de memoria para datos.4MB de memoria para imágenes.4MB de contenido de carrusel, dividido en
varios carruselesLimitada cantidad de filtros.
• Usado para ficheros dinámicos, stream events, datos del SI…
• Un uso máximo de 10 ficheros dinámicos.
Como implementar Bien
![Page 27: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/27.jpg)
10/04/2005 .28E.T.S de Ingenieros de Telecomunicación
Ejemplo de lanzador: Menú
Como implementar Bien
![Page 28: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/28.jpg)
10/04/2005 .29E.T.S de Ingenieros de Telecomunicación
Ejemplo de lanzador: icono de testeo.
Como implementar Bien
![Page 29: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/29.jpg)
10/04/2005 .30E.T.S de Ingenieros de Telecomunicación
Linea de tiempo del icono de testeo.
Como implementar Bien
![Page 30: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/30.jpg)
10/04/2005 .31E.T.S de Ingenieros de Telecomunicación
Linea de tiempo de la carga del mensaje.
Como implementar Bien
![Page 31: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/31.jpg)
10/04/2005 .32E.T.S de Ingenieros de Telecomunicación
Evitar implementaciones extraCuando 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.
Como implementar Bien
![Page 32: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/32.jpg)
10/04/2005 .33E.T.S de Ingenieros de Telecomunicación
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).
Como implementar Bien
![Page 33: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/33.jpg)
10/04/2005 .34E.T.S de Ingenieros de Telecomunicación
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
recursosNo necesita notificar al XletContext
Como implementar Bien
![Page 34: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/34.jpg)
10/04/2005 .35E.T.S de Ingenieros de Telecomunicación
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.
Como implementar Bien
![Page 35: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/35.jpg)
Ejemplo de Xlet
Ejemplo sencillo de Xlet
![Page 36: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice](https://reader035.vdocumento.com/reader035/viewer/2022081414/54b23e98497959697a8b49fb/html5/thumbnails/36.jpg)
10/04/2005 .37E.T.S de Ingenieros de Telecomunicación
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{…}
}