Introdução ao Java Micro Edition

O mercado de dispositivos móveis (celulares, palms, PDAs) vem crescendo de maneira assustadora nos últimos anos chamando assim a atenção de grandes empresas...

Introdução

O mercado de dispositivos móveis (celulares, palms, PDAs) vem crescendo de maneira assustadora nos últimos anos chamando assim a atenção de grandes empresas, como Nokia, Motorola, Qualcomm, Samsung, LG, dentre outras.

 

No atual cenário mundial, o Brasil ocupa a 5ª posição entre os países com mais celulares no mundo (89 milhões de unidades), ficando atrás apenas de China, Estados Unidos, Rússia e Japão.

 

Para se ter uma idéia de quanto está sendo importante essa revolução, os japoneses utilizam um serviço de nome “Edy” que faz, praticamente, o celular virar uma carteira, ou seja, compras de supermercado, aluguel de vídeos, reservas no teatro e o pagamento da bebida no fim do dia, podem ser feitos com o celular.

 

JME - Java Micro Edition
A Sun possui três edições de Java. São elas:

Em dezembro de 1998, a Sun apresentou o nome “Java 2” (J2) para coincidir com o lançamento do Java 1.2. Essa nova convenção de atribuição de nomes se aplica a todas as edições de Java, conforme descritas acima.

 

JME é destinado diretamente a dispositivos com poder de processamento limitado, como: celulares, pagers, entre outros. A grande maioria destes dispositivos não tinha opções de download de novos aplicativos, ou seja, eram de natureza estática.

 

Com a introdução do J2ME, passou a existir a possibilidade de se instalar aplicativos Java através de download, navegar na web, desenvolvimento de jogos para dispositivos limitados, dentre muitas outras possibilidades antes inexistentes.

 

O JME é uma versão reduzida do JSE, tendo algumas limitações, pois visa dispositivos de poder de processamento e memória inferiores aos do JSE.

 

Configurações

Para haver um amplo suporte aos dispositivos que a J2ME engloba, a Sun criou a “Configuração”.

 

A Configuração define os recursos da linguagem Java e as bibliotecas Java básicas da Máquina Virtual para uma configuração em particular. A configuração é baseada na memória, no vídeo, na conectividade de rede (ou limitações disto) e no poder de processamento do dispositivo.

 

O JME possui duas principais configurações: CDC e CLDC.

 

Configuração de Dispositivo Conectado – Connected Device Configuration (CDC)

A CDC refere-se aos dispositivos que possuem no mínimo:

Configuração de Dispositivo Conectado Limitado – Connected Limited Device Configuration (CLDC)

A CLDC refere-se aos dispositivos que possuem:

Apesar desta divisão parecer bastante clara, as tecnologias estão sempre em constante aprimoramento e sendo usadas por diversas empresas, com variados modelos de dispositivos, cada vez mais “possantes” e incrementados. Com isso tornou-se necessário a criação dos chamados “perfis”.

 

Perfis

O perfil funciona como uma extensão da configuração, fornecendo as bibliotecas para um desenvolvedor escrever aplicativos para um determinado tipo de dispositivo. Temos como grande exemplo de perfil o MIDP (Mobile Information Device Profile – Perfil de Dispositivo de Informação Móvel).

 

O MIDP define APIs para componentes, entrada e tratamento de eventos de interface com o usuário, armazenamento persistente, interligação em rede e cronômetros, levando em conta as limitações da tela e memória dos dispositivos.

 

MIDP – Mobile Information Device Profile

Atualmente o MIDP se encontra na versão 2.0, tendo as seguintes exigências de hardware:

Os aplicativos desenvolvidos na edição J2SE, funcionarão na edição J2ME, claro que com restrições devido à configuração do aparelho. O contrário também é válido, ou seja, os aplicativos desenvolvidos na edição J2ME também têm compatibilidade com a edição J2SE.

 

É importante salientar também que, tanto as Configurações quanto os Perfis são definidos por grupos de trabalho do setor de código-fonte aberto utilizando o Java Community Process Program da Sun. Desta maneira, as empresas podem decidir quais elementos são necessários para fornecer uma solução completa, destinada ao seu respectivo setor.

 

Máquina Virtual do JME – KVM

A JVM (Java Virtual Machine, Máquina Virtual Java) está por trás de todo aplicativo Java. Ela é responsável por transformar os arquivos de classe (mais precisamente, o código de byte nos arquivos de classe) no código de máquina para a plataforma que está executando a JVM.

 

A JVM é também conhecida como sandbox (caixa de areia), pois todo o aplicativo é executado em cima dela.

 

A respeito da CDC, a JVM tem a mesma especificação do J2SE, porém na configuração CLDC, a Sun desenvolveu o que é chamado de implementação de referência de uma máquina virtual, conhecida como KVM (Kilobyte Virtual Machine). Ela foi desenvolvida em C para facilitar a sua portabilidade e para atender as necessidades especiais dos dispositivos de recurso restrito, sendo assim bem mais enxuta que a JVM.

 

A KVM foi projetada para ser a menor e a mais eficiente possível, permanecendo ainda rápida para as necessidades da linguagem Java. Com a memória sendo normalmente um recurso precioso em dispositivos pequenos de processamento limitado, a base de tempo de execução é de, aproximadamente, apenas 60 kilobytes. A origem da letra “K” no nome se deve ao fato da KVM ser executada em apenas algumas dezenas de kilobytes de memória.

 

Logo abaixo podemos ver um exemplo da arquitetura do JME em um dispositivo.

 

Arquitetura do perfil MID


Conclusão

Neste primeiro artigo, tratamos resumidamente sobre a composição do J2ME, mostrando as peculiaridades de sua arquitetura e suas principais características.

 

Espero ter deixado claro o funcionamento de toda estrutura, porém para quem quiser estudar um pouco mais os conceitos acima, aconselho o próprio site da Sun, podendo ser encontrado lá as especificações sobre os tópicos aqui citados.

 

Sun – J2ME: http://java.sun.com/javame/index.jsp

 

Um grande abraço e até a próxima.

 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados