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.

1 | 2 | 3 | 4