que aqui para ler esse artigo em PDF.
Java de Bolso
Conectividade com MIDP
Interoperabilidade com serviços externos
Integração de aplicações J2ME/MIDP com serviços de rede através do Generic Connection Framework
Um recurso crítico para aplicações MIDP é a comunicação com serviços residentes em servidores. Neste artigo, serão mostrados os recursos de conectividade existentes no CLDC/MIDP usando o Generic Connection Framework (GCF) e as situações em que cada recurso se aplica, cobrindo protocolos e formatos de dados, além de boas práticas e técnicas de otimização.
MIDP e a internet
Aplicações para internet geralmente têm funcionalidades de pesquisa e envio de mensagens, interagindo com serviços localizados em outras máquinas. As mesmas funcionalidades também são importantes em aplicações para telefones celulares e outros dispositivos com suporte a J2ME. No meio wireless, isso envolve fatores como a escolha de protocolos de comunicação, formatos de dados, largura de banda e latência de rede.
A latência de rede é determinada pelo tempo transcorrido desde o início de uma transmissão a partir da origem até o início do seu recebimento pelo destino. Em alguns casos, como na comunicação via satélites, a latência pode ser maior do que o tempo gasto na transmissão da mensagem. Já a largura de banda pode ser definida como a quantidade de informação que pode ser transmitida em uma única conexão, já estabelecida, por unidade de tempo.
Para aplicações MIDP, a característica da rede mais importante é a baixa latência. Uma grande largura de banda é necessária apenas quando são transportados grandes volumes de dados, o que não é o caso para aplicações móveis, que devem poupar a bateria dos dispositivos e operar com restrições de memória e capacidade do processador. E mesmo que haja uma boa largura de banda mas uma alta latência de rede, o grande tempo de resposta pode se tornar inaceitável para o usuário.
É importante destacar que a rede de uma operadora de telefonia celular é bastante diferente de uma rede TCP/IP convencional (a que usamos normalmente para acessar a internet em casa e no trabalho). Na rede da operadora, os protocolos têm de ser implementados usando tecnologias de transmissão de dados usados por equipamentos sem fio, passando por satélites e antenas. Fatores como a cobertura de sinal, áreas de sombra, grandes taxas de erro e alta latência exigem tratamento diferenciado pelos protocolos de comunicação.
Em redes de telefonia celular, existem várias maneiras de realizar o tráfego de dados. As principais são: CSD (Circuit-Switched Data), GPRS (General Packet Radio Service), CDPD (Cellular Digital Packet Data) e HSCSD (High-Speed Circuit-Switched Data).
O Generic Connection Framework
O Generic Connection Framework (GCF) é a API J2ME padrão para conectividade. Oferece suporte a vários protocolos de comunicação, entre eles HTTP/HTTPS, TCP, UDP, serial, e infravermelho, sem no entanto se ater a implementações específicas.
O GCF reside no pacote javax.microedition.io. No MIDP 1, o framework inclui a classe Connector e nove interfaces: Connection, ContentConnection, Datagram, HttpConnection, DatagramConnection, OutputConnection, InputConnection, StreamConnectionNotifier e StreamConnection. Essas interfaces definem suporte para conexões seriais, datagramas (UDP), HTTP e TCP (cliente e servidor).
No MIDP 2 (lançado recentemente) são adicionadas mais uma classe e sete interfaces. As principais novidades em conectividade no novo MIDP são:
· Implementação obrigatória de HTTPS – todo dispositivo MIDP 2 deve ter suporte a HTTPS (no MIDP 1, isso era opcional). O GCF no MIDP 2 também disponibiliza suporte a conexões TLS, SSL e WAP/TLS (interface SecureConnection), além de suporte a certificados para a autenticação de conexões seguras (pacote javax.microedition.pki);
· Suporte à tecnologia push – pode-se registrar aplicações MIDP para responder a eventos de conectividade mesmo que a máquina virtual Java não esteja ativa; por exemplo, um MIDlet pode ser invocado ao receber uma notificação originada de uma URL registrada anteriormente;
· Suporte obrigatório a OTA (Over The Air) – pode-se realizar o download de aplicações MIDP (usando WAP) para o telefone através da rede wireless.
Veja a seguir alguns exemplos de conexões com o GCF.
HTTP:
HttpConnection c1 = (HttpConnection) Connector.open(
"http://www.jm.com.br?ed=5&imp=1");
TCP (Sockets):
StreamConnection c2 = (StreamConnection) Connector.open(
"socket://192.168.7.3:7070");
Serial:
InputConnection c3 = (InputConnection) Connector.open(
...