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/devi
ce
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.p
df
• http://java.sun.com/products/cldc/index.jsp
• http://java.sun.com/products/cdc/index.jsp
Download

Aula 1 – Overview e Conceitos básicos