al>p>
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.
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.
Segundo a especificação HTTP 1.1, o pedido de um cliente também pode ser chamado de Entidade de Pedido. Esse pedido que será enviado pela rede é composto de três partes: método do pedido, cabeçalho e corpo, sendo abordado abaixo apenas o primeiro.
A resposta do servidor, também chamada de Entidade de Resposta, possui três seções: linha de status, cabeçalho e corpo. A linha de status é o resultado do pedido do cliente. Os valores de retorno estão nessas faixas: ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.