É muito comum as pessoas me perguntarem qual servidor de mapas é o melhor? MapServer ou GeoServer?
Eu sinceramente acho que a minha opinião neste caso poderia ser um tanto quanto tendenciosa, devido o fato de eu trabalhar diretamente com o GeoServer, e ter escolhido como minha principal linguaguem de programação o JAVA.
Mas mesmo assim, eu não queria deixar de responder essas pessoas e esclarecer essa dúvida. Por isso resolvi escrever este post, onde o objetivo é estar mostrando as vantagens de um e de outro, e não de quem é o melhor, essa decisão será sua, o melhor será o que melhor se enquadrar na sua necessidade.
Para poder fazer esta comparação eu primeiramente mandei um email para a lista de discussão do GeoServer, explicando o meu “problema”, e obtive algumas respostas, e alguns links de uma discussão sobre este assunto na lista da OSGeo.
Baseado nas opiniões de Chris Holmes, Bart van den Eijnden, Tim Bowden, Jody Garnett, Arnulf Christl e na minha experiência com o GeoServer e MapServer, cheguei as seguintes conclusões:
1. O MapServer em geral é melhor quando se fala em WMS, e o Geoserver é melhor em se tratando de WFS.
2. Uma grande diferença é que Geoserver suporta WFS-T, isto é WFS transactional, e o Mapserver não.
3. MapServer trabalha com CGI, GeoServer com J2EE, o que pode causar uma vantagem ao GeoServer tendo em vista que algumas empresas não querem mais trabalhar com CGI’s.
4. MapServer é um projeto mais maduro (1996), enquanto o GeoServer ainda é mais recente (2003).
5. GeoServer possui um web tool administration, que facilita a configuração.
6. O MapServer tem, sem dúvida, um sistema de cartografia poderoso e propicia dados em vetor dinâmicos e de alta qualidade
7. Nem um dos dois é melhor ou pior, seus focos de desenvolvimento são diferentes.
Espero ter ajudado um pouco a esclarecer algumas dúvidas, caso alguém tenha algo a acrescentar por favor fique a vontade para deixar seus comentários.
[UPDATE]: Foi disponibilizada a versâo em inglês.
Fonte: Lista OSGeo
18/07/2007 at 11:35 pm Permalink
Camarada eu concordo bastante com a tua opinião. Acho que vc esta certo quando fala que pode haver situações em que cada ferramenta apresenta uma funcionalidade mais adequada, rápida, fácil ou de menor custo (não neste caso diretamente). Mais deixo aqui uma pequena dúvida, por que vc comenta que “..o MapServer trabalha com CGI, GeoServer com J2EE..” se na página do Mapserver ele comenta a possibilidade do uso de várias linguagens inclusive a Java? Não seria alguma outra coisa que vc estava pensando ? …
[]s
Sucesso !!!
Fabiano
19/07/2007 at 10:12 am Permalink
Fabiano,
Eu não quis me referir as linguagens de programação que podem trabalham em conjunto com o MapServer, mas quando falei em CGI e J2EE, quis me referir ao modo que o MapServer roda (modo CGI) comparando com o J2EE.
Espero ter sido claro.
Abraço.
19/07/2007 at 10:30 am Permalink
Olá Fernando,
Ótimo post. Só tive uma dúvida.
O que você quis dizer com isso: “O MapServer tem, sem dúvida, um sistema de cartografia poderoso e propicia dados em vetor dinâmicos e de alta qualidade”. O Geoserver não faz a mesma coisa?
Obrigado e Abraço,
Felipe
19/07/2007 at 1:56 pm Permalink
Felipe,
Pelo que vi, e li, o GeoServer faz sim, mas segundo alguns entendedores o MapServer seria um pouco melhor nesse quesito.
É como falei, não tem o melhor e o pior, um melhor em alguns quesitos, outro em outros. O que vai fazer um ser melhor que o outro é a necessidade.
20/07/2007 at 5:53 pm Permalink
Olá Fernando. A respeito do item 1, o que o Mapserver tem de melhor que o Geoserver quando se fala em WMS?
24/07/2007 at 1:21 pm Permalink
Daniel,
Desculpe a demora, mas respondendo a sua pergunta.
O GeoServer é um pouco mais lento que o MapServer em se tratando de WMS, pelo menos por enquanto.
Por isso a afirmativa do MapServer ser melhor que o GeoServer neste quesito.
Abraço.
03/09/2007 at 4:12 pm Permalink
Oi Fernando,
Apenas para complementar, é possível utiliza o mapserver como uma extensão do PHP, nesse caso ele não rodará como CGI e sim como um módulo do próprio PHP.
Um Abraço.
27/09/2007 at 8:09 am Permalink
Olá,
Na minha opinião uma grande vantagem do Geoserver (que foi inclusive citada no post) é a parte administrativa. Fica bem mais fácil de organizar e configurar coisas do tipo acesso a base de dados e estilo dos layers do que no Map File, sem falar que o Geoserver usa SLD para os estilos, que é um padrão OGC.
Mas pensando bem, acredito que essa parte de organização não é uma proposta do MapServer. Acho que ele (MapServer) está mais focado na entrada/saída dos dados do que em como os dados são organizados.
Por isso, talvez fosse mais adequado comparar MapServer com Geotools, porque o Geoserver está em um nível mais acima…
Com relação ao MapScript (PHP, Java, etc.), realmente é uma opção bem poderosa, pois você consegue mais dinamismo, customização e organização do que trabalhando direto com o CGI. Porém, muitos componentes utilizados pelo MapServer não são thread-safe, e isso pode ocasionar erros em aplicações com carga mais pesada.
Na questão da maturidade, realmente o MapServer já tem bem mais estrada. Mas acho que o Geoserver é mais maduro nas especificações OGC.
Bom, a verdade é que os 2 são ótimos softwares e eu utilizo os 2 no meu trabalho
Abraço.
22/02/2008 at 4:49 pm Permalink
Fernando,
Estou muito interesado no discusâo que vc fiz. Estou na fase inicial de desenho de um projeto importante de Web-GIS. A aplicação requere a possibilidade de criar e editar lineas e poligonos assim como armazenar informação referente a estos. Neste sentido o exemplo demoEdit da Cartoweb é exelente:
http://www.cartoweb.org/demos/demoEdit.php
O problema que eu sou mais focado no desenvolvimento Java como vc.
A pergunta é a seguinte: Existe algum exemplo bom do estilo do demoEdit? cade ele?
Muito obrigado,
Albert