JNC MOBILE - Sistema de acesso remoto para dispositivos móveis
Andrei Luciano Krause e Rafael Augusto da Silva
Com a popularização dos dispositivos móveis, um novo paradigma de
serviços foi criado. Assim, para atender e suportar estes serviços os dispositivos
móveis, que têm na forma dos telefones celulares seus mais evidentes
representantes, sofreram transformações para poder corresponder aos anseios
gerados por estes novos serviços. Uma maneira de oferecer poder computacional
e proporcionar acesso a serviços exclusivos das estações de trabalho é o acesso
remoto via dispositivos móveis a estações de trabalho. Com o poder de mobilidade
e conectividade dos dispositivos móveis, aliados a inovadora tecnologia J2ME da
Sun, esta pesquisa visa apresentar uma solução capaz de conectar remotamente
uma estação de trabalho a um aparelho móvel.
Como os dispositivos móveis atuais não proporcionam poder computacional
equiparado às estações de trabalho, e a facilidade de mobilidade e conectividade
proporcionada por aparelhos móveis é fato, a motivação desta pesquisa tem seu
alicerce em tentar unir o poder computacional das estações de trabalho, com a
facilidade de acesso a serviços dos dispositivos móveis. Para tal, é apresentado
como solução para este problema, o desenvolvimento de uma aplicação cliente –
servidor, onde um dispositivo móvel realiza uma conexão remota a uma estação
de trabalho.
Com o crescimento do número de dispositivos móveis no cotidiano da
sociedade, e do incremento de funcionalidades destes aparelhos, os anseios por
serviços mais robustos e específicos tornam-se necessários.
Um relevante serviço para profissionais da área de TI (Tecnologia e Informação)
seria a capacidade de gerenciarem remotamente diferentes dispositivos fixos,
como estações de trabalho a partir de seus celulares, PDAs (Personal Digital
Assistants), entre outros.
Assim, para esta pesquisa defini-se o seguinte questionamento: como
desenvolver um sistema de acesso remoto para dispositivos móveis possibilitando
o gerenciamento de estações de trabalho à distância?
Em decorrência dos anos 90, o mercado foi invadido por um volume
crescente de desenvolvimento em áreas de tecnologia celular móvel, redes sem
fios e comunicação via satélites. A evolução e popularização de dispositivos
móveis como celulares, notebooks, PDAs (Personal Digital Assistants),
dispositivos dedicados móveis (GPS Global Positional System), entre outros, torna
possível a determinação do seguinte conceito: “Computação móvel pode ser
representada como um novo paradigma computacional que permite que usuários
desse ambiente tenham acesso a serviços independentemente de sua localização,
podendo inclusive, estar em movimento.” De acordo com Mateus e Loureiro (1998
apud FIGUEIREDO; NAKAMURA, 2003, p.17) a computação móvel é denominada
a quarta revolução da computação, logo após o advento dos grandes centros de
processamento na década de sessenta, o surgimento dos terminais uma década
mais tarde, e as redes de computadores nos anos oitenta. Ampliando o conceito
de computação distribuída, graças a comunicação sem fio, que elimina a
necessidade do usuário estar conectado à uma infra-estrutura estática.
Para estar de acordo com a definição de computação móvel apresentada no
capítulo anterior, os dispositivos móveis devem possuir tamanho reduzido bem
como capacidade de trocar informações via rede, realizar processamento, ser de
fácil transporte e não fazer uso de cabos tanto para conectar-se à rede de dados
como a um suporte de energia.
Os dispositivos mais utilizados para o propósito de computação móvel são:
• Notebooks, Laptos, Palmtops;
• PDAs (Personal Digital Assistants);
• Celulares (Smartphones).
Segue abaixo um breve discurso sobre estes dispositivos.
São conhecidos também como handhelds (dispositivos de mão).
Basicamente J2ME é um termo que refere-se a uma coleção de APIs e
máquinas virtuais que tornam possível o uso de Java em dispositivos móveis. Com
o J2ME é possível levar ao mundo dos dispositivos móveis, os benefícios da
tecnologia Java, como flexibilidade na interface com o usuário, um modelo de
segurança eficaz, suporte a diferentes tipos de aplicações , entre outros.
A plataforma J2ME está presente na maioria dos dispositivos móveis atuais,
facilitando ao usuário a aquisição de novos serviços e mais inteligentes. Assim, a
plataforma J2ME segue como propenso padrão a ser adotado no desenvolvimento
de aplicações mobile.
O JNC Mobile, tem como proposta, apresentar um software cliente para
dispositivos móveis capaz de controlar remotamente uma estação de trabalho ou
outro dispositivo móvel, que esteja configurado com um servidor VNC e com um
servidor Bridge escrito em Java, que realizará a comunicação entre as aplicações
cliente e servidor VNC. O dispositivo móvel escolhido para a implementação e
testes do software foi um telefone celular. Desta forma também foi obtida uma
certa liberdade de como os dados devem chegar ao servidor VNC, possibilitando o
tratamento de requisições e desvios de controle por parte do servidor bridge. As
requisições recebidas pelo servidor bridge são passadas ao servidor VNC através
do Protocolo RFB (Remote Frame Buffer). Por sua vez, o servidor VNC retorna ao
bridge o status (imagem) do desktop, e este encarrega-se de transmitir a
informação ao dispositivo móvel.
O servidor bridge acumula além da responsabilidade de tradutor entre o
programa cliente e o servidor VNC, a função de compactação da imagem enviada
ao cliente.
A imagem fornecida pelo servidor – PC – é capturada pelo – Bridge – que
verifica as coordenadas que estão sendo requisitadas pelo dispositivo móvel e as
converte para que estas possam ser exibidas na tela. Por exemplo: o celular
envia, após efetuar conexão, comandos de zoom mais e comandos de mudança
de posição da tela, ao receber a requisição, o servidor Bridge captura a tela do
PC, “corta” a parte que o cliente requisitou e redimensiona para o tamanho da tela
do dispositivo móvel. Assim, conclui-se o processo cliente – servidor bridge –
servidor VNC.
Para o desenvolvimento desta aplicação foram criados dois aplicativos, um
servidor, que deve ser instalado na estação de trabalho a ser controlada
remotamente, e um cliente, instalado no dispositivo móvel.
O Programa servidor deve ser instalado na máquina que se deseja controlar
remotamente. Na seqüência é apresentada uma figura com as classes que
compõe a aplicação servidor.
O Programa cliente é o dispositivo que acessa remotamente o programa
servidor instalado na estação de trabalho alvo. A exemplo da aplicação servidor,
segue a listagem de classes do programa e suas descrições.
Trabalhos futuros podem ser:
a) Possibilitar o cadastro de tarefas automáticas no servidor Bridge: ao instalar o
servidor bridge na estação de trabalho a ser controlada remotamente, o usuário
poderá cadastrar tarefas junto a esta máquina que posteriormente poderão ser
executadas pela aplicação cliente disponível no dispositivo móvel.
b) Permitir a entrada de texto a partir do cliente: com esta funcionalidade o usuário
será capaz de digitar palavras utilizando-se do teclado de seu aparelho móvel.
Assim, torna-se possível a escrita de textos ou comandos no servidor, apenas
digitando as letras da mesma maneira que se faz com a escrita de mensagens em
aparelhos celulares.
Desta forma, o uso de um servidor bridge tornou-se indispensável.
c) Implementar um protocolo genérico para controle remoto: como trabalho mais
audacioso, os pesquisadores propõe a implementação de um protocolo para
controle remoto genérico.
O mercado de dispositivos móveis está crescendo vertiginosamente. Para
facilitar está transição, e dispor-se de maneira competitiva e atual, os
pesquisadores buscaram com êxito, conhecer e conceber soluções para
dispositivos móveis. Objetivos como identificar qual tecnologia empregar para
solução de problemas móveis, foram prontamente atendidos ao definir-se o uso da
tecnologia Java 2 ME. O uso de uma tecnologia nascida para realizar esta tarefa,
como é o caso do J2ME, e a utilização de ferramentas como o Wireless Toolkit da
Sun, e o Eclipse, somente não foram maiores facilitadores da pesquisa por conta
da incompatibilidade existente entre os aparelhos celulares. Entretanto,
infelizmente não havia a disposição para experimento neste trabalho um
dispositivo móvel provido desta funcionalidade. Vale lembrar que a
incompatibilidade existe até mesmo entre aparelhos do mesmo fabricante,
dificultando ainda mais a criação e difusão de soluções para dispositivos móveis
como celulares.
A implementação de um sistema para acesso remoto via dispositivos móveis
foi realizada com sucesso. É importante lembrar que a fluidez do uso da aplicação
é fortemente comprometido por limitações de acessibilidade impostas pelos
aparelhos celulares, dispõe-se apenas das teclas do aparelho, e o visor reduzido
também torna a visualização de um desktop completo um desafio. Mas como
caráter principalmente acadêmico que tem esta pesquisa, e com o alcance dos
objetivos almejados pelos pesquisadores, é com satisfação que se apresenta o
JNC Mobile como uma solução real para acesso remoto para dispositivos móveis.
Download

JNC MOBILE - Sistema de acesso remoto para dispositivos móveis