[mapserver-users] mapserver architecture for multi-websites o n several machines

Kralidis, Tom Tom.Kralidis at CCRS.NRCan.gc.ca
Tue Jul 17 11:43:43 EDT 2001


Hi,

As far as JavaScript / Java WMS clients go, some work has been done in this
area to integrate WMS into MapServer applications.

As MapServer does not (yet) support WMS connections, one may use MapServer
along with the mapplet developed by Steve to display maps using a WMS
provider.

At a high level:

- add another parameter to the mapplet's interface which has a WMS GetMap
request, i.e.;

- create a wrapper CGI script to ingest the WMS request output and display
it through the mapplet (Java does not allow for connections to remote
servers);

- add modifications to Java code to handle additional image objects (i.e.
getImage and drawImage);

You can then use JavaScript to manipulate the layer information (on/off,
etc.), and updating the WMS request as needed, adding your own MapServer CGI
variables.

More info is available at:

http://www.kralidis.ca/gis/mapserv/mapplet/howto.htm

I'd be interested to hear other approaches...

Hope this helps

..Tom

=================================
Tom Kralidis
Systems Scientist
Canada Centre for Remote Sensing
Tel: (613) 947-1828
http://www.ccrs.nrcan.gc.ca/
=================================

> -----Original Message-----
> From: Daniel Morissette [mailto:morissette at dmsolutions.ca]
> Sent: Tuesday, July 17, 2001 10:05 AM
> To: Hockaday, John
> Cc: 'claude.philipona at camptocamp.com'; 
> mapserver-users at lists.gis.umn.edu
> Subject: Re: [mapserver-users] mapserver architecture for 
> multi-websites
> on several machines
> 
> 
> John, Claude,
> 
> I agree with John's opinion that using the OGC WMS (Web Map Server)
> support in MapServer should allow you to do everything you need, and
> since it builds on a commonly adopted standard it will allow you to
> eventually expand your pool of servers to servers from other 
> vendors if
> needed.
> 
> As John wrote, the WMS spec includes 3 types of request: 
> 
> - getCapabilities returns an XML document with list of layers and
>   features supported by the server.
> - getMap returns an image of the map with specified layers and BBOX
> - getFeatureInfo is used for querying the map obtained from a previous
>   getMap request.
> 
> One more thing you'll need is a server application that can integrate
> layers from several remote servers and return a single map 
> image to the
> client browser... this is referred to by the OGC WMT (Web Mapping
> Testbed) group as a "cascading server" (well, technically a cascading
> WMS serves maps to other WMS servers and not directly to 
> browsers... so
> maybe we should just say WMS client and not cascading server).
> 
> Anyway, this is not available in MapServer yet but we will be adding
> this to Mapserver in the next few months.
> 
> Note that some people have implemented JavaScript WMS clients that
> combine the WMS maps directly in the web browser, and that 
> might do the
> trick for you... perhaps those who have developed this kind of WMS
> clients can comment more.
> 
> I hope that helps,
> 
> Daniel
> 
> "Hockaday, John" wrote:
> > 
> > Hi Claudia,
> > 
> > I was hoping that someone with more experience with this 
> type of subject
> > would answer your question but it seems that they haven't 
> so I will give you
> > the little knowledge that I have on the subject.  
> Hopefully, lots of people
> > will get annoyed with the errors in this e-mail that I am 
> proposing and they
> > will correct me for your benefit.  I for one am very 
> interested in the
> > outcomes of your project as I will have to look into 
> something similar soon.
> > 
> > The Open GIS came up with a standard for accessing data 
> across the web.  (I
> > think that the OpenIGS is called something different now 
> but I'm not sure.)
> > One of the commands is something like getimage().  I 
> believe that mapserver
> > version 3.5 has the ability to handle Open GIS 
> capabilities.  I seem to
> > remember earlier versions having the getimage() command but 
> I'm not sure
> > about that either.
> > 
> > You could use the getimage() command to each of your 
> mapservers and they
> > should return an image.  You could then build these images 
> on top of each
> > other, if they are transparent, to make a final map.  GD 
> can do this if
> > mapserver doesn't already have a command to do it.  You may 
> have to make
> > more that one call to each map server as the order of the 
> layers may be
> > important to your final map.
> > 
> > I think that there is a similar OpenGIS command to get 
> information about a
> > layer from a remote map server.  It may be something like 
> getinfo().  This
> > is probably a more simpler command as it may only need 
> information from one
> > mapserver.
> > 
> > I would *strongly* recommend that you use the OpenGIS 
> standard as a lot of
> > work has gone into this standard and you will greatly 
> benefit from their
> > detailed efforts.  I worked on a system of connecting to 
> many map producing
> > servers a long time ago and it was full of problems 
> therefore, we stopped
> > doing it.  Since then, the OpenGIS has addressed those 
> problems in their
> > work.
> > 
> > Good luck and please keep this list aware of what you are 
> doing.  I want to
> > build on your work if you don't mind me "borrowing" your 
> intellectual
> > property and code.   ;--)
> > 
> > John
> > 
> > > -----Original Message-----
> > > From: Claude Philipona [SMTP:claude.philipona at camptocamp.com]
> > > Sent: Friday, July 13, 2001 8:38 PM
> > > To:   mapserver-users at lists.gis.umn.edu
> > > Subject:      [mapserver-users] mapserver architecture 
> for multi-websites
> > > on several machines
> > >
> > > We are starting a project using Mapserver (PHP/MapScript) 
> for building a
> > > cartographic server which could be used by different 
> client web-sites on
> > > different machines. The server will propose a large set 
> of raster map from
> > > 1:25'000 to 1:1'000'000. The client web-sites will be 
> able to use the
> > > central
> > > mapserver to interactivly geocode any kind of information 
> (points, lines,
> > > surfaces) using an applet and to visualize and to 
> navigate thru the
> > > obtained
> > > geocoded objects.
> > >
> > > Each site using Mapserver is totally independent should be able to
> > > integrate the
> > > map directly (no frames).In this configuration we don't 
> have a web borwser
> > > making
> > > direct request to MapServer, but rather the web server 
> machines would have
> > > to
> > > make the cartogrphic request to the mapserver machine. 
> This is a kind of
> > > wms.
> > >
> > > My question: What is the best solution to implement this kind of
> > > architecture?
> > > Has anybody already done such thing?
> > >
> > > My ideas were to use WDDX (Web Distributed Data Exchange,
> > > http://www.openwddx.org/faq/) to exchange the required 
> parameters between
> > > the
> > > mapserver box (coordinates of the click, shapes ON,...) 
> and the webserver
> > > boxes
> > > (url of the map image,...). So the Webserver (php 
> enabled) would post a
> > > wddx file
> > > (containing the serailzed parameter) to the 
> MapServerPHP-MapScript. After
> > > deserialization PHP/Mapscript will process the map 
> request and return wddx
> > > file
> > > (containing the url of the images and other important parameter).
> > >
> > > Is it the way to go to get good performance? Is there a 
> better way to do
> > > it?
> > >
> > > Other question: I was palnning to start this development 
> using directly
> > > Mapserver
> > > 3.5, providing that the system will not enter in production before
> > > november. Is
> > > 3.5 stable enough? Any timesacle for the official release?
> > >
> > > Claude Philipona
> 
> -- 
> ------------------------------------------------------------
>  Daniel Morissette               morissette at dmsolutions.ca
>  DM Solutions Group              http://www.dmsolutions.ca/
> ------------------------------------------------------------
>   Don't put for tomorrow what you can do today, because if 
>       you enjoy it today you can do it again tomorrow.
> 



More information about the mapserver-users mailing list