Sei sulla pagina 1di 8

68

Middleware Ginga
Middleware Ginga Luiz Fernando Gomes Soares
Departamento de Informática
Universidade
olho ol olho olho olho olho olho olho olho Católica
olho olho ol olho do Rio
olho olho olhode
olhoJaneiro
olho olho olho olho ol olho olho olho olho olho
Rua Marquês de São Vicente 225
olho olho olho olho ol olho olho olho olho olhoFone:
olho olho olho
(21) 3527-1530 (FAX)
CEP 22453-900 – Rio de Janeiro - RJ - BRASIL
lfgs@telemidia.puc-rio.br
☛ Autor : Prof. Luiz Fernando Gomes Soares – Coordenador do Grupo de Trabalho de Middleware
Colaborou: Paulo Henrique Castro – Coordenador do Módulo Técnico do Fórum SBTVD
Resumo
Este artigo apresenta a arquitetura de referência do middleware Ginga do Sistema

M
Brasileiro
iddleware é de
umaTV Digital
camada de Terrestre,
um conjunto dechamando atenção para
aplicações imperativas. as diversas
descritas inovações
de forma declarativa são mais
software posicionada entre A entidade inicial de uma aplicação, isto fáceis de serem concebidas e entendidas,
introduzidas, que fazem desse
o código das aplicações e a
middleware um dos mais expressivos
é, aquela que dispara a aplicação, é que
e eficientes.
sem exigir um programador especialista,
infra-estrutura de execução define a que conjunto a aplicação perten- como é usualmente necessário nas tare-
Palavras-chave: Ginga,
(plataforma de hardware NCL,
e sis- Lua,
ce, Java, semiddleware,
dependendo ambiente
essa entidade é codifi- declarativo,
fas descritas ambiente
de forma imperativa. Con-
tema operacional), como ilustrado pelo cada segundo uma linguagem declarativa tudo, uma linguagem declarativa usual-
imperativo, TV do
Modelo de Referência digital.
Sistema Brasi- ou imperativa. Note que aplicações de- mente visa um determinado domínio de
leiro de TV Digital Terrestre, apresentado clarativas podem conter entidades impe- aplicações e define um modelo específico
na Figura 1. rativas e vice-versa, o que as caracteriza para esse domínio.

1 Introdução
Um middleware para aplicações de TV
digital consiste de máquinas de execução
é apenas a entidade inicial.
Linguagens declarativas enfatizam a
Quando uma tarefa casa com o mode-
lo da linguagem declarativa, o paradig-
das linguagens oferecidas, e bibliotecas descrição declarativa de uma tarefa, ao ma declarativo é, em geral, a melhor es-
Middleware é uma camada de software posicionada entre o colha.
de funções, que permitem o desenvolvi- invés de sua decomposição passo a pas- código das aplicações
Linguagens imperativas sãoe bem
a
mento rápido e fácil de aplicações. so, em uma definição algorítmica do flu- expressivas e de propósito geral, porém,
infra-estrutura de execução
O universo das aplicações de TVD (TV (plataforma
xo de execução de deumahardware
máquina, como e sistema operacional),
a um elevado como
custo. Como mencionado,
ilustrado
Digital) pode pelo Modelo emdeumReferência
ser particionado do Sistema
fazem as descrições Brasileiro
imperativas. Por ser deusualmente
elas TV Digitalexigem Terrestre,
um programa-
conjunto de aplicações declarativas e de mais alto nível de abstração, tarefas dor especialista, geralmente colocam
apresentado na Figura 1.

...
Apl
Appl1
1 Apl
Appl2
2 Xlet
Xletii Apl
Appln
n

Ginga-NCL
Ginga-NCL Bridge
Bridge Ginga-
Ginga- J API SO
Rede
Externa

MPEG-4 HE-AAC@L4 MPEG-4 HE-AAC@L3 Memória CPU IR CR

RF in
Demodulador
H.264 HP@L4.0 H.264BP@L1.3 Dec.Vídeo Video out
ux
.

Decod
. do Canal VC
em

RF RF out
D

Dec.Áudio Audio out


Audio
Surround
MPEG-2 System

BST-OFDM

Figura 1: Modelo de referência do SBTVD Figura 1: Modelo de referência do SBTVD

Um middleware para aplicações de TV digital consiste de máquinas de execução das


produÇÃO PROFISSIONAL • junho 2008

linguagens oferecidas, e bibliotecas de funções, que permitem o desenvolvimento rápido


e fácil de aplicações.
2 Arquitetura de Referência 69
A arquitetura do Ginga pode ser dividida em três módulos principais: Ginga-CC, Ginga-
NCL e Ginga-J, como mostra a Figura 2. Os dois últimos módulos compõem a camada de
Serviços Específicos do Ginga.
em risco a portabilidade de uma aplica-
ção, e o controle da aplicação é muito
Máquina de execução Ginga-J Máquina de apresentação Ginga-NCL
mais sujeito a erros cometidos pelo pro- Ponte
gramador. No entanto, nos casos onde
o foco de realização de uma tarefa não API núcleo API específica Máquina Formatador Gerenciador Máquina
casa com o foco da linguagem declarati- Ginga-J Ginga-J Java NCL Base Privada Lua
va, o paradigma imperativo é, em geral,
a melhor escolha. Núcleo comum Ginga_CC Adaptadores
Por tudo o mencionado acima, os mi-
ddlewares para TV digital provêem su-
Processador de dados Gerenciador de Contexto

porte para o desenvolvimento tanto se- CA DSM-CC Canal de Int. G. Atualizações


Exibidores
guindo o paradigma declarativo quanto o DRM Persistencia Sintonizador G. Gráfico
imperativo. Muitas vezes, como é o caso
do sistema Japonês, a entidade inicial
de uma aplicação é sempre declarativa,
mas as outras entidades podem ser codi- Sistema Operacional
ficadas segundo o paradigma imperativo.
Muitas vezes, como é o caso do sistema Figura 2: ArquiteturaFigura
de referência2: Arquitetura
do middleware Ginga de referência do middleware Ginga
americano e europeu, é oferecido suporte
tanto para aplicações declarativas, quan-
Ginga-J é o subsistema lógico do middleware Ginga responsável pelo processamento de
to para aplicações imperativas, mas em ções declarativas, enquanto o ambiente
aplicações imperativas escritas utilizando a declarativo linguagem é exigido nos receptores por-
Java. A especificação desse
ambos os casos, entidades seguindo um imperativo dá o suporte necessário às táteis.
subsistema
paradigma diferente da entidade inicial
caberá à Norma ABNT NBR 15606-4Oe Sistema
aplicações imperativas. No caso do midd-
é assuntoBrasileiro
da Seçãode3.1.
TV Digital
podem ser definidas. leware do padrão brasileiro, os dois am- Terrestre (SBTVD) trouxe como principal
O ambiente declarativo de um midd-Ginga-NCL
bientes é osãosubsistema
exigidos noslógico receptoresdo middleware
fixos Gingaseu
inovação responsável
middleware,pelo processamento
denominado
de aplicações
leware dá o suporte necessário às aplica- e móveis, declarativas
enquanto apenas NCL.oNCL ambiente Context
(NestedGinga. Language)
Por que e sua Ginga
o nome Ginga? linguagem
é de
script Lua compõem a base para o desenvolvimento de aplicações declarativas no
SBTVD. A especificação desse subsistema cabe às Normas NBR 15606-2 e ABNT NBR
15606-5, sendo assunto da Seção 3.2.

Ginga-CC (Ginga Common Core) é o subsistema lógico que provê todas as


funcionalidades comuns ao suporte dos ambientes declarativo, Ginga-NCL, e imperativo,
Ginga-J. A arquitetura do sistema garante que apenas o módulo Ginga-CC deva ser
adaptado à plataforma onde o Ginga será embarcado. Ginga-CC provê, assim, um nível
de abstração da plataforma de hardware e sistema operacional, acessível através de APIs
(Application Program Interfaces) bem definidas.

Um conjunto de exibidores monomídia comuns faz parte dos componentes do Ginga-CC.


As características de tais exibidores são definidas na Norma ABNT NBR 15606-1. Eles
são exibidores de áudio, vídeo, texto e imagem, incluindo entre eles o exibidor MPEG-
4/H.264, implementado por hardware. O acesso a tais exibidores se dá através de
70

uma qualidade de movimento e atitu- base para o desenvolvimento de aplica- (interação do usuário).
de que os brasileiros possuem e que é ções declarativas no SBTVD. Ginga-CC Entre os exibidores também se en-
evidente em tudo o que fazem. A forma (Ginga Common Core) é o subsistema contra o exibidor (agente do usuário)
como caminham, falam, dançam e se re- lógico que provê todas as funcionalida- HTML, especificado nas Normas ABNT
lacionam com tudo em suas vidas. Ginga des comuns ao suporte dos ambientes NBR 15606-2 e ABNT NBR 15606-5.
é flexibilidade, é adaptação, qualidades declarativo, Ginga-NCL, e imperativo, Na Figura 2, o Gerenciador Gráfico é
inerentes ao middleware brasileiro. Ginga-J. A arquitetura do sistema ga- o responsável pelo gerenciamento do
rante que apenas o módulo Ginga-CC modelo conceitual do plano gráfico de
Arquitetura de Referência deva ser adaptado à plataforma on- apresentação. É ele que define o plano

