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.