Artigo Java Magazine 68 - Conhecendo um pouco mais a TV Digital

Artigo da Revista Java Magazine Edição 68.

Esse artigo faz parte da revista Java Magazine edição 68. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Conhecendo um pouco mais a TV Digital

Exemplo de aplicação interativa utilizando o canal de retorno

Um exemplo de aplicação que utiliza NCL e Lua no lado do cliente, Java no servidor e ferramentas de auxílio ao desenvolvedor

 

De que se trata o artigo:

Evolução do artigo “Conhecendo a TV Digital”, apresentado na Edição 66, com a apresentação de novas ferramentas de apoio ao desenvolvimento. Inclui um exemplo prático de uma aplicação interativa para TV Digital, um pouco mais elaborada e simulando a utilização do canal de retorno, com NCL e Lua no lado do cliente e Java no lado do servidor.

 

Para que serve:

Enquanto aguardamos definições sobre Java no lado do cliente (Ginga-J), explorar e aprender um pouco mais de NCL e Lua, com o apoio do Ginga-NCL Virtual Set-Top Box.

 

Em que situação o tema é útil:

Para o desenvolvimento de aplicações interativas para TV Digital, além do Java, será muito útil também o conhecimento das linguagens NCL e Lua.

 

Conhecendo um pouco mais a TV Digital:

Como toda nova tecnologia, o início é repleto de indefinições e novos aprendizados. Para que o desenvolvedor de software esteja preparado para este novo cenário, este é o momento ideal para embarcar na TV Digital.

No artigo “Conhecendo a TV Digital” (Edição 66) foram apresentados alguns conceitos básicos da TV Digital e uma aplicação com interatividade local, em NCL e Java (Xlet). Neste artigo é apresentada uma aplicação com interatividade remota (cliente-servidor), com NCL e Lua no cliente (set-top box), e Java no servidor. Para emular a aplicação do exemplo é utilizado o Ginga-NCL Set-Top Box Virtual.

 

 

No artigo anterior foram apresentados vários conceitos sobre a TV Digital, o middleware Ginga e uma aplicação de exemplo simples, com interatividade local, isto é, sem a comunicação do set-top box com um servidor.

Neste artigo, apresentaremos um exemplo mais elaborado, com interatividade remota, simulando o pedido de uma pizza através da TV. O exemplo é executado no “Ginga-NCL Virtual Set-Top Box”, máquina virtual que contém a implementação de referência do middleware. O servidor é implementado em Java e o cliente nas linguagens Lua e NCL.

Devido ao fato do Ginga-NCL Virtual Set-Top Box não suportar a execução de código Java, não podemos codificar um Xlet no lado do cliente. A parte Java deste exemplo fica por conta apenas do servidor.

Por falar em Java no lado do cliente, temos novidades em relação ao Ginga-J (veja o quadro “JavaDTV”).

Exemplo 

O código do exemplo deste artigo, disponível para download no site da revista, é uma aplicação cliente-servidor. O cliente utiliza as linguagens NCL e Lua, e se comunica com o servidor Java através de uma conexão via sockets. A aplicação simula o pedido de compra de uma pizza pela televisão. O cliente insere o número de seu telefone através das teclas 0-9 do controle remoto, e então confirma os dados apertando a tecla verde ou OK do controle. O servidor busca então o cadastro do cliente e retorna suas informações, tais como nome e endereço. A partir daí, o cliente pode então escolher opções de tamanho e sabor da pizza. Para finalizar, é requisitada a confirmação do pedido ao cliente. Se este for confirmado, a requisição é enviada ao servidor. Abaixo seguem instruções para instalação, configuração e execução do servidor e do cliente.

Servidor

O objetivo do servidor neste exemplo é simular um provedor de serviço, como o que será responsável por atender às requisições dos telespectadores que irão interagir com a aplicação deste provedor. No nosso exemplo, o provedor do serviço é a pizzaria.

O código do servidor está na pasta servidor, pacote pizzaserver. É disponibilizado o código-fonte da aplicação no diretório PizzaServer/src. Também está disponível o arquivo build.xml utilizado para compilação com o Ant.

O código já compilado encontra-se no diretório PizzaServer/dist. Para executar utilize o comando:


 java -jar PizzaServer.jar

 

O servidor fica à espera de requisições do cliente, exibindo a mensagem "Pronto para receber requisições...".

Como não é o foco principal do artigo, este servidor é muito simples, mas em uma aplicação real teríamos uma arquitetura com um servidor de aplicações e banco de dados, por exemplo.

 

Cliente

Faça o download do Ginga-NCL Virtual Set-top Box, versão 0.9.28 (aprox. 320 Mb), que pode ser obtido a partir da comunidade Ginga do Portal do Software Público Brasileiro (seção " [...] continue lendo...

Artigos relacionados