ginga-j emulator: uma ferramenta de execução de aplicações imperativas para o middleware ginga
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/4.jpg)
O middleware Ginga
![Page 5: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/5.jpg)
Arquitetura do Ginga-J
![Page 6: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/8.jpg)
Modelo Gráfico do JavaDTV
![Page 9: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/10.jpg)
Componentes do LWUIT
![Page 11: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/11.jpg)
Ginga-J Device Integration API
![Page 12: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/12.jpg)
br.org.sbtvd.interactiondevices
![Page 13: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/13.jpg)
TRABALHOS RELACIONADOS
![Page 14: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/15.jpg)
GINGA-J EMULATOR
![Page 16: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/20.jpg)
LabelAdapter
![Page 21: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/21.jpg)
com.sun.dtv.lwuit.Label
![Page 22: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/22.jpg)
Pacote org.openginga.dev.emulator.interactiondevices
![Page 23: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/27.jpg)
Exemplos de aplicações Ginga-J
![Page 28: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/28.jpg)
Ginga Remote
![Page 29: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/29.jpg)
CONSIDERAÇÕES FINAIS
![Page 30: Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081518/54b54bc94a795979748b462f/html5/thumbnails/31.jpg)
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).