[mapguide-users] Differences between UMN MapServer & MapGuide...

Paul Spencer pagameba at gmail.com
Mon Feb 11 20:26:08 EST 2008

Martin, I disagree with your statement that MapGuide will have far  
more development and support going forward.

Caveat Emptor: The arguments that follow are purely my opinion and are  
not based in empirical evidence, mostly just my observations having  
worked with both platforms.  Take them with a grain of salt :)

MapServer has a large and active developer community spread across  
individuals and companies that actively improve the software on a  
daily basis.  The MapServer mailing list is large and very helpful,  
and there is a wealth of user-contributed documentation that grows  
with every release.  MapServer's code base is (in comparison) small,  
light weight, understandable.  It has a relatively low cost of entry  
for new developers wanting to do stuff.

MapGuide, on the other hand, is still largely dependent on a single  
(but very large) benefactor and has yet to attract additional (core)  
developers outside of the core team from ADSK.  It does have a growing  
community support infrastructure through this mailing list, which is  
probably the first step towards growing the development community.   
The code base is quite large, complex, and not readily understandable  
by a developer wanting to get started with it.  None of this points to  
'far more' development or support going forward.

I would also argue that MapServer, when properly configured, is faster  
than MapGuide - at rendering maps.  If you need to generate map images  
for the web, MapServer is generally going to be faster than MapGuide.   
There are some fundamental differences, though, that need to be  
understood when making this comparison.

1) Enterprise scalability.  It has been said that MapGuide is intended  
for Enterprise deployment (it supports multiple 'web tier'  
installations accessing multiple site/support servers potentially  
through a corporate firewall and distributed across multiple  
machines. ) with the implication that MapServer is not Enterprise  
ready.  In fact, this is not true and it is equally as possible to set  
up a similar architecture using MapServer - the main difference is  
that MapGuide has an installer that sets this up whereas the MapServer  
solution would have to be designed by a knowledgeable group.  When  
requesting a map image, then, MapGuide has a minimum of three  
processes that need to be involved - the web server, the 'web tier',  
and the 'server tier'.  MapServer only has two, the web server and the  
MapServer process.

2) Statefulness.  MapGuide is stateful in that you have to establish a  
session with the server and refer to that session in every request to  
the server.  MapServer is stateless and has no inherent concept of  
sessions.  For applications that require statefulness, MapGuide is  
typically simpler to use whereas MapServer requires an external  
framework to make it stateful and that framework adds overhead that  
makes the performance of MapGuide perhaps better than MapServer.  For  
applications that don't require statefulness (such as serving WMS or  
Tile requests), MapServer is simply faster because it doesn't have the  
overhead of statefulness built into its architecture (granted that for  
WMS and Tiles - MGOS 2.0 only - you can request images directly  
without needing a session, so that is less of a difference).

3) Optimization.  Optimizing for MapGuide and MapServer are very  
different tasks.  For both, you really need to understand the  
expensive parts of drawing a map - is it accessing the data, filtering  
it, classifying it, or rendering it - and how to minimize bottlenecks  
in each of the parts.  I would argue that it is more feasible to tune  
MapServer's performance than MapGuide's.  This is, in part, because  
you have more options with MapServer - different ways of accomplishing  
the same task.  MapGuide is probably more tuned to start with but my  
experience is that beyond optimizing your data, there isn't much more  
you can do to tune MapGuide's performance by playing with cartographic  

For data access, MapGuide has FDO, OGR and GDAL support.  MapServer  
supports roughly the same set of data sources, except it doesn't  
support FDO and hence can't access SDF files.  DWF support is not part  
of FDO, and its actually more of an *output* format than an *input*  
format.  It also requires an activex control to render it, which makes  
it more-or-less useless to me and many others that need applications  
that support multiple web browsers and platforms.  An FDO connection  
type for MapServer has been discussed and seems likely to happen at  
some point, although no specific plans have been made - so MapServer  
will gain access to SDF at that point.

Regarding speed of data access, MapServer is generally considered  
fastest when used with properly prepared shapefiles, although PostGIS  
is arguably on par with it.  MapGuide is generally considered fastest  
when used with SDF.  I have had very poor success with SDE access  
(MapServer is about 3-6 times faster at drawing from an SDE data  
source) in MapGuide.  I have no knowledge of Oracle Spatial in either  
platform, although MapGuide is supposed to be quite good with Oracle.

