Clique aqui para ler esse artigo em PDF.
Revisando o MIDP 2.0
Prepare-se para o novo padrão
O sucesso da tecnologia J2ME é inquestionável; hoje, ela já está presente em milhões de dispositivos e impulsiona o crescente mercado de desenvolvimento wireless – de jogos a aplicativos móveis que se conectam a sistemas corporativos.
A versão 1.0 do MIDP (Mobile Information Device Profile), uma das principais partes do J2ME, inclui uma série de APIs simples focadas em conectividade, interfaces gráficas, gerenciamento do ciclo de vida e persistência. Mas a simplicidade do MIDP 1.0, embora tenha facilitado o desenvolvimento de aplicações móveis independentes de plataforma, acabou por revelar-se como um dos seus principais pontos falhos. As lacunas deixadas pela primeira versão tiveram de ser supridas pelos fabricantes através de bibliotecas proprietárias voltadas a aparelhos específicos (dando margem à criação de aplicações por alguns jocosamente chamadas de “MIDP 1.5”).
Para evitar o surgimento de uma “Torre de Babel J2ME”, uma nova especificação tornava-se necessária. Por essa e outras razões, nasceu o MIDP 2.0 (JSR-118).
Mais que MIDP
A necessidade de extensões proprietárias não é o único problema do MIDP 1.0. Mesmo sem a utilização de APIs de extensão, não é raro ver uma aplicação MIDP 1.0 que funciona em um grupo de dispositivos mas não em outro, ou que funciona de forma muito diferente em plataformas distintas.
Estas disparidades devem-se à ausência de uma especificação quanto à plataforma de execução. Detalhes como tamanho máximo dos MIDlets ou utilização de threads, por exemplo, são implementados de forma diferente em cada grupo de dispositivos. Outras funcionalidades críticas, como segurança e provisionamento (download e instalação de MIDlets) também foram omitidas na primeira versão do MIDP.
Omissões como essas foram claramente especificadas no JSR-185: JTWI (Java Technology for the Wireless Industry). Dessa maneira, o MIDP 2.0 é o conjunto de APIs por trás de toda uma nova plataforma de aplicações wireless.
Conectividade
A especificação MIDP 1.0 requeria que os dispositivos compatíveis implementassem apenas conectividade utilizando HTTP; outros protocolos poderiam ou não ser implementados a gosto do fabricante. O MIDP 2.0 adiciona a exigência de implementação de HTTPS (HTTP sobre SSL), possibilitando o desenvolvimento de aplicações que não podem prescindir de segurança na comunicação, tais como soluções financeiras ou de m-commerce.
Entre as novidades do MIDP 2.0 para o trabalho com conexões seguras, estão as interfaces javax.microedition.io.HttpsConnection e javax.microedition.io.SecurityInfo (para gerenciamento de informações de conexão, tais como nome do protocolo e certificados em uso) e a classe javax.microedition.pki.Certificate (que representa um certificado de criptografia)." [...] continue lendo...