A
arquitetura do Ginga pode ser di- de o Ginga será embarcado. Ginga-CC de exibição do vídeo principal H.264, os
vidida em três módulos principais: provê, assim, um nível de abstração planos de exibição dos outros objetos
Ginga-CC, Ginga-NCL e Ginga-J, da plataforma de hardware e sistema de mídia que compõem uma aplicação
como mostra a Figura 2. Os dois últi- operacional, acessível através de APIs TVD, e como esses planos se super-
mos módulos compõem a camada de (Application Program Interfaces) bem põem. A Norma ABNT NBR 15606-1 é
Serviços Específicos do Ginga. definidas. responsável também por tal definição.
Ginga-J é o subsistema lógico do Um conjunto de exibidores monomí- Todo o acesso a dados obtidos atra-
middleware Ginga responsável pelo dia comuns faz parte dos componen- vés do canal de retorno (ou canal de
processamento de aplicações impera- tes do Ginga-CC. As características de interatividade) é também de responsa-
tivas escritas utilizando a linguagem tais exibidores são definidas na Norma bilidade do Ginga-CC. As diversas pos-
Java. A especificação desse subsistema ABNT NBR 15606-1. Eles são exibido- sibilidades de canal de interatividade
caberá à Norma ABNT NBR 15606-4. res de áudio, vídeo, texto e imagem, são especificadas na Norma ABNT NBR
Ginga-NCL é o subsistema lógico do mi- incluindo entre eles o exibidor MPEG- 15607.
ddleware Ginga responsável pelo pro- 4/H.264, implementado por hardware. Ainda na Figura 2, os componentes
cessamento de aplicações declarativas O acesso a tais exibidores se dá através DSM-CC e Processador de Dados ofe-
NCL. NCL (Nested Context Language) e de adaptadores, responsáveis por noti- recem o suporte para obtenção de da-
sua linguagem de script Lua compõem a ficar eventos de apresentação e seleção dos, obtidos através de carrosséis de
72

objetos DSM-CC, especificados na Nor- O Ambiente Ginga-J declarativa, ou como uma entidade ini-

C
ma ABNT NBR 15606-3. O componente omo já mencionado, o ambiente im- cial controlando o ciclo de vida de uma
de Persistência é o encarregado pelo perativo Ginga-J oferece suporte a entidade filha declarativa.
gerenciamento do armazenamento de aplicações desenvolvidas usando a Quando a entidade Java é a entida-
dados requisitados pelas aplicações; linguagem Java. de inicial, ela pode criar, modificar e
enquanto o componente Sintonizador é Ginga-J é dividido em três módulos, destruir documentos declarativos NCL
o responsável pela sintonização e con- conforme ilustra a Figura 2: a máquina através das APIs de comandos de edi-
trole do canal de rádio frequência. virtual Java; o núcleo e suas APIs, tam- ção Ginga, conforme especificado na
Os demais componentes do Ginga-CC bém chamadas APIs verde do Ginga-J; Norma ABNT NBR 15606-2. Quando a
são opcionais e dependem da implemen- e o módulo responsável pelo suporte às entidade Java é uma entidade filha, ela
tação particular de cada receptor. O Ge- APIs específicas do Ginga-J, chamadas atua como um objeto de mídia NCL, po-
renciador de Contexto é o encarregado de APIs amarela e vermelha do Ginga-J. dendo se registrar para receber eventos
de colher informações do dispositivo Ginga-J seguirá a especificação da NCL. Eventos NCL poderão, a partir de
receptor, informações sobre o perfil do Norma ABNT NBR 15606-4. As APIs então, acionar métodos das classes Ja-
usuário e sua localização, e torná-las verde do núcleo são as responsáveis va do objeto. Objetos de mídia NCL com
disponíveis ao Ginga-NCL e Ginga-J, pa- por manter o sistema compatível o má- códigoimperativo Java podem também
ra que eles possam efetuar adaptação ximo possível com os sistemas ameri- comandar condições de disparos de
de conteúdos ou da forma como conteú- cano e europeu. relacionamentos NCL, usados no sin-
dos deverão ser apresentados, conforme As APIs específicas do Ginga que cronismo temporal e espacial da apre-
determinado pelas aplicações. podem ser exportadas para outros sis- sentação de conteúdos. Podem também
Ao Gerenciador de Atualizações ca- temas são chamadas de amarelas. En- manipular variáveis globais de aplica-
be o controle das atualizações de todo tre elas estão aquelas que provêem su- ções declarativas, responsáveis pela
o software residente e do middleware porte a múltiplos usuários, a múltiplos determinação da adaptação de conteú-
Ginga, durante o ciclo de vida de um dispositivos e a múltiplas redes. Estão dos ou da forma como conteúdos são
dispositivo receptor. Os componentes também aquelas que oferecem suporte apresentados.
CA (Conditional Access) e DRM (Digital às aplicações que podem ser recebidas, As APIs amarela e vermelha, e a as
Right Management) são os responsáveis armazenadas e executadas em um tem- APIs da ponte são inovações brasileiras
por determinar os privilégios de acesso po futuro. do ambiente imperativo Ginga-J, que o
às diversas mídias que compõem uma O suporte para as necessidades es- distingue dos demais ambientes impe-
aplicação (programa) TVD. pecíficas de aplicações voltadas para rativos dos middlewares do sistema eu-
o Brasil, em especial aplicações de ropeu e americano.
Ambientes Declarativo e Imperati- inclusão social, são endereçadas pela Ginga-NCL é a inovação totalmente
vo do Middleware Ginga API vermelha do Ginga-J. Ginga-J tem brasileira do SBTVD. O ambiente tem

D
iferente de outros sistemas, por por base um conjunto de pacotes Java, por base a linguagem NCL (uma apli-
exemplo o sistema Europeu, não comuns a diversos middlewares impe- cação XML) e sua linguagem de script
existe qualquer relacionamento rativos, conforme será especificado na Lua, ambas desenvolvidas nos labora-
mestre-escravo entre os diversos am- Norma ABNT NBR 15606-4. tórios da Pontifícia Universidade Cató-
bientes de aplicação do Ginga. Ao con- Entre as APIs específicas, cabe ain- lica do Rio de Janeiro.
trário, eles são ambientes pares com da ressaltar aquelas para a comunica- Os ambientes declarativos dos sis-
processo muito bem definido de comu- ção com o ambiente declarativo Ginga- temas americano (ACAP-X), europeu
nicação, especificado por APIs simboli- NCL. Uma aplicação Java pode agir (DVB-HTML) e japonês (BML-ARIB)
zadas na Figura 2 pela Ponte. como entidade filha de uma aplicação têm por base a linguagem XHTML.
74

palavras eles são simplesmente parte de


• Lua vs JS • LuaJIT vs JS uma aplicação de TVD.
Outro objeto de mídia NCL que deve
obrigatoriamente ser suportado pelo
Ginga-NCL é o objeto de mídia baseado
em XHTML. A NCL não substitui, mas
embute documentos (ou objetos) base-
ados em XHTML. Como acontece com
outros objetos de mídia, qual lingua-
gem baseada em XHTML tem suporte
em um formatador NCL é uma escolha
de implementação e, portanto, depen-
de de qual navegador XHTML, incorpo-
rado no formatador NCL (na verdade
suportado pelo Ginga-CC), atua como
exibidor dessa mídia.
Como conseqüência, é possível ter
Figura 3: Comparação
Figura 3: Comparação entre Lua
entre Lua e o JavaScript e o JavaScript
SpiderMonkey SpiderMonkey
do navegador Mozila Firefox do navegador Mozila Firefox
navegadores BML, DVB-HTML e ACAP-
O Formatador NCL trata de aplicações recebidas pelo Ginga-CC e depositadas em uma X individualmente embutidos em um
XTHML
estruturacarrega
de dadoso chamada
legado de“base
tecnologias ções uma
privada”. Existe para base
TV digital,
privadaoporquecanal
tornadeNCLradioa exibidor de documento NCL. É possível,
anteriormente desenvolvidas para na- opção preferencial
freqüência. Cabe ao componente Gerenciador de Bases Privadas a tarefa de receber no desenvolvimento ainda, ter todos eles. Assim, aplicações
vegação
comandostextual. Em sentido
para ativação contrário,
e manipulação da maioria
dessas das aplicações
aplicações. Como de TVD. Para
anteriormente declarativas desenvolvidas para aqueles
aplicações para TVD são usualmente os poucos casos
mencionado, no Ginga-NCL, uma aplicação de TVD pode ser gerada ou modificada particulares, como por ao sistemas também executariam com o su-
centradas no vídeo. Além disso, o mo-
vivo (em tempo real), através de comandos de edição. O conjunto de comandos de
exemplo, quando a geração dinâmica de porte oferecido pelo middleware Ginga.
delo da especificados
edição, linguagem XHTML temABNT
na Norma o foco NBR
no 15606-2,
conteúdo podeé necessária,
ser dividido NCL provê
em três o su-
grupos. Resta mencionar que as Normas ABNT
suporte à interação do usuário telespec- porte de sua linguagem de script Lua. NBR 15606-2 e ABNT NBR 15606-5 de-
O primeiro
tador. Outros grupo
tiposdedecomandos é responsávelAlternativamente,
relacionamentos, pela ativação e desativação
as APIs dadeponte
uma base
com finem apenas um conjunto de funciona-
privada,
como ou seja, a habilitação
relacionamentos de aplicações de
de sincronização um determinado
o Ginga-J podem ser canal de TV.acionando
usadas Em uma lidades básicas para XHTML e suas tec-
base privada, aplicações
espaço-temporal NCL podem pa-
e relacionamentos ser ativadas, pausadas,
o suporte retomadas
imperativo e desativadas,
oferecido pela lin- nologias derivadas como obrigatórias. A
através
ra de comandos
definição bem definidos
de alternativas (adaptação pertencentes
guagem ao Java.
segundo grupo de comandos. O escolha de outras funcionalidades adi-
terceiro
de grupo define
conteúdo comandos para modificações
e de apresentação), são de uma
Como aplicação
a NCL tem umaao vivo.
separação mais cionais é opcional.
usualmente definidos através de uma acurada entre o conteúdo e a estrutura Voltando nossa atenção para a Figura
Finalmente,imperativa,
linguagem como o Ginga-J,no caso Ginga-NCL
de todos oferecede uma suporte a múltiplos
aplicação, ela nãodispositivos
define nenhu- de 2, o componente Formatador NCL já foi
entrada e saída. Tal facilidade
os três sistemas citados a linguagem declarativa, juntamente com os comandos de edição
ma mídia per si. Ao contrário, ela define ao por demais citado, e tem como respon-
vivo, únicos do sistema brasileiro, provê suporte
ECMAScript. para
a cola queo prende
grande as domínio
mídiasdeemaplicações
apresen- sabilidade orquestrar toda a execução
interativas de TVD que se
Diferente das linguagens baseadas descortina: as tações multimídia. NCL apenasTV
aplicações para as chamadas em
define de uma aplicação NCL, garantindo que
comunidade (Community ou
em XHTML, NCL define uma separação Social TV), onde uma comunidade de usuários cria
como objetos de mídia são estruturados ao vivo, os relacionamentos espaço-temporais
sobredemarcada
bem o conteúdo entre
e aplicações recebidas,
o conteúdo e a es-novaseaplicações (geração
relacionados, de novos
no tempo conteúdos
e espaço. Co-e definidos pelo autor da aplicação sejam
informações personalizados),
trutura de uma aplicação, provendo um que são trocadas entre seus membros, para exibição
mo uma linguagem de cola, ela não res- em respeitados. A máquina de execução
tempo real ou sob demanda.
controle não invasivo da ligação entre o tringe ou prescreve os tipos de conteúdo Lua é responsável pelo processamento
conteúdo e sua apresentação e leiaute. dos objetos de mídia. Nesse sentido, po- do código imperativo Lua. Lua é uma
O modelo da linguagem NCL visa um do- demos ter objetos de imagem, de vídeo, linguagem de programação imperativa
4 Considerações Finais
mínio de aplicações mais amplo do que de áudio, de texto, de código imperativo eficiente, rápida e leve, projetada para
oOoferecido pela linguagem XHTML. NCL
Sistema Brasileiro é, atualmente, o mais avançado (Xlet esistema
Lua, no SBTVD),
de TV digitalentre outros,
terrestre, não estender aplicações. Lua combina uma
visa não apenas o suporte declarativo à
apenas por usar as tecnologias mais avançadas, mas, principalmente, por dispor ob-
como objetos de mídia NCL. Quais de sintaxe simples para programação im-
interação
tecnologiasdoinovadoras,
usuário, mas comoo sincronismo jetos de mídia
é o caso de seu middleware têm suporte depende dos
Ginga. perativa com construções poderosa para
espacial e temporal em sua forma mais exibidores de mídia que estão acoplados descrição de dados baseadas em tabelas
ampla, tratando a interação do usuário ao formatador NCL (na verdade, que têm associativas e em semântica extensível.
como um caso particular. NCL visa tam- suporte no Ginga-CC, vide Figura 2). No Lua é tipada dinamicamente, é interpre-
bém o suporte declarativo a adaptações SBTVD, um desses exibidores é o deco- tada e tem gerenciamento automático de
de conteúdo e de formas de apresenta- dificador/exibidor MPEG-4, implementa- memória, com coleta de lixo incremen-
ção de conteúdo, o suporte declarativo do em hardware no receptor de televisão tal. Essas características fazem de Lua
a múltiplos dispositivos de exibição e a digital. Dessa forma, o vídeo e o áudio uma linguagem ideal para configuração,
edição/produção da aplicação em tempo MPEG-4 são tratados como todos os automação (scripting) e prototipagem
de exibição, ou seja, ao vivo. Esses são demais objetos de mídia que podem ser rápida (geração rápida de aplicações).
também os focos da maioria das aplica- relacionados utilizando NCL, em outras Lua é uma das linguagens de script mais

