Skip to content
Thomas Bonfort edited this page Apr 6, 2012 · 2 revisions

A few years ago I spent some time researching the relative merits of two popular web-based map servers, !MapServer and !ArcIMS. I posted the summary results of that research to a couple of places with a note saying that anybody who wanted the full results should contact me. Much to my surprise three and half years later I still get asked for them every month or two.

Since it's been so long, maybe somebody should review the situation and see what has changed -- and what hasn't. It won't be me. My job has pulled me in other directions, we aren't running any kind of mapserver anymore so my involvement in this question is minimal.

Anyway, the full respondant text is available at http://yukongis.ca/bin/view/Main/MapserverVsArcIMS. Feel free to pull whatever you want from that page and rework/update it here, which is actually the more appropriate place. I didn't want to just dump it here as the full text is about 100k.

--Matt Wilkie - 18 Feb 2004

== Mapserver <==> ArcIMS comparison ==

20 Nov 2000

A few weeks I ago asked mapserver-users, esri-l, comp.infosystems.gis, and comp.soft-sys.gis.esri for comparitive comments on !MapServer and !ArcIMS. (respectively http://mapserver.org/, http://www.esri.com/arcims/). Full text of all respondants is available on request.

Thank you to:

   Andrea Goethals, University of Florida                                                                                                                                                                                                                                                                                                                                                                                     
   John Hockaday, Department of Environment, Australia                                                                                                                                                                                                                                                                                                                                                                        
   Michael Kleih, Centro Comune di Ricerca-JRC                                                                                                                                                                                                                                                                                                                                                                                
   Michael Anderson, Spatial Information Technologies, Inc.                                                                                                                                                                                                                                                                                                                                                                   
   Chris Stuber, Silicon Mapping Solutions, Inc                                                                                                                                                                                                                                                                                                                                                                               

Mapserver-users (MSU) responses were detailed and informative, while the other three forums responded with a resounding silence.

MSU unanimously acclaims !MapServer as the better web-based gis map server, however it was pointed out the problem domains of !MapServer and !ArcIMS overlap while !ArcIMS has a broader functionality set. In the words of Micheal Anderson:

    "...I would like to point out that the scope of what ArcIMS and                                                                                                                                                                                                                                                                                                                                                           
    MapServer attempt to do is different. ArcIMS has several                                                                                                                                                                                                                                                                                                                                                                  
    components designed to do things that MapServer alone doesn't                                                                                                                                                                                                                                                                                                                                                             
    address. This includes html and applet based viewers for the client                                                                                                                                                                                                                                                                                                                                                       
    as well as several components on the server. The components on the                                                                                                                                                                                                                                                                                                                                                        
    server include the application server, manager components, and the                                                                                                                                                                                                                                                                                                                                                        
    spatial servers. The spatial server is what renders the images,                                                                                                                                                                                                                                                                                                                                                           
    handles spatial queries, extracts features, etc. The manager                                                                                                                                                                                                                                                                                                                                                              
    components allow you to build "Map Services" (map files), create                                                                                                                                                                                                                                                                                                                                                          
    web sites using the map services, and publish the sites.  The                                                                                                                                                                                                                                                                                                                                                             
    application server allows you to distribute pieces of your                                                                                                                                                                                                                                                                                                                                                                
    application over multiple machines and pool several machines to                                                                                                                                                                                                                                                                                                                                                           
    handle increased loads.  It also allows you to use COM and Cold                                                                                                                                                                                                                                                                                                                                                           
    Fusion in your application as the "connector" between the web server                                                                                                                                                                                                                                                                                                                                                      
    and application server. ArcIMS has two additional components that                                                                                                                                                                                                                                                                                                                                                         
    start and stop processes and delete images on a schedule.                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                              
    MapServer alone is only analogous to the spatial server, but the                                                                                                                                                                                                                                                                                                                                                          
    other features can be added using other tools. Other than being                                                                                                                                                                                                                                                                                                                                                           
    able to use fewer data formats, MapServer is a better spatial server                                                                                                                                                                                                                                                                                                                                                      
    than ArcIMS's. By using an existing web application server you can                                                                                                                                                                                                                                                                                                                                                        
    get the additional functionality with a minimal amount of work."                                                                                                                                                                                                                                                                                                                                                          

After several attempts, I can't reduce the length of Micheal's message with out losing good info, so here is the rest of it:

    "...By using an existing web application server you can get the                                                                                                                                                                                                                                                                                                                                                           
    additional functionality with a minimal amount of work. I am using                                                                                                                                                                                                                                                                                                                                                        
    Zope, which is Python based, as my application server. It is also                                                                                                                                                                                                                                                                                                                                                         
    Open Source. It is a much better application server than the ArcIMS                                                                                                                                                                                                                                                                                                                                                       
    component. In addition to allowing you to distribute your                                                                                                                                                                                                                                                                                                                                                                 
    application, and pool machines, it also handles user authentication,                                                                                                                                                                                                                                                                                                                                                      
    and gives Unix like permissions to files, URLs, and operations. It                                                                                                                                                                                                                                                                                                                                                        
    also handles publishing the sites easily. I haven't gotten around to                                                                                                                                                                                                                                                                                                                                                      
    using it to make the map files or the web site though. I use ArcView                                                                                                                                                                                                                                                                                                                                                      
    to make the map files and have someone else make the web site. Zope                                                                                                                                                                                                                                                                                                                                                       
    does allow me to share single html and JavaScript files across                                                                                                                                                                                                                                                                                                                                                            
    multiple web sites, which makes maintenance a lot easier. It is also                                                                                                                                                                                                                                                                                                                                                      
    possible to use Zope as a connector to ArcIMS so a single                                                                                                                                                                                                                                                                                                                                                                 
    application could use both MapServer and ArcIMS (as well as other                                                                                                                                                                                                                                                                                                                                                         
    GIS engines). I am also aware of a Java based application server                                                                                                                                                                                                                                                                                                                                                          
    called Enhydra that is also Open Source. I have installed it, but                                                                                                                                                                                                                                                                                                                                                         
    haven't had much time to use it, so I can't really say what it can                                                                                                                                                                                                                                                                                                                                                        
    do. There are also commercial application servers available like                                                                                                                                                                                                                                                                                                                                                          
    IBM's WebSphere. You could probably do a lot with Cold Fusion as                                                                                                                                                                                                                                                                                                                                                          
    well.                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                                                                              
    "That said, here is my 2 cents on the advantages and disadvantages                                                                                                                                                                                                                                                                                                                                                        
    of ArcIMS:                                                                                                                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                                                                                                                              
   "Advantages of ArcIMS                                                                                                                                                                                                                                                                                                                                                                                                      
   * distribute applications over multiple machines                                                                                                                                                                                                                                                                                                                                                                           
   * Native integration with the Geography Network. MapServer can be made to work within the geography network.                                                                                                                                                                                                                                                                                                               
   * Includes software to handle routine tasks like making the map  services (map files), designing web sites, etc.                                                                                                                                                                                                                                                                                                           
   * Supports more data formats - especially raster                                                                                                                                                                                                                                                                                                                                                                           
   * Better support for storing spatial data in RDBMS through SDE                                                                                                                                                                                                                                                                                                                                                             
   * You don't have to try to sell a relatively unknown product  (MapServer) and philosophy (Open Source)                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                                                                              
   "Disadvantages of ArcIMS                                                                                                                                                                                                                                                                                                                                                                                                   
   * speed (even running mapserv as regular cgi it is much faster)                                                                                                                                                                                                                                                                                                                                                            
   * resource hog                                                                                                                                                                                                                                                                                                                                                                                                             
   * limited OS (no Linux)                                                                                                                                                                                                                                                                                                                                                                                                    
   * less stable. My ArcIMS experience is on NT so that may be more a reflection of the OS than ArcIMS?.                                                                                                                                                                                                                                                                                                                      
   * poorer support                                                                                                                                                                                                                                                                                                                                                                                                           
   * source code unavailable                                                                                                                                                                                                                                                                                                                                                                                                  
   * cost"                                                                                                                                                                                                                                                                                                                                                                                                                    

All respondants felt !MapServer's support (via the user community) and documentation is much more useful than ArcIMS?'. It was noted that often questions re:!ArcIMS went completely unanswered. A couple of people made the point that although Mapserver's documentation is better there are still some gaping holes; it is expected the newly formed documentation committee and mailing list will help address this issue.

Several said !MapServer is easier to install and the maps are easier to maintain.

Most everybody said that !MapServer is faster* although theoretically this should not be the case since Mapserver is a CGI while !ArcIMS is a Java app. (*nobody claimed !ArcIMS is faster, just not everybody made a speed comparison)

Those that made reliabilty comparisons felt that !ArcIMS is still buggy and undependable.

The one* plus !ArcIMS seems to have over !MapServer is the GUI that allows development of the interface and equivalent to map files. There is an !ArcView extension and an Arc AML which make producing Mapserver map files easier but they are still in development. There is also talk of developing a standalone map builder but I'm not sure how far along that project is yet. (*where the problem domains overlap)

There were incidental threads comparing !MapServer to !MapXtreme, and JShape where !MapServer also came out on top.

Thanks to everybody who responded and a note to those who didn't: I'm quite willing to do this again. I'm disappointed nobody came to bat for !ArcIMS. I was hoping to be able to summarize a broader range of opinions. Than again, maybe it is simply true that !MapServer is better than !ArcIMS.

cheers,

Matt Wilkie * GIS Technician * Yukon Renewable Resources GIS
http://renres.gov.yk.ca/pubs/rrgis/

This thread on related external sites:

* [http://groups.google.ca/group/comp.soft-sys.gis.esri/browse_frm/thread/fe985d26637fe2ad?hl=en&lr=&ie=UTF-8&oe=utf-8&rnum=1&prev=/groups%3Fhl%3Den%26ie%3DUTF-8%26oe%3Dutf-8%26q%3DSummary%253A%2BMapserver%2B%253C%253D%253D%253E%2BArcIMS%253F%2Bcomparison%26meta%3D%26sa%3DN%26tab%3Dwg comp.soft-sys.gis.esri]]
Clone this wiki locally