Artigo Java Magazine 68 - Conhecendo um pouco mais a TV Digital
Artigo da Revista Java Magazine Edição 68.
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
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo