ginga-j emulator: uma ferramenta de execução de aplicações imperativas para o middleware ginga

31
Ginga-J Emulator: Uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga Aluno: Erisvaldo Gadelha Saraiva Júnior Orientador: Dr. Guido Lemos de Souza Filho Banca: Me. Alan Kelon Oliveira de Moraes Me. Raoni Kulesza Universidade Federal da Paraíba Centro de Ciências Exatas e da Natureza Departamento de Informática

Upload: erisvaldo-junior

Post on 13-Jan-2015

3.394 views

Category:

Documents


2 download

DESCRIPTION

Defesa de TCC sobre o Ginga-J Emulator, ferramenta para execução de aplicações Ginga-J no Desktop, desenvolvida no LAViD/UFPB.

TRANSCRIPT

Page 1: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Ginga-J Emulator: Uma Ferramenta de Execução de Aplicações

Imperativas para o Middleware Ginga

Aluno: Erisvaldo Gadelha Saraiva Júnior

Orientador: Dr. Guido Lemos de Souza FilhoBanca: Me. Alan Kelon Oliveira de Moraes

Me. Raoni Kulesza

Universidade Federal da Paraíba

Centro de Ciências Exatas e da Natureza

Departamento de Informática

Page 2: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Roteiro

• Introdução

• Trabalhos Relacionados

• Ginga-J Emulator

• Considerações Finais

Page 3: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

INTRODUÇÃO

Por que desenvolveu-se

o Ginga-J Emulator?

Page 4: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

O middleware Ginga

Page 5: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Arquitetura do Ginga-J

Page 6: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Pacotes do Ginga-J

• Plataforma JavaME (CDC 1.1, FP 1.1, PBP 1.1)• API JavaTV 1.1• API Java Media Framework (JMF) 2.1• API Java Secure Socket Extension (JSSE) 1.0.2• API Java Cryptography Extension (JCE) 1.0• SATSA 1.0.1• JavaDTV 1.3• Pacotes específicos do Ginga-J

Page 7: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

APIs do JavaDTV

Especificação JavaDTV 1.3

Page 8: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Modelo Gráfico do JavaDTV

Page 9: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

LWUIT – Lightweight UI Toolkit

• Baseado no Swing;

• Plataformas JavaME (CLDC 1.1, MIDP 2.0 / CDC, FP e PBP) e JavaSE;

• Animações, botões, fontes, transicões de telas, temas, layouts, abas e caixas de diálogo;

• No JavaDTV, é usado em conjunto com o DTV-UI (com.sun.dtv.ui), que traz funcionalidades específicas para TV Digital.

Page 10: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Componentes do LWUIT

Page 11: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Ginga-J Device Integration API

Page 12: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

br.org.sbtvd.interactiondevices

Page 13: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

TRABALHOS RELACIONADOS

Page 14: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Emuladores de aplicações Java para TV Digital

Ferramenta CaracterísticasMiddleware

CompatívelLicença

Comunicação

Multidispositivo

XletviewExecutor de

AplicaçõesMHP (GEM) Aberta Não

CESARCiTVExecutor de

AplicaçõesMHP (GEM) Aberta Não

TVDesigner

Ambiente de

Desenvolvimento de

AplicaçõesMHP (GEM) Aberta Não

Sun JavaDTV

Emulator

Executor de

Aplicações

Ginga

(JavaDTV)Aberta Não

Page 15: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

GINGA-J EMULATOR

Page 16: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

O Ginga-J Emulator

• Ambiente que simula um STB com Ginga-J seguindo a especificação JavaDTV;

• Planos gráficos, eventos, componentes de interface (LWUIT) e também pacotes específicos do Ginga-J;

• Implementa a Ginga-J Device Integration API (pacote br.org.sbtvd.interactiondevices).

Page 17: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Estratégia de Implementação

• Baseado no Xletview, emulador de código aberto para o MHP (GEM);

• Manteve-se o código base do Xletview, eliminando os pacotes do GEM e substituindo-os pelos equivalentes no JavaDTV;

• Priorizou-se os pacotes com.sun.dtv.lwuit (interface) e com.sun.dtv.ui.event (eventos).

Page 18: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Estratégia de Implementação

➔ Pacote com.sun.dtv.* (Especificação JavaDTV); ➔ Pacote br.org.sbtvd.* (Pacotes específicos do Ginga-J); ➔ Pacote net.beiker.xletview.* (Base do Xletview); ➔ Pacote org.openginga.dev.emulator.* (Implementação).

Uso do padrão de projeto Adapter

Page 19: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Pacote org.openginga.dev.emulator.lwuit(Adaptadores)

Page 20: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

LabelAdapter

Page 21: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

com.sun.dtv.lwuit.Label

Page 22: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Pacote org.openginga.dev.emulator.interactiondevices

Page 23: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Planos Gráficos(net.beiker.xletview.window.TvWindow)

javax.swing.JLayeredPane

Page 24: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Status do Desenvolvimento (LWUIT – Lightweight UI Toolkit)

Page 25: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Status do Desenvolvimento(JavaDTV e Pacotes Específicos)

Pacotes específicos do Ginga-J Pacotes do JavaDTV 1.3

br.org.sbtvd.interactiondevices

br.org.sbtvd.ui

br.org.sbtvd.bridge

br.org.sbtvd.net

br.org.sbtvd.net.rc

br.org.sbtvd.net.si

br.org.sbtvd.net.tuning

com.sun.dtv.applicationcom.sun.dtv.iocom.sun.dtv.locatorcom.sun.dtv.lwuitcom.sun.dtv.net com.sun.dtv.platformcom.sun.dtv.resourcescom.sun.dtv.smartcardcom.sun.dtv.ui

com.sun.dtv.media

com.sun.dtv.broadcastcom.sun.dtv.transportcom.sun.dtv.tunercom.sun.dtv.filteringcom.sun.dtv.service

Page 26: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

GingaCDN(http://dev.openginga.org)

Ambiente de acompanhamento dos

projetos relacionados ao Ginga-J

• Código-fonte;

• Aplicações;

• Ginga Remote;

• Tutoriais;

• Tarefas, Documentos e Atualizações.

Page 27: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Exemplos de aplicações Ginga-J

Page 28: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Ginga Remote

Page 29: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

CONSIDERAÇÕES FINAIS

Page 30: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Conclusões

• Ferramenta funcional para execução de aplicações Ginga-J;

• Roda em qualquer SO com a JVM e possui ambiente familiar ao desenvolvedor;

• Pode se consolidar como a maneira mais prática e popular de testar aplicações imperativas para o Ginga.

Page 31: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Trabalhos Futuros

• Implementar pacotes restantes do JavaDTV e específicos do Ginga-J;

• Gerenciador de Canais;

• Versão stand-alone do emulador, integrada ao Ginga-J Plugin para Eclipse;

• Integração com Ferramenta de Autoria para Ginga-J (TVA).