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
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
- Page 22 and 23: D.1 Conectores Causais ............
- Page 24 and 25: Figuras, Listagens e TabelasFiguras
- Page 26 and 27: Figura 6.3Figura 6.4Figura 6.5Leiau
- Page 28 and 29: Figura 10.13 Conector com múltiplo
- Page 30 and 31: Figura 18.3 Visão estrutural do Ex
- Page 32 and 33: Listagem 3.41 Novo relacionamento c
- Page 34 and 35: Listagem 10.4Listagem 10.5Conector
- Page 36 and 37: Listagem 13.4Importação de docume
- Page 38 and 39: Tabela 1.1TabelasCodificação de
- Page 40 and 41: Tabela 13.1 Comportamento da Aplica
- Page 42 and 43: Capítulo 1TV Digital:Fundamentos e
- Page 44 and 45: contramedida for tomada, a ISI pode
- Page 46 and 47: aproximadamente três vezes a altur
- Page 48 and 49: celular, um PDA etc. Como há um gr
- Page 50 and 51: O processamento dos dados recebidos
- Page 52 and 53: O sistema brasileiro de TV digital
- Page 54 and 55: Da mesma forma que o padrão MPEG-2
- Page 56 and 57: xxxxMUXMPEG 2Systemzvídeo principa
- Page 58 and 59: decodificar os dados recebidos e co
- Page 60 and 61: 1.2.4 ModulaçãoUm dos padrões ma
- Page 62 and 63: à interferência de múltiplos per
- Page 64 and 65: middleware. A Figura 1.11 apresenta
- Page 66 and 67: Informações adicionais opcionais
- Page 68 and 69: programas não-lineares ao vivo pel
- Page 70 and 71: inicial” é não-declarativo. Uma
- Page 74 and 75: de código declarativo (HTML, SMIL,
- Page 76 and 77: Outras características de Lua, imp
- Page 78 and 79: ISO/IEC 13818-1 (2000). Internation
- Page 80 and 81: Capítulo 2Modelo ConceitualNCMToda
- Page 82 and 83: formulário etc.). No entanto, nenh
- Page 84 and 85: Os seres humanos se vestem de acord
- Page 86 and 87: airro, que está dentro de uma cida
- Page 88 and 89: Além da já mencionada lista orden
- Page 90 and 91: Capítulo 3Introdução àLinguagem
- Page 92 and 93: O novo vídeo acrescentado é uma r
- Page 94 and 95: A definição dos espaços de exibi
- Page 96 and 97: atores que exercerão os papéis da
- Page 98 and 99: Listagem 3.8 Elemento e seus eleme
- Page 100 and 101: 60
- Page 102 and 103: Todo elemento possui um identifica
- Page 104 and 105: Ao referenciar um conector definido
- Page 106 and 107: Listagem 3.16 Documento NCL com reu
- Page 108 and 109: elementos , mesmo que seus valores
- Page 110 and 111: 70Listagem 3.19 Definição dos nov
- Page 112 and 113: 72
- Page 114 and 115: onBeginonBeginonEndStartStartonBegi
- Page 116 and 117: 76
- Page 118 and 119: Listagem 3.22 O Primeiro João com
- Page 120 and 121: 80
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