|
Java 2 Micro
Edition
|
Página
de
|
2.1.
Kilobyte Virtual Machine (KVM) |
O KVM é uma nova máquina virtual
desenvolvida para dispositivos com recursos muito limitados.
O seu tamanho vai desde os 40 aos 80 Kbytes, daí o K de
Kilobyte em KVM. A ideia de desenvolver o KVM teve origem
num projecto chamado Spotless System, que tinha como função
criar um motor para um computador de mão (PDA). A equipa
responsável por esse projecto, rapidamente se apercebeu que
o tamanho do sistema dependia directamente do tamanho das
suas bibliotecas, havendo então, necessidade de reduzir o
tamanho do sistema retirando tudo o que era considerado não
essencial ou critico para o funcionamento do sistema [2,
3].
Apenas uma pequena parte do código do KVM é dependente da
plataforma onde corre, mas está isolado numa zona de fácil
alteração. Para implementar o KVM num dispositivo, é
necessário alterar apenas estas dependências. Ao contrário
dos computadores normais, um dispositivo móvel não possui
uma linha de comandos ou uma interface especial onde possa
ser executado o programa. Para o conseguir usa-se o Java Aplication Manager (JAM) que serve de interface entre o KVM
e o sistema operativo do dispositivo. O JAM executa a
aplicação J2ME por cima do KVM, que é previamente
descarregada de um servidor http onde esta se encontra. É
também incluído um ficheiro metadata que contém informações
que o JAM usa para poder descomprimir e instalar a
aplicação. A esta aplicação dá-se o nome de MIDlet [3].
2.2. Connected, Limited Device Configuration (CLDC) |
A configuração CLDC define um padrão na plataforma Java para
os dispositivos com recursos limitados e, activa de forma
dinâmica a distribuição das aplicações e conteúdos para
estes dispositivos. A configuração é limitada a um espaço de
cerca de 128 Kbytes e é desenhada para correr em vários
dispositivos de pequeno porte sem que o programador se tenha
de preocupar com o sistema operativo em que a aplicação vai
executar. O CLDC é implementado como um conjunto adicional
de classes contido numa package separada (a java.io,
java.lang, java.util e a javax.microedition.io [5]). Tal
facto facilita a portabilidade do CLDC para as diferentes
plataformas.
A configuração CLDC necessita que o JVM possa identificar e
rejeitar as classes que sejam inválidas. As formas padrão
para fazer este tipo de verificações são muito dispendiosas
em termos de memória. Para reduzir as verificações no lado
do cliente, o CLDC usa um processo de pré-verificação e
verificação, onde parte é feita do lado do servidor antes de
se proceder ao descarregamento da aplicação CLDC MIDlet para
o dispositivo móvel. Este procedimento de pré-verificação
gera um ficheiro chamado stackmap que é descarregado
juntamente com a MIDlet para o dispositivo. Este ficheiro
contém informações acerca da pré-verificação, nomeadamente
sobre o estado válido ou inválido da aplicação. Qualquer
aplicação para correr nos dispositivos com a configuração
CLDC precisa de estar na forma de JAR (ficheiro comprimido
com todas as componentes da aplicação) [2,
5].
2.3. Mobile Information Device Profile (MIDP) |
A MIDP é um conjunto de bibliotecas Java que juntamente com
o CLDC fornece os requisitos mínimos para a construção de
uma aplicação J2ME dirigida para telemóveis, PDAs e pagers
com duas vias de comunicação. Este é o único perfil
completamente especificado para a configuração CLDC. Existe
outro exclusivo para PDAs, mas ainda se encontra em
desenvolvimento. A MIDP contém bibliotecas com classes
relacionadas com interfaces, armazenamento de dados,
comunicações e aplicações modelo. Este perfil também inclui
um conjunto de requisitos, dirigido aos fabricantes caso
eles queiram que o seu dispositivo seja certificado, para
correr com as configurações CLDC e com os perfis MIDP. Por
exemplo, o requisito do tamanho mínimo do visor de um
dispositivo que use o perfil MIDP terá de ser de 96x54
pixels, a profundidade do ecrãn de 1 bit e o tamanho de cada
pixel deverá ser 1x1. Outro requisito deste perfil é ter no
mínimo 128 Kbytes de memória RAM [4].
Para a distribuição de aplicações (MIDlets) por conta de
outrem é necessário que os seus programadores gerem um
ficheiro metadata, compactem o ficheiro e os seus
componentes adicionais num JAR e lhe associem um Java Application Descriptor
(JAD - que funciona como uma espécie
de identificador). O JAD contém informações que o JAM usa
para configurar, verificar e instalar as MIDlets e por sua
vez esta usa a informação durante a sua execução. Cada
fabricante é livre de incluir bibliotecas especificas para
aumentar a funcionalidade do seu equipamento e incluir ou
criar também MIDlets que usem estas funcionalidades.
|
|