Artigo Webmobile 8- Conectividade com J2ME

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)

Envie e receba dados do seu celular utilizando http, https, datagrama, socket e SMS.

Esse artigo faz parte da revista WebMobile Edição 08. Clique aqui para ler todos os artigos desta edição

wm08_capa.JPG

Conectividade com J2ME

Envie e receba dados do seu celular utilizando http, https, datagrama, socket e SMS

 Nos últimos anos, percebemos que um dos negócios que obteve grande crescimento e está em constante progresso é a telefonia móvel. Somente no Brasil, o número de usuários já supera a marca de 67 milhões, isso significa um crescimento de 40% em relação ao ano de 2004. Além do mais, se levarmos em consideração países como a China, que possui cerca de 329 milhões de usuários, esses números significam um mercado lucrativo e um investimento promissor.

Nesse contexto, várias tecnologias surgiram visando o desenvolvimento de aplicações para dispositivos com recursos limitados, por exemplo: WML/WMLScript, BREW e .Net Mobile. Mas uma tecnologia que ganhou muito espaço com a “explosão” do consumo de dispositivos móveis foi o Java 2 Micro Edition.

O objetivo desse artigo é descrever uma visão geral sobre as principais tecnologias de conectividade e realizar uma comparação entre elas. Para isso, serão estudadas as tecnologias de comunicação mais conhecidas do Java 2 Micro Edition – MIDP 2.0:

·         HTTP (Hypertext Transfer Protocol): protocolo de transferência de dados construído sobre o protocolo TCP/IP utilizado na web;

·         HTTPS: HTTP sobre a camada de sockets seguros (SSL);

·         Datagrama: conexão que utiliza o protocolo UDP e não tem garantia de entrega de pacote;

·         Socket: canal de comunicação entre dois programas na rede;

·         SMS (Short Message Service): mensagem em forma binária ou de texto enviado pela rede.

Arquitetura de uma aplicação

Visto que o celular possui recursos limitados, uma forma de lidar com o pequeno poder de processamento e a memória limitada dos dispositivos é acessando recursos disponibilizados remotamente. Em servidores, por exemplo, poderia ser concentrada a camada de negócios de um sistema, disponibilizando para um dispositivo móvel apenas as interfaces e consistências físicas dos dados. Nessa situação, o celular seria um cliente que acessa serviços remotos via conexão sem fio. O servidor pode ser qualquer PC, desde que possua um IP real.

Também é possível conectar a outros dispositivos que possuem identificação única na rede, por exemplo, outros aparelhos celulares. A Figura 1 exemplifica o processo de comunicação celular/servidor via protocolo http, onde o aplicativo instalado no celular (midlet) se comunica com uma aplicação web feita em Java (servlet).

Figura 1. Diagrama contendo o fluxo de informação entre o aplicativo celular e o servidor.

Panorama das conexões em J2ME

A edição de Java para desktop, conhecida como J2SE (Java 2 Standard Edition), fornece um conjunto de pacotes para implementação de comunicação muito vasta, sendo mais de 100 classes e interfaces nos pacotes java.io e java.net.

Considerando todos os recursos de memórias e processamento que essa estrutura de protocolos de rede exige, seria inviável uma aplicação em dispositivos com recursos limitados acessar a rede. Pensando nesses aspectos, foi desenvolvido o GCF (Generic Connection Framework, em português, estrutura de conexão genérica). O GCF tem como objetivo adequar os recursos oferecidos pelo J2SE para aplicações que implementam o Java 2 Micro Edition, como os aparelhos celulares que suportam Java, obedecendo às limitações que esses dispositivos apresentam.

A base do GCF concentra-se na classe Connector, que é capaz de criar vários tipos de conexão. Para abrir uma conexão utiliza-se o código da Listagem 1.

Listagem 1. Estabelecendo conexões com o GCF. 

01.    Connector.Open("protocolo:endereço;parâmetros");

02.    //Exemplos

03.    Connector.Open("http://www.pb.cefetpr.br");//ou

04.          Connector.Open("socket://localhost:1234");//ou

05.   Connector.Open("sms://+99718946:1234");

 

Quando o método Connector.Open() é executado, a classe Connector inicia uma busca para encontrar uma classe apropriada para implementar o protocolo requisitado. Esse processo é feito através da operação Class.forName(), implícito no código acima.

O MIDP 1.0 exigia apenas que os dispositivos utilizassem a conexão http, a implementação dos outros protocolos ficava a critério dos fabricantes de celular e era fornecida separadamente, através de APIs adicionais. O MIDP 2.0 adiciona como padrão o HTTPS (HTTP sobre SSL) que oferece maior segurança na comunicação (como em aplicações de transação financeira ou de m-commerce (ler Nota 1)). Além do suporte ao HTTPS, a especificação do MIDP 2.0 tratou de conexão como datagramas, SMS e socket.

 

Nota 1. O que é m-commerce?

m-commerce é o termo usado para a compra e venda de bens e serviços através de dispositivos portáteis sem fio (wireless) como telefones celulares e PDA's. Serviços como compra de ingressos para filme e entradas para teatro já estão disponíveis seguindo essa política.

Utilizando o protocolo HTTP

No MIDP, o protocolo http é implementado pela classe HttpConnection, podendo comunicar-se com um servidor web ou outro dispositivo que suporte http. Esse protocolo faz uso da abordagem de pedido/resposta, ou seja, o cliente inicia um pedido para o servidor através de um endereço contido em uma URL, a tarefa do servidor é responder a essa requisição."

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?