Artigo no estilo: Curso

De que se trata o artigo:

Este artigo apresenta a conectividade entre um aplicativo Java ME e os principais servidores de dados existentes na Internet (aplicações servlet e webservice) considerando uma forma alternativa de acesso a estes serviços, sem a necessidade de configurações e a codificação de centenas de linhas de código.


Em que situação o tema é útil:

Este artigo é útil para usuários leigos e experientes que desejam utilizar o máximo de recursos existentes nas IDEs de desenvolvimento livres, permitindo a rápida codificação de rotinas complexas, como as rotinas apresentadas de comunicação entre aparelho celular e servidores web utilizando servlets e webservices.

Resumo DevMan:

Este artigo apresenta a utilização dos recursos de conectividade existentes na ferramenta Mobility Pack do Netbeans, sendo utilizados recursos para o desenvolvimento dos servidores, assim como para a conectividade com eles. Durante todo o artigo, foram utilizadas técnicas que aumentam a produtividade no desenvolvimento, sendo estas efetuadas através de clicar e arrastar na interface visual, wizards, geração automática de códigos ou execução dos aplicativos via IDE, o que traz um aumento significativo na produtividade, assim como na redução de erros, já que grande parte do código é gerado automaticamente pela IDE.

Autores: Robison Cris Brito e Ricardo Ogliari

O desenvolvimento de aplicações para celular utilizando o Java ME não é uma tarefa tão complicada. Porém, ainda esbarramos em um grande problema: na capacidade limitada de processamento e de armazenamento de informações. Uma alternativa viável é a utilização de servidores remotos para processar informações e armazenar dados em um repositório central, facilitando o acesso a informações que poderão ser feitos por outros mecanismos.

Celulares e outros dispositivos móveis costumam fazer acesso a dados remotamente utilizando conexões OTA (Over the Air). Esta tecnologia ainda é bastante deficiente, principalmente no que diz respeito à velocidade. Usuários que estão acostumados com conexões rápidas podem ficar entediados pela demora no tráfego de alguns KB. Além do mais, estas conexões podem ser pouco confiáveis e intermitentes.

Entretanto, as empresas operadoras de telefonia móvel no Brasil estão em constante evolução, e já disponibilizam serviços em que é possível trafegar cada vez mais informações em conexões ininterruptas, pagando cada vez menos por este serviço, e ainda oferecendo uma maior abrangência territorial no país.

O MIDP (Ver Nota DevMan 1) possui mecanismos genéricos para acesso à rede. Na MIDP 1.0, a conexão pode ser feita apenas por HTTP, outros protocolos poderiam ser utilizados de acordo com cada fabricante de celular. Já no MIDP 2.0, existem outras maneiras de estabelecer conexão, incluindo o HTTPS (HTTP sobre SSL), COMM (conexão serial) e Socket (permite conexão entre cliente e servidor baseado em fluxo ou pacote).

Nota DevMan 1. MIDP

Uma aplicação para celular que utiliza o Java ME possui divisões que representam as características físicas e lógicas do aparelho que suporta este tipo de aplicação. Assim, no que diz respeito às características físicas, temos o CLDC (Connected Limited Device Configuration) e CDC (Connected Device Configuration), sendo que o primeiro representa os dispositivos limitados, abrangendo inclusive os aparelhos celulares, e o segundo é para aparelhos pequenos, porém, não tão limitados, como set top box de TV, alguns PDA, entre outros.

Já referente às características lógicas temos o MIDP (Mobile Information Device Profile), que representa as características de software, como, por exemplo, os componentes visuais, protocolos que podem ser utilizados para acessar a rede (socket, http, sms, etc.), assim como o controle do ciclo de vida da aplicação.

Na sua maioria, os aplicativos para aparelhos celulares utilizam a configuração CLDC e o perfil MIDP, sendo assim, uma aplicação usando Java comumente é chamado de MIDlet.

Entretanto, independente do protocolo escolhido para comunicação, o processo de codificação dessas rotinas costumam envolver procedimentos de baixo nível, como a leitura byte a byte dos dados recebidos, utilização de fluxos (classe InputStream para leitura e OutputStream para envio dos dados), além de um bom conhecimento sobre o protocolo utilizado, como HTTP (protocolo conhecido por ser stateless, ou seja, a cada comunicação o servidor “esquece” quem foi o cliente), socket TCP (já este protocolo é baseado em conexão, assim, após definir a conexão, os dados podem ser enviados/recebidos a qualquer momento), entre outros.

Para facilitar a codificação destas rotinas de comunicação, o framework Mobility Pack, disponível no ambiente de desenvolvimento Netbeans, possui recursos que agilizam o processo de codificação, onde as características de comunicação, como servidor, nome do serviço, entre outros, é feito de forma visual, em telas semelhantes a wizards.

Desta forma, será apresentada neste artigo a comunicação utilizando o protocolo HTTP e também WebService (ver Nota DevMan 2), mostrando os procedimentos de codificação tanto do aplicativo servidor, quanto o seu acesso a partir do cliente, utilizando sempre os recursos que aumentam a produtividade no desenvolvimento.

Nota DevMan 2. WebService

WebService, também conhecido popularmente por serviço web, é uma maneira de disponibilizar na Internet serviços através de um padrão aberto. Dessa forma, qualquer cliente de rede pode acessar recursos de webservice como, por exemplo, cotação do dólar ou a previsão do tempo, sendo muito comumente utilizado para acessar dados extramente dinâmicos.

...
Quer ler esse conteúdo completo? Tenha acesso completo