Artigo Java Magazine 06 - Java de Bolso

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo publicado pela Java Magazine 06.

Esse artigo faz parte da revista Java Magazine edição 06. Clique aqui para ler todos os artigos desta edição

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:

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?