Cartographically, the two are quite similar.  MapServer has quite a  
few more options for styling data at this time, but MapGuide has some  
really nice styling features that MapServer doesn't have.  Again, it  
depends on what your critical factors are.  I would say that in  
general it is possible to achieve the same effect with both servers  
unless you have somewhat specialized needs.  MapGuide is arguably  
poorer with raster data sources.  MapServer can do things like raster  
classification and raster querying, whereas MapGuide can just render  
them as-is (I think I saw hill shading show up in MGOS 2.0, which  
MapServer doesn't support).  On the other hand, since MGOS 1.2 there  
are some extremely complex cartographic things you can do especially  
with line work that are not possible at this time in MapServer.

Coming back to Tim's original question, though, I think that perceived  
performance in this case is likely 'application' performance.  As  
noted above under statefulness, application performance doesn't  
compare directly because you have to use another framework with  
MapServer.  In this case, Chameleon was built on pre-ajax web  
technologies and is particularly poor compared to MapGuide, Fusion,  
MapFish, MapBuilder, etc which have all kept up with, or been written  
for, the times.  Chameleon is quite horrible in fact - it does all its  
calculations on the server, creating high load and reducing  
responsiveness of the server under multiple simultaneous user load,  
and it reloads the page on every request which multiplies the  
problem.  'Modern' frameworks put a lot of the processing on the  
client side (in javascript), which reduces server load dramatically  
and allows a server to 'scale up' to meet higher load, minimizes the  
amount of information that needs to be transfered back and forth, and  
uses ajax techniques to keep the application responsive even while it  
is waiting for server-side processing to happen.

So at the end of the day, my feeling is that the problem is with the  
framework that Tim is using around MapServer, not with MapServer  
itself.  The real question is which framework should Tim move to.  And  
on that particular subject, I don't have enough experience with  
platforms other than Fusion to comment on effectively.



On 8-Feb-08, at 4:28 PM, Martin Morrison wrote:

> I don't have statistics, but years ago I played around with MapServer,
> it was all right, but was not polished or speedy.  I find that  
> MapGuide
> can be both.  MapGuide also will allow for more types of data SDF, DWF
> to name two.
> I think MapGuide will have far more development and support going
> forward.
> Just my 2 cents.
> Martin
> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org
> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Nolte,  
> Tim
> Sent: Friday, February 08, 2008 4:24 PM
> To: MapGuide Users Mail List
> Subject: RE: [mapguide-users] Differences between UMN MapServer &
> MapGuide...
> I guess what I am looking for is what are the strengths and weaknesses
> of both. Basically our MapServer currently serves both Shapefiles (39
> layers) & Oracle Spatial (11 layers) data. My biggest concern is
> user-perceived performance. Our current server config is a 3.06GHz
> Opteron w/ 8GB of RAM. I've tried to tune our data as best I can  
> however
> I'm still concerned about the end-user perceived performance. As most
> people are, I'm up against people expecting our MapServer to perform
> with the same speed as Google Maps. I'm also looking for something  
> with
> a very visually polished development framework. I know that looks  
> aren't
> everything but it does offer some credibility to the information being
> presented. Thanks for any input anyone has.
> - Tim
> ----
> Timothy J Nolte - tnolte at ilpcs.com
> Associate Network Planning Engineer
> iPCS Wireless, Inc.
> 4717 Broadmoor Ave, Suite G
> Kentwood, MI 49512
> Office: 616-656-5163
> PCS:    616-706-2438
> Fax:    616-554-6484
> Web: www.ipcswirelessinc.com
> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org
> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Jason  
> Birch
> Sent: Friday, February 08, 2008 4:05 PM
> To: MapGuide Users Mail List
> Subject: RE: [mapguide-users] Differences between UMN MapServer &
> MapGuide...
> I guess I should ask what your reasons for considering moving away  
> from
> MapServer are.  What needs do you have that it is not meeting?
> They both certainly have their strengths and weaknesses, but I don't
> know if any recent in-depth analysis of the differences.
> Jason
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users

More information about the mapguide-users mailing list