View
111
Download
5
Category
Preview:
Citation preview
Jornada de cursos - J2ME
Aula 1 – Overview e Conceitos básicos
Agenda• Overview do curso
• Metodologia
• Java e J2ME
• Máquinas virtuais
• Configurações e perfis
• O que é quente em J2ME hoje?
Overview do curso
• O que é J2ME
• Configurações
• Perfis
• MIDP
• Comunicação
• Persistência
• MIDP 2.0
Metodologia
• Exercícios/Questões ao final das aulas
• Análise de códigos
• Projeto final
Pausa para reflexão
"Sem esforço não há progresso, mas com esforço também não há progresso”
Ryotan Tokuda, Mestre Zen
Linguagem Java
• Divisão em 3 frentes:• J2SE – desktops• J2EE – servidores• J2ME – dispositivos com memória e
processamento restritos• Tentativas anteriores: Embedded Java e PersonalJava
foram descontinuadas
Alvos de Java
Mas o que é J2ME
• Opção da SUN para desenvolvimento para dispositivos limitados em processamento e memória (móveis ou não)
• Parecida com J2SE
• Mesma linguagem, mesmo compilador, mesma estrutura da máquina virtual
Qualidades
• Write once, run everywhere
• Linguagem de alto nível para dispositivos móveis
• Portabilidade
• Delivery pela rede seguro• Anytime, anywhere secure deploying
• Alta escalabilidade com J2SE e J2EE
Foco de J2ME• Basicamente duas categorias:
• Dispositivos fixos de informação compartilhada • Dispositivos móveis de informação pessoal
• Fronteira não muito bem definida• Mais memória e mais processamento para ambas
categorias
Máquinas virtuais
• KVM• Otimizada para dispositivos com poucos recursos• Implementada em C• 40 K – 80 K• Processadores de 16 – 32 bits• 160 K – 512 K de memória total• Implementação de referência da SUN
• Especificação fornecida pela SUN
• Específica para CLDC• Aplicações CDC não rodam na KVM sem ajustes
• Já a direção contrária é válida
Máquinas Virtuais
• CVM• Quase igual a VM do J2SE. Diferenças:
• Dispositivos fazem computações específicas
• Gerenciamento de memória mais eficiente• Separação VM – Sistema de memória
• Mapear Threads Java em Threads nativas do sistema
• Utiliza a ROM
• Referências fracas, RMI, serialização
Organização da plataforma
• Aplicação
• Building blocks:• Configurações• Perfis
• Pacotes opcionais• Conjunto de API´s mas
não um Perfil
• API´s proprietárias
Mas voltando às divisões...
• Embbeded Java e PersonalJava no final de ciclo de vida
Configurações
Perfis CDC
• Foundation Profile• Sem GUI• Reuso de código J2SE com esforço mínimo• Ambientes com recursos limitados
• Exemplos de cenários:• Impressoras de rede• Roteadores• Gateways residenciais• Aplicações no lado do servidor
Perfis CDC
• Personal Basis Profile• Um framework de GUI para objetos leves• Suporte ao modelo de programação xlet• Todas as APIs incluídas no Foundation Profile
• Exemplos de cenários:• Televisão interativa• Automóveis• Dispositivos de propósito fixo para consumidores
(câmeras digitais, gravadoras, etc)
Perfis CDC
• Personal Profile• Compatibilidade total com AWT• Suporte ao modelo de programação de applets• Um caminho definido para tecnologias legadas
como PersonalJava• Todas as APIs do Personal Basis Profile
• Exemplos de cenários:• High-end PDAs • Embedded Web browsers
Perfis CDC
• Game Profile• Sem previsão de lançamento• Cobrirá 9 áreas fundamentais do desenvolvimento
de jogos• Alvo também em J2SE• Terá referências a Java Media Framework API e
Java 3D
Perfis CLDC
• MIDP• Experiência rica em interface gráfica• Conectividade extensiva• Funcionalidades multmídia e para jogos• OTA• Segurança fim-a-fim
• Dispositivos-alvo:• Para uma lista completa
http://developers.sun.com/techtopics/mobility/device/device
Perfis CLDC• IMP
• Baseado em MIDP• GUI limitada• Recursos de memória ou processamento escassos• Persistência local• Conectividade com a rede• Gerenciamento do ciclo de vida
• Exemplos de uso• Caixas de chamada de emergência, parquímetros, módulos wireless
em alarmes e dispositivos industriais de medição • Módulos wireless que podem alertar para serem reabastecidos,
diagnósticos de elevadores, estações meteorológicas e medidores de eletricidade.
O que é quente hoje em J2ME?
• Aplicativos com processamento do lado do servidor e apresentação no celular
• Localização
• Utilização da câmera embutida• Cartão de visita
• Nokia gems
Perguntas
• Descreva a arquitetura, em termos de blocos, sobre a qual aplicações J2ME são escritas.
Referências
• Wireless Programming with J2ME: Cracking the code, ISBN: 0-7645-4885-9
• http://java.sun.com/j2me
• Core J2ME, segunda edição
• http://java.sun.com/products/kvm/wp/KVMwp.pdf
• http://java.sun.com/products/cldc/index.jsp
• http://java.sun.com/products/cdc/index.jsp
Recommended