Artigo: A Survey of J2ME Today
Autor: Enrique Ortiz
Publicado: http://developers.sun.com/techtopics/mobility/getstart/articles/survey/
Data Publicação: 01/10/2004
Introdução
Java 2 Platform, Micro Edition (J2ME) é uma das 3 edições da plataforma Java.
J2ME define um grupo de ambientes para execução e APIs para dispositivos eletrônicos
como telefones celulares, PDAs e vários outros dispositivos com poucos recursos para
suportar a implementação completa das outras 2 edições da plataforma Java: J2SE –
voltada para aplicações desktop; e J2EE – voltada para aplicações servidoras.
Visão Geral
A figura 1 mostra que além de J2ME, existem outras tecnologias Java disponíveis
para dispositivos móveis como EmbeddedJava e PersonalJava, ambas descontinuadas, e
JavaCard.
J2ME oferece uma grande e crescente variedade de configurações, perfis e
pacotes opcionais.
Figura 1- Variantes da plataforma Java para dispositivos eletrônicos
Organização
A J2ME Platform Specification (JSR 68) define não somente os vários
componentes de J2ME como também a arquitetura geral da plataforma. Ao invés de uma
simples e monolítica plataforma com um grande footprint, J2ME é organizada em uma
estrutura multicamada (figura 2), composta de conjuntos de software de 3 tipos:
configurações, perfis e pacotes opcionais.
Uma configuração como CLDC fornece serviços fundamentais para um grande
conjunto de dispositivos, por exemplo dispositivos móveis com processamento e
conectividade limitada. Um perfil como MIDP fornece serviços de mais alto nível para
um conjunto de dispositivos mais específicos como celulares e PDAs. Um pacote
opcional adiciona serviços especializados que são úteis para alguns dispositivos mas não
necessários para todos, como GPS, SMS, etc.
Há ainda API desenvolvidas por fabricantes de dispositivos que fornecem
funcionalidades específicas para um dado dispositivo, como APIs para ativarem a função
de vibração de determinado celular.
Figura 2 - Organização da platform J2ME
Configurações
Uma configuração define o básico para um ambiente de execução J2ME. Isto
inclui a máquina virtual e um conjunto de classes básicas fundamentais derivadas de
J2SE.
Cada configuração é voltada para famílias de dispositivos com capacidades
semelhantes.
Figura 3 - Configurações J2ME
A Connected Limited Device Configuration (CLDC) é a configuração J2ME
mínima voltada para dispositivos com restrições de processamento, memória, bateria e
largura de banda. Esta configuração é formada por um subconjunto de pacotes de edição
J2SE e suporta dispositivos com processadores de 16 ou 32 bits com no mínimo 160 KB
de memória não volátil e 32 KB de memória volátil, num total de 192K.
Já configuração CDC é um superconjunto da configuração CLDC, voltada para
dispositivos com mais poder de processamento do que aqueles suportados pela
configuração CLDC, como PDAs e telefones celulares high-end. Esta configuração
suporta dispositivos com processadores de 32 bits, tipicamente baseados na arquitetura
ARM, com no mínimo 2 MB de memória principal e 2,5 MB de memória somente
leitura, e alguma forma de conectividade.
A configuração CDC, por ser um superconjunto da configuração CLDC, inclui
muito mais classes e pacotes de J2SE. A tabela 2 lista os principais pacotes da
configuração CDC.
Perfis
Uma configuração não fornece classes para gerenciamento do ciclo de vida da
aplicação, apresentação (interface com o usuário), persistência local dos dados ou acesso
seguro de informação armazenado em um servidor remoto. Este tipo de funcionalidade é
fornecido pelos perfis ou pelos pacotes opcionais. Um perfil adiciona classes de domínio
específico à lista de classes fornecidas pela configuração.
Figura 4 - Perfis J2ME
Da configuração CLDC emergem 2 perfis: Mobile Information Device Profile
(MIDP 1.0 e 2.0) e Information Module Profile (IMP). Da configuração CDC emergem 3
perfis: Foundation Profile (FP), Personal Basis Profile (PBP), e Personal Profile (PP). A
figura 4 demonstra como configuração e perfis se relacionam.
Múltiplos perfis podem co-existir sobre uma mesma configuração, caso dos perfis
MIDP e IMP da configuração CLDC. Há também a possibilidade de que um perfil seja
construído em cima de outro, caso dos perfis FP, PBP e PP da configura CDC.
Pacotes Opcionais
Pacotes opcionais são componentes muito importantes dentro da arquitetura
J2ME. Considere-os como extensão dos perfis. Eles fornecem suporte a funcionalidades
como multimídia, envio de mensagens (SMS) e serviços de localização (GPS).
Conclusão
A plataforma J2ME vem evoluindo para um ambiente de execução completo e
com inúmeras APIs para o desenvolvimento de aplicações baseadas na tecnologia Java
para um considerável número de dispositivos eletrônicos.
O coração da plataforma J2ME são as configurações, responsáveis por definir a
funcionalidade básica para determinada família de dispositivos. Até agora, as duas
configurações definidas são CLDC para dispositivos de menor porte e CDC para
dispositivos mais poderosos.
Apoiados nas configurações, os perfis adicionam classes para construção de
interface gráfica, conectividade e controle do ciclo de vida da aplicação. Os perfis
baseados na configuração CLDC são Mobile Information Device Profile (MIDP) e
Information Module Profile (IMP). Os perfis baseados em CDC são Foundation Profile
(FP), Personal Basis Profile (PBP) e Personal Profile (PP).
J2ME também inclui pacotes opcionais, conjuntos de APIs que estendem os
perfis fornecendo funcionalidades específicas disponíveis em alguns dispositivos e
necessárias a algumas aplicações.
Download

Artigo: Databases and MIDP, Part 1: Understanding the