produÇÃO PROFISSIONAL • junho 2008


75

eficientes; muito mais rápida do que EC- uma base privada, ou seja, a habilitação Conclusões

O
MAScript, e com um footprint de memó- de aplicações de um determinado canal Sistema Brasileiro é, atualmente, o
ria bem menor, como indica a Figura 3, de TV. Em uma base privada, aplicações mais avançado sistema de TV digital
obtida do site de avaliação de linguagens NCL podem ser ativadas, pausadas, re- terrestre, não apenas por usar as tecno-
http://shootout.alioth.debian.org/: Lua é, tomadas e desativadas, através de co- logias mais avançadas, mas, principalmen-
em média 7 vezes mais rápida e com um mandos bem definidos pertencentes ao te, por dispor de tecnologias inovadoras,
uso de memória 40 vezes menor. Lua é segundo grupo de comandos. O terceiro como é o caso de seu middleware Ginga.
hoje a linguagem mais importante na grupo define comandos para modifica- A implementação de referência do
área de entretenimento. ções de uma aplicação ao vivo. Ginga-NCL foi desenvolvida em códi-
O Formatador NCL trata de aplicações Finalmente, como o Ginga-J, Ginga- go aberto e pode ser obtida em www.
recebidas pelo Ginga-CC e depositadas NCL oferece suporte a múltiplos dis- ncl.org.br, sob de licença GPLv2. A
em uma estrutura de dados chamada “ba- positivos de entrada e saída. Tal faci- máquina Lua também se encontra dis-
se privada”. Existe uma base privada por lidade declarativa, juntamente com os ponível pelo mesmo site, através de
canal de radio freqüência. Cabe ao compo- comandos de edição ao vivo, únicos do licença MIT. Ferramentas de autoria
nente Gerenciador de Bases Privadas a ta- sistema brasileiro, provê suporte para para o desenvolvimento de aplicações
refa de receber comandos para ativação e o grande domínio de aplicações intera- NCL, também em código aberto, estão
manipulação dessas aplicações. Como an- tivas de TVD que se descortina: as apli- disponível ainda no mesmo site, bem
teriormente mencionado, no Ginga-NCL, cações para as chamadas TV em comu- como tutoriais, livros e exemplos de
uma aplicação de TVD pode ser gerada ou nidade (Community ou Social TV), onde várias aplicações NCL e Lua. Várias
modificada ao vivo (em tempo real), atra- uma comunidade de usuários cria ao listas de discussão e contribuições no
vés de comandos de edição. O conjunto vivo, sobre o conteúdo e aplicações re- desenvolvimento de aplicações, po-
de comandos de edição, especificados na cebidas, novas aplicações (geração de dem ser encontradas na comunidade
Norma ABNT NBR 15606-2, pode ser divi- novos conteúdos e informações perso- Ginga, em www.softwarepublico.gov.
dido em três grupos. nalizados), que são trocadas entre seus br. Documentos, artigos e tutoriais a
O primeiro grupo de comandos é res- membros, para exibição em tempo real respeito do middleware Ginga, podem
ponsável pela ativação e desativação de ou sob demanda. ser obtidos em www.ginga.org.br.  PP

Potrebbero piacerti anche