Estratégias Cliente-Servidor para SIGWeb Cliente-Servidor Uma grande volume de processamento pode ser necessário. Em GIS, operações como procura, análise e apresentação são grandes consumidoras de recursos da máquina. Onde a carga deve ser posta? Somente no servidor? Algum processamento deve ficar com o cliente? Neste último caso, quanto? Quais as vantagens de cada um? Arquitetura Cliente-Servidor Pelo menos 2 computadores envolvidos: SERVIDOR: Aquele que centraliza dados e programa CLIENTE: Computador de usuário, conectado a um servidor. Se comunicam por meio de uma rede Local, WAN ou Internet Usam o protocolo TCP/IP Servidor Web Tipo de Servidor conectado à Internet e que executa um software servidor de Web (Por exemplo, Apache) Interação Cliente-Servidor Pedido Documento Usuário com navegador Web Servidor Web Cliente Servidor na Web Computador do Cliente Internet Computador do Servidor Pedido em URL Navegador Web Servidor Web HTML, Imagens... Arquivos do servidor Processamento no Servidor ou no Cliente? O modelo permite um balanceamento de carga É preciso analisar as vantagens e desvantagens de cada enfoque Vários fatores podem afetar a decisão: mercado, nível de conhecimento do usuário, hardware... Processamento no Servidor Servidor potente/ Cliente leve 3 fases: Servidor recebe o pedido Processa Devolve página com resultado final Processamento no Cliente Servidor leve/ Cliente potente Algum (não todo) processamento é executado no cliente, afim de obter o resultado final. Exemplo de processamento no Servidor Cliente Leve Internet Servidor Potente Pedido em URL Navegador Web HTML, Imagens... Servidor Web Dados SIG SIG Vantagens do processamento no Servidor Software único e centralizado Fácil manutenção Fácil atualização Controle de acesso simples Servidores potentes permitem: Capacidade de Análise SIG avançada Acesso a um volume de dados significativo e complexo Segurança e controle Desvantagens do Processamento no Servidor Tarefas com alta demanda do processador e grandes volumes de transferências de dados ocasionam: Aumento do tempo de resposta ou mesmo parada total de respostas. Poder de processamento do cliente não utilizado Volume de recursos para construir servidores potentes e desenvolver aplicações dedicadas Desvantagens do Processamento no Servidor (ii) Comunicação pela Internet e processamento no servidor para toda tarefa, mesmo as mais simples. Um simples zoom requer um pedido ao servidor, o mapa é gerado e a resposta é devolvida ao cliente -> Aumento do tráfego na rede. Exemplo de processamento no Cliente 1 Cliente Potente Applet Navegador Web (com script) Internet Servidor Leve Carregamento Pedido em URL Dados de SIG Servidor Web Dados SIG Exemplo de processamento no Cliente 2 Cliente Potente Internet Servidor Leve Pedido em URL Navegador Web Dados de SIG Servidor Web Carrega e Instala Plugin Dados SIG Navegadores Web Navegadores são “clientes leves”: Apenas exibem o dado A maior parte do processamento é feito no servidor Navegadores não possuem suporte a SIG Possuem suporte a javascript, plugin, flash... Vantagens do processamento no Cliente (i) Navegadores podem se tornar clientes poderosos Reduz carga no servidor, usando processamento no cliente Reduz tráfego na rede, trabalhando os dados localmente Vantagens do processamento no Cliente (ii) Usuário controla melhor suas tarefas (zoom, controle de camadas, análise de atributos) Permite a transferência de mapas como vetores (menor, mais rápido e mais versátil) Desvantagens do processamento no Cliente (i) Carregamento do applet Tamanho proporcional às suas funcionalidades Usuário pode não querer executá-lo Carregamento de Plugin Esforço extra no início, para instalá-lo Disponível no cliente até a próxima atualização Desvantagens do processamento no Cliente (ii) Carregamento inicial de um grande volume de dados (SIG) O cliente pode ter uma máquina com baixo poder de processamento Balanço entre cliente e servidor Escolha entre cliente potente e servidor leve ou cliente leve e servidor potente baseada em: Tipo de público Tarefas a serem executadas Disponibilidade dos recursos no servidor Habilidade de manter os clientes atualizados Tipo de conexão Internet (banda larga, discado...) Público (i) Processamento no Servidor Aplicações para o mercado de massa Pouca demanda por uma análise avançada de dados obtidos com o SIG Ex: http://tiger.census.gov Público (ii) Processamento no Cliente Grupo seleto de visitantes freqüentes e com proficiência em SIG Ex: http:// www.MapGuide.com Tarefas típicas de um SIG Mapeamento de imagens na máquina de um cliente Navegação do mapa Queries espaciais Desenho de mapas a partir de dados brutos Análise de dados SIG Servidor vs Cliente Massas Especialista Cliente Leve Médio Potente Cliente SIG Tarefas do Cliente Display de mapas Display de mapas Navegação nos mapas Query Display de mapas Navegação nos mapas Query espacial Display de mapas Navegação nos mapas Query espacial Análise com SIG Desenho de mapas Transferência Raster Raster/vetor Vetor Dados brutos Tarefas do Servidor Navegação nos mapas Query espacial Análise com SIG Desenho de mapas Executa Queries Análise SIG Desenho de mapas Análise SIG Desenho de mapas Servidor de arquivos Servidor Potente Médio Leve Servidor Web