Computação Móvel
Com o crescimento do uso de computadores portáteis e de redes sem fio, surgiu a necessidade de desenvolver aplicativos e soluções específicas que pudessem atender a demanda desta área. Esta tendência ficou conhecida como Computação Móvel.

A Computação Móvel apresenta muitas aplicações interessantes nas áreas de negócios, comércio eletrônico, telecomunicação, entretenimento, situações de emergência, medicina, entre outras. O usuário tem mobilidade, isto é, não precisa manter-se numa posição fixa e as redes sem fio possibilitam a comunicação destes usuários com sistemas de software ou outros usuários.

A aplicação da computação móvel já faz parte de nosso dia-a-dia. O número de equipamentos no mundo conectados a redes sem fio já tinha chegado a 700 milhões em 2001 e hoje em dia deve ultrapassar 1 bilhão[eRV00]. Os gráficos abaixo mostram o cenário da computação móvel atualmente.



Isto se explica pelas vantagens que o serviço oferece: acesso da informação de qualquer lugar e a qualquer hora, iteração em qualquer lugar e em movimento, menor custo de infra-estrutura, a queda do custo de equipamentos móveis e aumento da capacidade dos mesmos.

A versatilidade de comunicação também é um dos motivos do crescimento desta área. Usuários podem comunicar-se com muito mais flexibilidade do que com celulares e pagers. [tcmc]
A combinação entre redes de comunicação e dispositivos móveis será capaz de gerar produtos e serviços como softwares colaborativos para suportar encontros virtuais e adaptação de luz e aquecimento de acordo com o gosto das pessoas presentes. [tcmc]

Mas para usufruir destes serviços e dos benefícios da computação móvel, os usuários não precisam utilizar necessariamente interfaces sem fio. É possível conectar-se a redes fixas existentes no local onde se está, utilizando a interface com fio.

Na área de telemedicina já existem várias aplicações desenvolvidas com base na computação móvel. Um exemplo de aplicação é a versão para PDA do Treatment Guidelines [tre]. Este software possibilita o acesso de especialistas clínicos a uma lista de doenças comuns e às drogas recomendadas para seu tratamento.

A computação móvel apresenta uma série de novas possibilidades. Na área de saúde, a mobilidade e a flexibilidade tem efeito direto na qualidade do atendimento ao paciente. Médicos em pronto-socorros ou em atendimento de urgência (fora do hospital e clínicas) podem ter acesso a informações do paciente e a histórico de saúde (se é diabético, sofre de doenças do coração, sofreu transplantes, etc.). Assim, será possível realizar um atendimento mais eficiente evitando complicações futuras.

Mas não há só benefícios na computação móvel, há problemas também. Entre eles, a heterogeneidade das tecnologias sem fio, a segurança e a instabilidade das conexões de rede.

Segundo M. Satyanarayanan [fcmc] , atualmente a computação móvel é caracterizada por 4 obstáculos:
  • Elementos móveis são pobres em recursos comparados aos elementos estaticos.
    Isto porque o tamanho e o peso acabam penalizando recursos computacionais como velocidade de processamento e capacidade de disco;


  • Mobilidade é inerentemente mais perigosa.
    A possibilidade de que seu equipamento seja roubado ou danificado é maior do que sua estação de trabalho.


  • A conexão móvel é variável em performance e confiabilidade.
    Dependendo do lugar onde se está, uma frequência diferente de banda (bandwidth) é oferecida. Isto reflete a heterogeneidade e a instabilidade das conexões de rede.


  • Dispositivos móveis tem energia finita
    As baterias precisam ser carregadas frequentemente.


Tudo isto dificulta o desenvolvimento e manutenção de aplicações robustas para dispositivos móveis.

Há diversas iniciativas para tornar o desenvolvimento de aplicações para equipamentos móveis mais simples e acessível a desenvolvedores. A pesquisa e o desenvolvimento de dispositivos com maior capacidade é uma delas.

Outra iniciativa importante é a tentativa de tornar os dispositivos mais homogêneos. Uma delas é o J2ME. O J2ME (Java 2 Platform Micro Edition) [Muc02], fornece um ambiente flexível para aplicações para dispositivos móveis tais como telefones celulares e PDAs. Assim como o J2SE (Java 2 Platform Standard Edition), o J2ME inclui a máquina virtual e um conjunto de APIs desenvolvidas pelo JCP (Java Community Process).

A arquitetura do J2ME foi projetada de forma a atender a maioria dos dispositivos do mercado. Além de utilizar as configurações existentes, é possível adicionar classes para domínios específicos e funcionalidades específicas em dispositivos específicos.