Iniciando JAVA

Você esta navegando pela Internet quando entra em uma página e vê uma mensagem Iniciando Java e logo pensa: vai demorar. Você fica olhando a luz do seu disco acendendo e espera. Espera que a demora seja justificada pelo conteúdo da página. Se for uma página de seu banco, onde você pode pagar contas, fazer transferências e consultar o saldo sem sair de casa, ou do trabalho e sem ficar uma hora na fila, certamente terá valido a pena. Isto é Java. Não é perfeita, mas é muito boa. Mas o que é esta linguagem de programação que está tomando conta da Internet? Como ela começou, como ela funciona e o que se pode esperar dela no futuro? E mais: o que esta linguagem pode fazer pelo Geo?

Hoje, para se fazer um programa, é preciso saber em qual sistema operacional ele vai funcionar. Isto significa que um programa que funciona bem em Windows 95 pode não ser o mesmo em MacOS e nem existir em Unix. O mundo da computação está cada vez mais heterogêneo. São máquinas de diversos tipos com diferentes sistemas operacionais. É muito difícil fazer um programa que seja o mesmo em termos de aparência, funcionalidade e qualidade em mais de uma plataforma.

Acrescente-se a isto que hoje também o computador está presente em lugares em que a gente não vê. Você certamente já ouvir falar em telefonia celular digital ou TV digital. Este digital significa que o que esta sendo transmitido são dígitos, 0 e 1, e não mais sinais analógicos. É isto, então: Java pretende ser a linguagem do futuro, começando agora. A linguagem do seu próximo sistema operacional, do seu telefone celular e até da sua geladeira. Não se assuste se daqui a alguns anos você puder verificar do escritório, usando seu computador, o que tem na geladeira ou no freezer, programar para descongelar na hora certa, mandar uma mensagem para o celular de sua esposa avisando que vai chegar atrasado, saber o que seu filho está vendo na TV, tudo isto usando menus e o mouse exatamente como você faz hoje usando Netscape ou o Word. Bem, é a isto que se propõe a linguagem Java.

Vamos ver em seguida como funciona. Primeiro temos de saber o que é um sistema operacional. Ele é um programa que é o intermediário entre o mundo exterior e a máquina física, os circuitos eletrônicos, o hardware. Atividades como gravar um arquivo em disco, imprimir um relatório ou jogar um joguinho são executadas em última instancia pela máquina. Entre apertar um botão PLAY em um programa e ouvir uma musica em CD-ROM no seu computador existe uma série de programas. Ou seja, existem vários intermediários entre sua ordem (PLAY) e o resultado (o som da musica).

A proposta de Java é inserir mais um nível nesta pilha: a máquina virtual Java. Este nível fica entre os programas e o sistema operacional. A máquina virtual Java é como se fosse um computador dentro do computador. O programa é escrito em Java, para ser executado nesta máquina virtual. A entrada para esta máquina é sempre igual e a saída é que é diferente para cada sistema operacional. Ou seja, existem várias máquinas virtuais Java, uma para cada sistema operacional. Mas do ponto de vista do programador só existe uma máquina virtual Java. Assim, um programa escrito em Java pode ser executado em qualquer sistema que possua uma máquina virtual Java, sem nenhuma modificação. Esteja esta máquina virtual Java em um computador Pentium II ou em uma geladeira (digital).

Como Java tomou conta da Internet e porque existem tantas páginas hoje usando Java? Primeiro é preciso dizer que Java não foi criada para a Internet. O objetivo de sua criação como já dissemos foi possibilitar a portabilidade de programas para diversas plataformas. Mas como a segurança característica dessa linguagem (através de sua possibilidade de executar programas de origem desconhecida sem prejudicar o usuário final) acabou servindo muito bem à Internet. Além disto, sua facilidade de programação, capacidade de gerar interfaces de usuário altamente gráficas e interativas e menor carga de processamento nos servidores, já que o processamento é feito na máquina do usuário, levaram a linguagem a ser bastante usada na programação de páginas Internet, especialmente as que oferecem serviços. Foi baseado nisto que os principais navegadores da Internet, como o Netscape e o Microsoft Explorer, incorporaram dentro de si máquinas virtuais Java que permitem que você veja e use paginas com conteúdo Java.

Com relação ao desempenho, pode-se esperar uma melhora na performance das futuras gerações de máquinas. As pessoas com máquinas mais novas e com bastante memória praticamente não percebem a mensagem iniciando Java que pode ser às vezes mais rápida que o tráfego.

Como conclusão consideramos que o uso de Java como linguagem de programação na Internet deve continuar e tem evoluído cada vez mais. De páginas que fazem bonecos dançar para páginas que prestam serviços com interface e processamento altamente sofisticados.

Com relação ao Geo, a incorporação de Java pelos navegadores permite uma nova era para o uso das geotecnologias na Internet. Embora os antigos navegadores tenham demonstrado a possibilidade de se localizar e recuperar informações geográficas armazenadas em servidores Web, sua interface gráfica deixou a desejar em termos de sofisticação. Demora de recebimento de informações e a limitação das ações disponíveis nos documentos escritos em HyperTextMarkupLanguage (HTML) impediram um uso mais confortável destes navegadores. Os navegadores habilitados para Java conseguem superar estas limitações provendo capacidade de processamento local para detecção e resposta a eventos gerados por mouse ou teclado. A linguagem Java traz de volta à máquina local a responsabilidade pelo processamento dos menus e interfaces, liberando o usuário dos constrangimentos da conexão de rede com o servidor Web. Java também permite a criação de programas com interfaces altamente interativas facilitando a vida do usuario de geotecnologias.

Frederico Fonseca é engenheiro mecânico, tecnólogo em Processamento de Dados e mestre em Administração Pública. Participa da equipe de geoprocessamento da Prodabel, responsável pela implantação do GIS da Prefeitura de Belo Horizonte. Atualmente cursa doutorado na Universidade do Maine. email: fred@spatial.maine.edu