Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

Tabela 1.5 Ambientes de aplicações para serviços IPTVMiddleware Ambiente Declarativo AmbienteImperativoLIME LIME [ITU-T H.762, 2010](linguagem declarativa = LIME(XHTML like; linguagem nãodeclarativa= ECMAScript)Ginga Ginga-NCL [ITU-T H.761, 2011](linguagem declarativa = NCL;linguagem não-declarativa = Lua)XXTerminando esta seção, cabe enfatizarmos que tanto o ambientedeclarativo quanto o imperativo (também algumas vezes chamado deprocedural) de um middleware devem dar suporte a todos os requisitosdiscutidos na Seção 1.3.1. Cabe também salientar que todos os middlewaresque apresentam os dois ambientes permitem que cada um deles use asfacilidades do outro através de uma ponte definida por meio de APIsbilaterais padrão.1.3.3 Middlewares DeclarativosComo mostra a Tabela 1.3, parte dos ambientes declarativos para TVdigital terrestre e IPTV é baseada em XHTML + ECMAScript. XHTML[W3C REC-xhtml1-20020801, 2002] é uma linguagem inicialmente projetadapara navegação em informações textuais pela interação do usuário. XHTMLprivilegia a interatividade em detrimento da sincronização no seu sentido maisamplo e em detrimento da adaptabilidade de conteúdo que, por não fazeremparte do foco da linguagem, só podem ser definidas por procedimentosimperativos usando a linguagem ECMAScript [ECMA 262, 1999]. Comovimos, isso torna o desenvolvimento das aplicações mais difícil para usuáriosleigos e mais propensa a erros de programação.XHTML só permite a definição de relacionamentos de interatividadeenvolvendo parte de um conteúdo (âncora) de um objeto de mídia, se esseobjeto for textual ou se a âncora for puramente espacial. No caso de umtexto, o relacionamento deve ser embutido no conteúdo, ou seja, XHTML éuma linguagem do tipo media-based, como definimos na Seção 1.3.1. Comonão é possível embutir os relacionamentos, por exemplo, em um objeto devídeo, a interação deve ser possibilitada pela seleção de todo o objeto, ou seja,habilitada em qualquer momento da exibição do vídeo ou, então, novamentedevemos fazer uso de procedimentos não-declarativos utilizandoECMAScript.32

A linguagem XHTML não oferece suporte para edição ao vivo atravésde comandos do provedor de conteúdos (ambiente das emissoras). No entanto,todos os middlewares apresentados baseados em XHTML oferecem essesuporte, através de extensões à linguagem e uso de eventos DSM-CC(conforme mencionamos na Seção 1.2.3 e discutimos no Apêndice B) eeventos DOM, mas novamente fazendo uso de objetos ECMAScriptembutidos.Diferentemente dos ambientes declarativos baseados em XHTML,Ginga-NCL [ABNT NBR 15606-2, 2011], o ambiente declarativo domiddleware do sistema nipo-brasileiro de TV digital terrestre e padrão ITU-Tpara serviços IPTV, é baseado em uma linguagem declarativa, uma aplicaçãoXML [W3C REC-xml- 20060816, 2006], que oferece um verdadeiro suportedeclarativo para todos os requisitos listados na Seção 1.3.1. Diferentementeda linguagem XHTML, a linguagem NCL (Nested Context Language)[ABNT NBR 15606-2, 2011] [ITU-T H.761, 2011], linguagem-base doGinga-NCL, é uma linguagem do tipo structure-based (ver Seção 1.3.1), quedefine uma separação bem demarcada entre o conteúdo e a estrutura de umaaplicação, provendo um controle não-invasivo da ligação entre o conteúdo, oleiaute e sua apresentação.O foco da linguagem declarativa NCL é mais amplo do que o oferecidopela linguagem XHTML. Através de elementos da linguagem, suportedeclarativo é oferecido a todos os requisitos anteriormente citados:a definição de relacionamentos de sincronismo espacial e temporalseparado da definição do conteúdo dos objetos de mídia relacionados,através dos elementos , , e edos elementos e . A interação do usuário é tratadaapenas como caso particular de sincronização temporal;a adaptação do conteúdo e da forma como o conteúdo é exibido,através dos elementos e ; múltiplos dispositivos de exibição, através do elemento; a edição ao vivo (em tempo de exibição), através denclEditingCommands associados a descritores de eventos.Como a NCL tem uma separação mais acurada entre o conteúdo e aestrutura de uma aplicação, ela não define nenhum objeto de mídia em si. Aocontrário, ela define a cola que prende os objetos de mídia em apresentaçõesmultimídia. Uma aplicação NCL apenas define como os objetos de mídia sãoestruturados e relacionados, no tempo e no espaço. Como uma linguagem decola, ela não restringe ou prescreve os tipos de conteúdo dos objetos de mídia.Nesse sentido, podemos ter objetos de imagem (GIF, JPEG etc.), de vídeo(MPEG, MOV etc.), de áudio (MP3, WMA etc.), de texto (TXT, PDF etc.),33

Tabela 1.5 Ambientes de aplicações para serviços IPTVMiddleware Ambiente Declarativo AmbienteImperativoLIME LIME [ITU-T H.762, 2010](linguag<strong>em</strong> declarativa = LIME(XHTML like; linguag<strong>em</strong> nãodeclarativa= ECMAScript)Ginga Ginga-<strong>NCL</strong> [ITU-T H.761, 2011](linguag<strong>em</strong> declarativa = <strong>NCL</strong>;linguag<strong>em</strong> não-declarativa = Lua)XXTerminando esta seção, cabe enfatizarmos que tanto o ambientedeclarativo quanto o imperativo (também algumas vezes chamado deprocedural) de um middleware dev<strong>em</strong> dar suporte a todos os requisitosdiscutidos na Seção 1.3.1. Cabe também salientar que todos os middlewaresque apresentam os dois ambientes permit<strong>em</strong> que cada um deles use asfacilidades do outro através de uma ponte definida por meio de APIsbilaterais padrão.1.3.3 Middlewares DeclarativosComo mostra a Tabela 1.3, parte dos ambientes declarativos para TVdigital terrestre e IPTV é baseada <strong>em</strong> XHTML + ECMAScript. XHTML[W3C REC-xhtml1-20020801, 2002] é uma linguag<strong>em</strong> inicialmente projetadapara navegação <strong>em</strong> informações textuais pela interação do usuário. XHTMLprivilegia a interatividade <strong>em</strong> detrimento da sincronização no seu sentido maisamplo e <strong>em</strong> detrimento da adaptabilidade de conteúdo que, por não fazer<strong>em</strong>parte do foco da linguag<strong>em</strong>, só pod<strong>em</strong> ser definidas por procedimentosimperativos usando a linguag<strong>em</strong> ECMAScript [ECMA 262, 1999]. Comovimos, isso torna o desenvolvimento das aplicações mais difícil para usuáriosleigos e mais propensa a erros de programação.XHTML só permite a definição de relacionamentos de interatividadeenvolvendo parte de um conteúdo (âncora) de um objeto de mídia, se esseobjeto for textual ou se a âncora for puramente espacial. No caso de umtexto, o relacionamento deve ser <strong>em</strong>butido no conteúdo, ou seja, XHTML éuma linguag<strong>em</strong> do tipo media-based, como definimos na Seção 1.3.1. Comonão é possível <strong>em</strong>butir os relacionamentos, por ex<strong>em</strong>plo, <strong>em</strong> um objeto devídeo, a interação deve ser possibilitada pela seleção de todo o objeto, ou seja,habilitada <strong>em</strong> qualquer momento da exibição do vídeo ou, então, novamentedev<strong>em</strong>os fazer uso de procedimentos não-declarativos utilizandoECMAScript.32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!