CAPÍTULO 1 INTRODUÇÃO Um dos maiores desafios científicos e tecnológicos no uso de geoinformação é o acesso e disseminação de informação espacial em larga escala. A Internet com seus recursos de programas cada vez mais sofisticados tem se tornado um meio com grande potencial para disseminação de dados geográficos. Devido ao alto custo de produção dos dados geográficos, essa disseminação é de grande importância para os seus diversos usuários tais como: órgãos ambientais de planejamento e fiscalização; estudantes; cientistas; empresas com propósitos de determinar melhores rotas para distribuição de seus produtos; e até mesmo turistas procurando se localizar em uma cidade desconhecida ou planejar uma viagem. Ainda não se pode perceber um grande número de instituições disseminando dados geográficos além de suas fronteiras. Isto se deve em parte a problemas técnicos, parte a problemas de organização, e parte devido a natureza peculiar dos dados geográficos, complexos em estrutura e interpretação, ricos em inter-relacionamentos significativos, e difíceis de serem entendidos ou utilizados sem ferramentas de propósitos especiais (Evans,1996). Com base nesta motivação, este trabalho propõe uma solução baseada no modelo cliente-servidor e na tecnologia JAVA (Goslin,1998) para disseminação de dados geográficos na Internet. Desenvolvemos um protótipo utilizando esta tecnologia e efetuamos medidas de desempenho para determinar a viabilidade de sua utilização de maneira ampla. 1
1.1 OBJETIVO O objetivo do trabalho é realizar uma avaliação de performance da tecnologia JAVA, utilizando uma configuração cliente-servidor, para disseminação de dados geográficos. O trabalho apresenta uma proposta de arquitetura cliente-servidor para disseminar dados geográficos utilizando um modelo conceitual baseado no SPRING (Câmara et al,1996) e a representação destes dados no formato OpenGis (2000). A utilização do modelo conceitual permite a organização e apresentação dos dados de forma hierárquica. O esquema do banco de dados geográfico converte-se numa forma natural de apresentar metadados para o usuário. Desta forma conhecendo o modelo conceitual e o esquema do banco de dados geográfico o usuário tem mais facilidades para selecionar os dados de seu interesse. A arquitetura proposta possui três camadas: cliente, servidor e banco de dados geográfico. A camada do cliente, tem como função principal fornecer as interfaces para interação com o usuário tais como diálogos e apresentações de mapas. A camada do servidor recebe as requisições do cliente e se incumbe de processá-las, interagindo com o banco de dados geográficos. O banco de dados geográficos está contido em um sistema gerenciador de bancos de dados relacionais. Projetamos e desenvolvemos um protótipo da arquitetura proposta que permitiu efetuar medidas de tempo para envio de requisições do cliente ao servidor, acesso ao banco de dados para recuperação de atributos, acesso ao banco de dados para recuperação de representações de dados geográficos, montagem de lista de elementos a ser enviada ao cliente e tempo de transferência de dados geográficos entre cliente e servidor. A realização destas medidas permitiu a obtenção de parâmetros que podem ser utilizados para verificação da viabilidade da utilização desta tecnologia para disseminação de dados geográficos em larga escala. 2
1.2 CONTEXTO As arquiteturas disponíveis para publicação de dados geográficos na Internet se enquadram em três grandes classes: - Servidores Remotos de Mapas, que, respondendo a pedidos remotos, enviam uma imagem (matriz) de tamanho fixo geralmente em formato GIF ou JPEG. Esta solução permite configurar o servidor para responder a diferentes tipos de consulta, sem requerer que todos os dados a serem transmitidos sejam pré computados. Entretanto, o usuário consegue visualizar apenas as imagens enviadas; qualquer novo pedido é enviado de volta ao servidor, resultando em mais uma transferência pela Internet. Dependendo da velocidade de acesso, esta estratégia pode resultar em longos e sucessivos períodos de espera. Como exemplo temos o Internet Map Server da ESRI (ESRI,2000). - Clientes de Apresentação, que adotaram como solução a transmissão de todos os dados no formato vetorial para a máquina do cliente, com posterior visualização local. Os dados estão em formatos gráficos que podem ser apresentados utilizando programas adicionais acoplados aos navegadores ou de applets JAVA. Esta estratégia permite uma maior flexibilidade do lado do cliente, que pode realizar operações locais de visualização e consulta sobre os dados transferidos. O tempo de acesso inicial para transferência de todos os dados pode ser longo, mas muitas das operações posteriores serão realizadas localmente, o que resulta usualmente em um tempo de resposta médio melhor. Exemplos são os produtos Geomedia Web Map da INTERGRAPH (INTERGRAPH,2000), Map Guide da AUTODESK (Autodesk,2000) e SpringWeb do INPE (Freitas,1997). 3
- Cliente-Servidor de Dados Geográficos, que possuem programas no lado do cliente e do servidor que se comunicam. Estas arquiteturas tentam realizar um balanceamento entre as atividades que são realizadas no cliente e no servidor e permitem uma comunicação mais inteligente entre ambos. Desta forma é possível aproveitar melhor os recursos disponíveis em ambos os lados permitindo uma maior interatividade no cliente e uma distribuição mais adequada dos processamentos a serem efetuados entre o cliente e o servidor. Um exemplo desta arquitetura é o sistema comercial desenvolvido pela PGS (2000) ( Profissional Geo Systems ) que tem um visualizador de dados geográficos denominado Lava GIS Browser desenvolvido totalmente em JAVA. No lado do servidor a PGS oferece o Magma Geodata Publisher que é capaz de conectar um servidor de HTTP com vários repositórios de dados geográficos. A arquitetura proposta é do tipo cliente-servidor. A implementação da arquitetura está baseada em tecnologia JAVA, com um programa sendo executado no ambiente cliente denominado genericamente applet e outro executado no ambiente do servidor que é denominado servlet. As expressõess de consulta geradas pela interface serão préprocessadas pelo programa cliente e enviadas ao programa servidor, apenas se necessário. O cliente tem conhecimento dos dados que estão armazenados localmente e antes de solicitar novos dados ao servidor, verifica se estes já estão disponíveis, evitando assim transmissões desnecessárias. 4
1.3 CONTRIBUIÇÃO DO TRABALHO A principal contribuição deste trabalho é avaliar a performance obtida para implementações do tipo cliente-servidor utilizando e a tecnologia JAVA, em conjunto com um modelo conceitual, para disseminação de dados geográficos através da Internet. Outra contribuição é a utilização do formato de dados espaciais definido pelo padrão OpenGis (2000 A ). Como a proposta deste formato é bastante recente, é importante avaliar a viabilidade de seu uso em aplicações de disseminação de dados na Internet. 1.4 ORGANIZAÇÃO DA DISSERTAÇÃO O Capítulo 2, apresenta uma revisão da bibliografia para arquiteturas de disseminação de dados geográficos. O Capítulo 3, apresenta a arquitetura proposta para este trabalho. O Capítulo 4, apresenta as medidas de tempo efetuadas para diversas situações de interação entre o cliente e o servidor. O Capítulo 5, apresenta análises efetuadas sobre as medidas de tempo e desmpenho. O Capítulo 6, apresenta as conclusões do trabalho. 5