UNIVERSIDAD AUTÓNOMA DE COLOMBIA iTV, API de JAVA Televisión interactiva Descripción de la interfaz de programación de aplicaciones de la empresa Sun micro system con su producto, java. API Java TV Con el despliegue de la televisión digital en todo el mundo, los organismos de radiodifusión y los proveedores de contenidos tienen nuevas oportunidades para mejorar la experiencia visual. El desarrollo y la adopción de la televisión interactiva (iTV), como el Digital Video Broadcasting Multimedia Home Platform (MHP) y el Open Cable ApplicationPlatform (OCAP), ha allanado el camino para los proveedores de contenido convincente para crear aplicaciones y programas que sean interoperables a través de una variedad de proveedores de middleware y settop boxes. Las tecnologías Java desempeñar un papel vital en la creación, implementación y ejecución de esta mejora o contenido interactivo. radiodifusión de datos (o datacasting) hacen esto posible al integrar los datos de aplicaciones en la emisión de audio / vídeo. Esta aplicación de datos puede ser perfectamente acoplada junto a la de video para una estrecha sincronización de vídeo. También puede ser vagamente unida, donde los datos y el vídeo están relacionados en su contenido, pero no relacionados en el tiempo. Además, los datos pueden ser noncoupled, como en la gestión de existencias tickers o juegos. Los beneficios de iTV provienen de su capacidad para utilizar los datos de ancho de banda con: • • Mejorar el programa con contenido, ya sea débilmente acoplados o bien adjuntando datos. Esto puede ayudar a atraer y retener a la teleaudiencia, el aumento del valor del programa para los anunciantes. La prestación de servicios no relacionados con datos de vídeo, tales como existencias y nuevos tickers de noticias, e-mail, chat, juegos, etc. Estos servicios de valor agregado ayudan a diferenciar los organismos de radiodifusión, los operadores de servicios múltiples (MSOs) y los proveedores de contenido. 1 Descripción de Java API TV La tecnología Java TV para receptores digitales de televisión se basa en la plataforma Java™, la cual consiste en la máquina virtual de Java (JVM™) y varias bibliotecas de código reutilizables en el lenguaje de programación Java. La API Java TV es extensión estándar de la plataforma Java y proporciona bibliotecas específicas reutilizables de televisión. La JVM reside en el receptor de televisión digital y ejecuta el código Java allí. Este ha sido diseñado para asegurar la ejecución de código. Byte – code de verificación garantiza la validez de las instrucciones ejecutadas por la JVM. La Clase de carga mecanismos de cómo hacer cumplir el código se carga en la máquina y pueden ofrecer garantías sobre el código fuente. La aplicación de entorno PersonalJava™ se ha optimizado para trabajar con recursos limitados en la electrónica de consumo, tales como los receptores de televisión digital. Características no necesarias en la plataforma Java para estos dispositivos que se han eliminado en el entorno de aplicaciones PersonalJava. Este entorno ofrece una gran parte de la funcionalidad que necesitan las aplicaciones y applets de Java, como una interfaz de usuario de herramientas, de entrada y salida, la creación de redes, la internacionalización, la seguridad y las clases de carga. Sin embargo, el entorno PersonalJava no incluye la funcionalidad específica de la televisión que es proporcionado por API Java de TV. El bibliotecas de Java residentes en un receptor de televisión digital consiste en un conjunto de bibliotecas de clases de básicas de la plataforma Java, las bibliotecas opcionales que pueden incluirse sobre la base de una aplicación de requisitos específicos y la API Java TV. La funcionalidad de la biblioteca de clases que contiene que puede ser utilizada por todas las aplicaciones y applets de Java, por lo que puede seguir siendo más pequeñas y más fácil para los desarrolladores de software para escribir. La forma de aplicaciones y applets de Java se han desplegado ofrece una ventaja fundamental. El código Java no tiene por qué residir en el receptor en todo momento. Puede ser en otro lugar y llevado al receptor sólo cuando el código es necesario. Cuando ya no es necesario, el código es automáticamente liberado de la memoria del receptor a través del proceso de recolección de basura de la JVM. Aplicaciones basadas en Java son inherentemente multiplataforma, lo que significa que los desarrolladores necesitan autor el contenido una sola vez y este se ejecutará a través de cualquier dispositivo de hardware soportado en la plataforma Java, independientemente del sistema operativo que subyacente y la CPU. Respecto a esta arquitectura de neutralidad es útil no sólo para aplicaciones basadas en red, sino también para un solo sistema de distribución de software. En cambio, al escribir aplicaciones que no utilizan la tecnología Java, los programadores necesitan para producir versiones separadas para cada uno de los muchos RTOS soportados en arquitecturas y procesadores. El poder y la flexibilidad de la plataforma Java, es la elección ideal para mejorar la radiodifusión digital. Los proveedores de contenidos, desarrolladores de software, sistema de televisión y operadores de beneficiarse de nuevas características y posibilidades de los ingresos producidos por la plataforma Java habilitado funcionalidad, mientras que los espectadores disfrutan de la información adicional, conveniencia, y el control del contenido que está visualizando. En todo el mundo, la tecnología Java se utiliza en decenas de millones ofdevices, es apoyada por más de tres millones de programadores y decenas de suites de herramientas, y ha sido licenciado por cientos de fabricantes y proveedores de tecnología para su uso en dispositivos que van desde las tarjetas de crédito inteligentes con grandes ordenadores. 1.1 Introducción The Java TV application programming interface (API) is an extension of the Java platform developed through an open process by Sun Microsystems and leaders in the digital television industry. La interfaz de programación de aplicaciones JAVA TV es una extensión de la plataforma Java desarrollado a través de un proceso abierto por Sun Microsystems y los líderes de la industria de la televisión digital. Major consumer electronics manufacturers have announced their public support for the adoption of this API as a digital television standard worldwide. Principales fabricantes de electrónica de consumo han anunciado su apoyo público para la adopción de esta API como un estándar de televisión digital en todo el mundo. The Java TV API is being designed to provide access to functionality unique to digital television receivers, including: La API Java TV está siendo diseñado para proporcionar acceso a las funciones exclusivas de los receptores de televisión digital, incluyendo: • • • • • • • • • • • • Audio/video streaming Audio / video Conditional access El acceso condicional Access to in-band and out-of-band data channels Acceso a los canales de datos en banda y fuera de banda Access to service information El acceso a la información de servicio Tuner control for channel changing Control de Sintonizador para cambio de canales On-screen graphics Control de graficos sobre la pantalla In addition, the Java TV API is being designed to provide additional functionality in the form of media synchronization and control of the application life-cycle. Además, la API de Java TV está siendo diseñada para proporcionar una funcionalidad adicional en forma de sincronización de los medios y el control de la aplicación del ciclo de vida. Media synchronization will allow interactive television content to be synchronized with the underlying video and background audio of a television program. Medios de sincronización permitirán que el contenido de televisión interactiva sea sincronizada con las underlying de vídeo y audio de fondo de un programa de televisión. Application life-cycle control will enable content to coexist gracefully with television programming content such as commercials. Aplicación del control de ciclo de vida permitirá al contenido coexistir grandiosamente con el contenido de la programación de televisión tales como comerciales. Overall, the Java TV API and the underlying Java platform will enable content developers to create truly compelling, differentiated interactive television content for the viewer. En general, la API Java TV y las plataformas Java permitirán a los desarrolladores crear contenido verdaderamente convincente, diferenciado el contenido de televisión interactivo para los espectadores. 2 Que suministra la tecnología Java? [What Java Technology Provides] El poder y la flexibilidad de la plataforma Java hace de la elección, la ideal para mejorar la radiodifusión digital. Los proveedores de contenidos, desarrolladores de software, sistema de televisión y operadores de los sistemas de televisión se benefician de nuevas características y posibilidades de los ingresos producidos por la plataforma Java y su habilitada funcionalidad, mientras que los espectadores disfrutan de la información adicional, conveniencia y control del contenido que está visualizando. En todo el mundo, la tecnología Java se utiliza en decenas de millones de dispositivos que son apoyados por más de tres millones de programadores y decenas de suites de herramientas y que han sido licenciados por cientos de fabricantes y proveedores de tecnología para su uso en dispositivos que van desde las tarjetas de crédito inteligentes a grandes ordenadores. La plataforma Java proporciona las siguientes ventajas: • • La portabilidad entre plataformas: Write Once, Run Anywhere ™ (sistema operativo de plataforma independiente). Rápido tiempo de salida al mercado (facilidad de reutilización de código) • • • • • • • • Baja los costos de desarrollo (la facilidad de desarrollo y la reutilización de código, la facilidad de soporte remoto y actualizaciones). Seguridad (la información puede ser protegida, las capacidades individuales se puede conceder a las solicitudes) Soporte para dispositivos de memoria limitada Normas de compatibilidad Mejora de la calidad del código (habilitado por el lenguaje Java orientada a objetos y elementos de seguridad) Mercado ampliado para los desarrolladores (el mismo applet o la aplicación se extiende a un mayor número de usuarios, los consumidores usuarios de dispositivos pueden utilizar muchos de los applets de Java y aplicaciones). Java HotSpot™ cliente y servidor de máquinas virtuales Mejoras en el tiempo de inicio y la memoria 2.1 Entorno de la API [API Environment] Figure 1 depicts the hardware and software environment for the Java TV API when implemented on a digital television receiver. La Figura 1 muestra el hardware y el software para el entorno para Java TV cuando sea implementado en un receptor de televisión digital. Figure 1: Typical Software Stack on a Digital TV Receiver Figura 1: Pila software típica en un receptor de TV digital. 2.1.1 Entorno de software The software environment consists of the Java platform and the Java TV API, typically running on top of a real-time operating system (RTOS). El entorno de software consiste en la plataforma Java y la API Java TV, por lo general, ejecutándose sobre un sistema operativo de tiempo real (RTOS). At the highest level of the software environment, an application developed for a television receiver can use the Java TV API and the class libraries in the underlying Java platform. En el nivel más alto del entorno de software, una aplicación desarrollada para un receptor de televisión puede usar la API de Java TV y las bibliotecas de clases en la plataforma subyacente o inmediatamente siguiente. These libraries enable television content developers to offer consumers interactive television content such as enhanced television, video-on-demand (VOD), electronic programming guides (EPGs), and viewer selection of multiple camera angles, in broadcasts of sporting events for example. Estas bibliotecas permiten a los desarrolladores de contenidos de televisión ofrecen a los consumidores de televisión interactiva, tales como mayor contenido de televisión, vídeo a la carta (VOD), guías electrónicas de programación (EPG), y visor de selección de múltiples ángulos de cámara, en las emisiones de eventos deportivos por ejemplo. At the lowest level, the RTOS and related device-specific libraries control the hardware through a collection of device drivers. En el nivel más bajo, el RTOS y las relacionadas bibliotecas de control de dispositivos – específicos el hardware a través de una colección de controladores de dispositivos. The RTOS provides the system-level support needed to implement the Java virtual machine and class libraries that compose the Java platform. El RTOS proporciona el apoyo a los niveles del sistema requeridos para implementar la maquina de Java Virtula y bibliotecas de clases que componen la plataforma Java. The Java TV API encapsulates the functionality exposed by the system libraries that control the hardware, so that developers can focus on their applications rather than on devicespecific details. La API de Java TV encapsula la funcionalidad expuesta por las bibliotecas de sistemas que controlan el hardware, para que los desarrolladores puedan centrarse en sus aplicaciones en lugar de los detalles específicos del dispositivo. 2.1.2 Entorno del Hardware [Hardware Environment ] The Java TV API operates within the hardware context of a television receiver. La API de Java TV opera dentro del contexto de hardware de un receptor de televisión.The defining feature of a television receiver, digital or analog, is the existence of a broadcast medium and a data pipeline. La característica definitoria de un receptor de televisión digital o análogo es la existencia de un medio de difusión de datos y un pipline 1. This pipeline typically has certain commonly 1 Pipeline Es el proceso según el cual, mientras una instrucción es ejecutada, otra está siendo interpretada por el ordenador y una más está siendo leída. [http://www.mastermagazine.info/termino/6303.php] understood features, or subsystems, such as a tuner and a demultiplexor. El pipiline típicamente tiene que entenderse ciertas características o subsistemas tales como un sintonizador y un demultiplexor. The Java TV API provides a layer of abstraction that allows the application programmer to take advantage of the underlying television hardware while ignoring device-specific details.La API de Java TV proporciona una capa de abstracción que permite al programador de la aplicación coger la ventajas subyacentes del hardware de televisión mientras que ignora los detalles específicos del dispositivo 2.2 Beneficios para el Cliente [Customer Benefits] The Java TV API is intended to address the needs of manufacturers, system operators, and content providers as they seek standards to deliver interactive content securely to consumers via cable set-top boxes, satellite receivers, and digital televisions: El API Java TV esta direccionado a atender las necesidades de los fabricantes, los operadores de sistemas, proveedores de contenido así como ellos buscan estándares para entregar contenido interactivo con seguridad a los consumidores a través de cable set-top boxes, receptores de satélite y televisión digital: • • Manufacturers will benefit by delivering Java technology-enabled televisions and set-top boxes to the marketplace that support the most compelling interactive television content for their consumers. Los fabricantes se beneficiarán mediante la entrega de la tecnología Java habilitado para televisores y set-top boxes para el mercado que apoyan el mayor contenido de televisión interactiva para sus consumidores. Java TV's aim is to enable manufacturers to introduce new products into the market that can evolve to support new forms of interactive content as they become available. La API Java TV pretende permitir a los fabricantes a introducir nuevos productos en el mercado que puede evolucionar para apoyar nuevas formas de contenido interactivo en cuanto estén disponibles. System operators will benefit from the ability to deliver their value-added services to a diverse array of Java technology-enabled devices in their networks, regardless of the underlying processors or operating systems on those devices. Los operadores de sistemas se beneficiarán de la capacidad de ofrecer sus servicios de valor agregado a una amplia gama de la tecnología Java habilitado dispositivos en sus redes, con independencia de los procesadores o sistemas operativos en los dispositivos. Platformindependence enables television service providers to reduce time-tomarket and costs by avoiding the need to port their services and applications to new platforms. La independencia de la plataforma de televisión permite a los proveedores de servicios reducir el tiempo de comercialización y los costos al evitar la necesidad de port sus servicios y las aplicaciones a nuevas plataformas. It will also allow them the freedom to deploy competitive set-top box solutions within their networks. Esto permitirá entonces la libertad de desplegar competitiva de soluciones set- • top box dentro de sus redes. Finally, they will benefit from compatibility with existing interactive television content that may already be deployed in their systems. Por último, se beneficiarán de la compatibilidad con los actuales contenidos de televisión interactiva que ya pueden ser desplegados en sus sistemas. Content creators will benefit from the adoption of a universal standard that broadens the market opportunities for interactive television, and allows them to develop content once and deploy it securely to a wide range of digital television receivers. Los Creadores de contenidos se beneficiarán de la adopción de una norma universal que amplía las oportunidades del mercado para la televisión interactiva y les permite desarrollarlos para desarrollar contenidos una vez y desplegarlos de forma segura a una amplia gama de receptores de televisión digital. In addition, content developers will benefit from the ability to employ a true objectoriented language, allowing them to reuse existing software components to deliver their interactive services to market rapidly and cost-effectively. Además, desarrolladores de contenidos se beneficiarán de la capacidad para emplear a un verdadero lenguaje orientado a objetos, lo que les permite la reutilización de componentes de software existentes para ofrecer sus servicios interactivos en el mercado con rapidez y de manera rentable. Finally, developers will be able to create more compelling, differentiated content for their audiences. Por último, los desarrolladores podrán crear más apremiantemente el contenido diferenciado para su público. 3 Set-Top Box Software Technology Dos tipos de tecnología son normalmente encuentrados en primera generación, con capacidad interactiva de entornos de televisión . Tecnología basada en HTML a menudo basados en las especificaciones de los Foro de mejoramientos de la Televisión (ATVEF, Advanced Television Enhancement Forum), esta típicamente soportado dentro de un navegador de entorno y proporciona la interfaz dominante para WebTV de Microsoft. Propiedad de los entornos de OpenTV, PowerTV y otros también se han desplegado en una variedad de set-top boxes. La próxima generación de set-top boxes permitira la plena interactividad basada en tecnologías Java de TV. 3.1 Tecnologia HTML [HTML Technology] Aunque HTML es suficiente para muchos propósitos, este fundamental no es diseñado para la televisión o la interactividad avanzada. Desarrolladores de contenidos tiene un control muy limitado sobre cómo se ve la pantalla de diseño. Elementos dinámicos tales como animaciones, fundidos, toallitas, y similares son muy familiares para todos los telespectadores, pero van desde lo difícil a lo imposible de aplicar, utilizando ATVEF estilo de las interfaces. Además, con computación local no es posible, haciendo la mayoría de los tipos de interactividad imposible sin la persistencia de una conexión de dos vías y un head-end de la infraestructura para soportar esta interactividad. Los juegos son excepcionalmente difíciles de programar, debido a la falta de un medio ambiente que puedan servir de apoyo para los cálculos locales. Si bien hay una gran cantidad de contenido disponible que fue autorizado de ser utilizado basado en tecnologías HTML basadas en la Web, la gran mayoría de este no es apto para el uso de televisión, debido a las singulares necesidades de visualización de la televisión. Una pantalla de televisión es muy diferente de un monitor de ordenador, con la televisión que tiene muchos más requisitos de la interfaz de usuario críticos. La experiencia práctica ha demostrado que para ser aptas para la televisión, la mayoría del contenido tiene que ser escrito desde cero. Adicionalmente, a menudo es pasado por alto el hecho de que HTML no es un verdadero estándar. No hay suites o el cumplimiento formal de los procedimientos de certificación de un intérprete. Por lo tanto, la proliferación de las extensiones, ha llevado a unas especificaciones no oficiales basadas en las características (y errores) ejecutadas por el navegador más popular, lo que resulta en una compatibilidad pesadilla para autores de contenido de intentar asegurar el cumplimiento de toda una gama de aplicaciones de middleware. 3.2 Tecnología patentada Los entornos de programación de TV interactivos patentados, tales como OpenTV, PowerTV, y Microsoft Windows CE, superar muchos de los problemas expuestos por el HTML, pero plantea problemas adicionales. La primera de ellas es la no-la naturaleza de cada medio ambiente. Autores de contenido deben aprender a trabajar con múltiples entornos de desarrollo, cada uno con singular API, capacidades y herramientas. Además, el contenido no es portátil, requiriendo desarrolladores de contenido y exigir a los operadores a desplegar varias versiones de una aplicación para todos los entornos de software que pueden estar presentes en una determinada red – un enorme complejo, costoso e ineficiente situación. 3.3 Tecnología Java La plataforma Java supera las limitaciones de la tecnología basada en HTML, evitando al mismo tiempo las deficiencias de propiedad de los entornos. Como un lenguaje de programación y entorno de aplicación, Java permite a los niveles de interactividad avanzada, dinámica, de alta calidad de gráficos y computación local. Esto proporciona una ilimitada gama de posibilidades para autores de contenido sin necesidad de acceder a un return channel y head-end de la infraestructura. Las aplicaciones Java son inherentemente portátil a través de set-top boxes con diferentes subyacentes de hardware y sistemas operativos, simplificando enormemente la tarea de gestionar la distribución de contenidos. La plataforma Java es también uno de los más seguros medios conocidos a la informática - el código fuente que ha sido examinada detenidamente por expertos de todo el mundo, por lo que los posibles agujeros de seguridad se identifican y se fija mucho antes de que el código de producción se despliega. Millones de desarrolladores están utilizando el lenguaje Java con una amplia gama de herramientas, ofreciendo un bajo costo, con conocimientos de base de talentos de la que se extrae autores de contenido. Tecnología Java La plataforma Java supera las limitaciones de la tecnología basada en HTML, evitando al mismo tiempo las deficiencias de propiedad de los entornos. Como un lenguaje de programación y entorno de aplicación, Java permite a los niveles de interactividad avanzada, dinámica, de alta calidad de gráficos y computación local. Esto proporciona una ilimitada gama de posibilidades para autores de contenido sin necesidad de acceder a un canal de retorno y la cabeza de fin de la infraestructura. Las aplicaciones Java son inherentemente portátil a través de set-top boxes con diferentes subyacentes de hardware y sistemas operativos, simplificando enormemente la tarea de gestionar la distribución de contenidos. La plataforma Java es también uno de los más seguros medios conocidos a la informática - el código fuente ha sido examinada detenidamente por expertos de todo el mundo, por lo que los posibles agujeros de seguridad se identifican y se fija mucho antes de código de producción se despliega. Millones de desarrolladores están utilizando el lenguaje Java con una amplia gama de herramientas, ofreciendo un bajo costo, con conocimientos de base de talentos de la que extraer el contenido autores. 4 Institutos de normalización Los atributos positivos aquí descritos han conducido a la adopción de la tecnología Java por las normas de organizaciones de todo el mundo como especificaciones diseñadas para dispositivos de consumo. Generalizada al soporte de la industria, el cumplimiento de las suites robustas, fuertes y de propiedad intelectual y de la protección de las patentes ha convencido a estas organizaciones de base a sus especificaciones de la tecnología Java: • Advanced Television Systems Committee (ATSC) • Laboratorios de Televisión por Cable (CableLabs) • Televisión Digital industrial Alianza (DTVIA) • Digital Video Broadcasting (DVB) • Audio / Video de interoperabilidad (HAVi) • abierto Servicios Gateway Initiative (OSGi) Específicamente para la televisión digital, CableLabs' Plataforma Abierta de aplicaciones de cable (OCAP), DVB Multimedia Home Platform (MHP), y ATSC de televisión digital del software de aplicación del Medio Ambiente (DASE) están basados en la tecnología Java TV, por lo que es un posible candidato como un estándar mundial contenido para la televisión digital. El resultado final será mucho más grande que la biblioteca de aplicaciones disponibles para el operador y los servicios de despliegue. Sun ha negociado acuerdos con CableLabs y DVB, que permita a los vendedores a poner en práctica cada una de las organizaciones respectivas de la tecnología Java y utilizar la solución basada en la especificación de los proveedores sin necesidad de tener una relación directa con Sun. Conclusión Como el núcleo de las normas de televisión interactiva, las tecnologías Java brindan interoperabilidad con las aplicaciones set-top box . Además, el amplio despliegue de la tecnología Java en otros dispositivos, tales como gateways residenciales, teléfonos móviles, PDAs, consolas de juego y la red de internet permite a autores de contenido para desplegar aplicaciones y servicios a través de una gama de dispositivos, mientras que tomando ventajas de una arquitectura de software muy común y las herramientas de desarrollo. Esto será cada vez más importante con el adelanto de la alta velocidad, datos móviles y las redes domésticas. La plataforma Java común a todos estos dispositivos se asegurará una mayor disponibilidad de contenidos, menos tiempo en el mercado, y menores costos de desarrollo. Además por su seguridad, versatilidad y reusabilidad promete ser un estándar a nivel mundial. 5 Link • • • • • Para el programa de TV interactiva https://javatv-developers.dev.java.net/servlets/ProjectProcess?tab=1 El PDF de Java™ Technologies for Interactive Television http://java.sun.com/javame/technology/javatv/docs/TechInterTV052101. pdf http://www.slideshare.net/jerovital/taller-television-interactiva-1 http://leo.ugr.es/J2ME/INTRO/intro_13.htm http://www.programacion.com/java/tutorial/j2ee/