que aqui para ler esse artigo em PDF.imagem_pdf.jpg

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(

...

Quer ler esse conteúdo completo? Tenha acesso completo