É 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

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
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.
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
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.
Olá Fernando. A respeito do item 1, o que o Mapserver tem de melhor que o Geoserver quando se fala em WMS?
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.
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.
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.
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
Olá Fernando,
Estou fazendo uma apresentação sobre o mapserver, você sabe algum exemplo de aplicação no mapserver que utilize operações geograficas entre mapas como união e intersecção?
Obrigado.
Rafael Lira
Desculpe ressucitar essa discussão, mas a achei interessante e julgo que minha pergunta é pertinente.
Você levanta os melhores pontos entre os 2 servidores, mas a minha dúvida é como saber qual escolher?
O que eu preciso analisar para saber qual dos dois é melhor para mim?
[]s,
Wagner,
Na minha opinião, tudo vai depender da sua necessidade e de algumas outras opções que você terá de escolher antes da escolha do servidor de mapas.
Por exemplo: Linguagem de programação. Se você escolher desenvolver em Java eu te aconselho a utilizar o GeoServer, e dependendo do que você necessitar também recomendo a biblioteca Geotools. Digo isso, pois em um projeto que desenvolvemos com Java e MapServer (em 2005), tivemos diversos problemas.
Se você for um desenvolvedor php, te aconselho o MapServer, principalmente pelo PhpMapScript. Porém, se você for utilizar o servidor de mapas apenas para disponibilizar serviços através dos web services da OGC, ai eu te recomendaria o GeoServer, pela praticidade.
Te recomendo ainda dar uma lida no post que o Edmar Moretti escreveu sobre isso ( http://edmarmoretti.blogspot.com/2009/04/mapserver-e-geoserver-cada-um-no-seu.html ).
Abraço,
Fernando Quadro
Caros amigos,
Preciso desenvolver um projeto com o MapServer e não sei nem como iniciar, se algum de voces poder me dar uma ajuda, ficarei muito grato.
Trata-se da transferência de um banco de dados criado no ambiente Java (Alov Map) para o MapServer
Abraços,
Vancler
@Fernando,
Estava reparando que esse post é de 2007, tudo o que foi escrito é válido até hoje?
Há algo mais a acrescentar, como por exemplo, imagino que a maturidade do Geoserver tenha aumentado bastante (do mapserver também). Suporte a novas tecnologias também.
Então fica a sugestão: que tal reeditar este post?
Wagner,
Certamente algumas coisas mudaram, mas a essência é basicamente a mesma. E eu não acompanho o MapServer, tão de perto, como acompanho a evolução do GeoServer, então precisaria fazer uma pesquisa mais aprodundada como fiz na época. Mas fica ai a sugestão, quem sabe eu reedito esse post, com informações mais atuais.
Abraço,
Fernando
[...] mapserver-versus-geoserver [...]
Fernando, parabéns pelo post.
Em ambos servidores, é possível utiliza-los junto a dispositivo móveis? No sentido de visualizar Mapas em Celulares? Ou existe um melhor que o outro?
Inté
Olá Jarbas,
Sim, em ambos os servidor é possível utilizá-los com dispositivos móveis, tendo em visto que ambos disponibilizam seus dados através dos serviços WMS e WFS (Web Services), então a aplicação móvel só precisaria consumir os serviços.
Quanto a um ser melhor que o outro, isso já e mais um questão de opinião. Porém, se você for apenas disponibilizar serviços, o GeoServer é mais aconselhável, por ter uma interface administrativa, e também por esse ser seu objetivo principal.
Abraço,
Fernando Quadro