No último post, iniciamos a definição da arquitetura falando sobre banco de dados espacial e apllication server, hoje concluiremos o artigo falando sobre gerenciador de cache e clientes web e desktop.

4. Cache

Um mapa pode ter muitas camadas, e estas camadas podem ter muitas feições, o que pode ocasionar lentidão no seu WebGIS. E vamos combinar que não existe nada piorar do que navegar em um sistema que se arrasta.

Por esse motivo é aconselhável que você utilize na sua arquitetura um gerenciador de cache. No nosso caso vou sugerir o GeoWebCache (GWC), que já vem integrado com o GeoServer, e facilita muito o trabalho na criação das camadas cacheadas.

Para você ter uma ideia de como um gerenciador de cache é importante, ele pode aumentar a velocidade da sua aplicação em mais de 10x, elevando muito a performance do seu WebGIS.

Apesar da escolha pelo GWC, gostaria de mencionar outra opção open source que você pode utilizar, que é o TileCache.

5. Web Client

Chegamos a parte mais interessante do desenvolvimento, o cliente web. Aqui temos várias ferramentas que podem ser utilizadas para o desenvolvimento da aplicação. Vou sugerir algumas front-end e back-end.

No back-end eu optei por ferramentas da linguagem Java, que é a linguagem que mais tenho familiaridade, mas saiba que existem opções também em Python, PHP, Ruby, etc.

5.1 Backend

Em uma arquitetura Java, a sugestão é que você opte pelo Geotools, uma biblioteca que fornece uma abundância de funcionalidades GIS, podendo utilizar em conjunto a biblioteca JTS, que fornece uma implementação completa, consistente e robustos algoritmos espaciais em 2D.

Com essa dupla, você vai conseguir desenvolver tudo que necessita no back-end da sua aplicação.

5.2 Front-end

Para a interface com o usuário temos algumas alternativas, entre elas o OpenLayers e o Leaflet. Qualquer uma das duas que você escolher será uma boa escolha, mas a minha sugestão é o OpenLayers, que a pouco tempo foi totalmente reescrito e está totalmente renovado.

openlayers
Figura 4. WebGIS desenvolvido com OpenLayers

6. Desktop Client

As opções de GIS para desktop são inúmeras, tanto as mais conhecidas (proprietárias), como as open source. Posso citar algumas como o QGIS, OpenJump, gvSIG, uDig, SPRING em que você pode optar, mas a minha sugestão é o QGIS não por ser hoje a opção mais popular entre os Desktop GIS, mas sim por possuir plug-ins para praticamente todas as funcionalidades que você necessite.

QGIS Screenshot
Figura 5. Tela do programa QGIS

Para concluir gostaria apenas de reforçar que independente da linguagem e da arquitetura que você escolha, o mais importante é a utilização dos padrões de interoperabilidade da OGC, que permitirá independência entre as partes, e também evitará dor de cabeças futuras, principalmente se você precisar trocar alguma das partes da arquitetura.

Quem tiver sugestões de arquitetura, ou de ferramentas open source que não foram mencionadas neste artigo, fique à vontade em contribuir através dos comentários.