[mapguide-internals] MapGuide RESTful Web Service

Kenneth, GEOGRAF A/S ks at geograf.dk
Wed Sep 5 06:45:06 EDT 2007


Very nice indeed.
I am unfamiliar with REST, but the idea of exposing the server as a 
webservice is much appreciated.
Currently I have been using the HTTP tier to achieve this, but it is 
missing functionality.

I have considered something like this before, but there is a huge pile 
of work in implementing definitions for the datastructures (ea. map 
definition, runtime map, layerdefinition, etc.).
How do you adress that issue?



Regards, Kenneth, GEOGRAF A/S



Haris Kurtagic skrev:
> My colleague Simon Pelicon and I are working on adding a Web Service
> functionality to Map Guide Open Source.
>
> We are trying to implement it as RESTful Web Service.
>
> We have a working prototype which I will publish in a couple days.
>
>  
>
> I would appreciate any comments and suggestions. 
>
>  
>
> Current implementation of  MapGude WebTier is something which is most
> similar  to REST-RPC hybrid ( from Leonard Richardson & Sum Ruby book on
> RESTfule Web Services).
>
> I want to create a RESTful web service which would follow rules like:
> Addressability, Statelessness and Connectedness.
>
>  
>
> For example working with session MAP is like:
>
>  
>
>  1. URI for get data about MAP
>
>  HttpMethod: GET URI: BASEURI/REST/SESSION[Id]/MAP[Id]
>
>  
>
>  2. URI creating new MAP in Session
>
>  HttpMethod: POST URI: BASEURI/REST/SESSION[Id]/MAP ? MapDefName={Map
> Definition Name}
>
>  
>
> 3. Get Image ( return png )
>
>  HttpMethod: GET URI:
> BASEURI/REST/SESSION[Id]/MAP[Id]/Image.Png[...ImageCreationParameters...
> ] {.jpg }
>
>  
>
> 4. Get Image Extent ??
>
>  HttpMethod: GET URI: BASEURI/REST/SESSION[Id]/MAP[Id]/Extent
>
>  
>
>  5. Set Image Extent  ??
>
>  HttpMethod: PUT URI: BASEURI/REST/SESSION[Id]/MAP[Id]/Extent ?
> {SETCETNTERX=..}&{SETCENTERY=..}&..   
>
>  
>
> Also there are URI defined for WebLayout and Session.
>
> Service is supporting response as JSON, XML and JSONP.
>
>  
>
> Implementation:
>
>  
>
> I have implemented new ISAPI extension for handling request.
>
> Request which are not handled trough RETS are implemented with standard
> HTTP handlers so all previous request  are served normally as well
>
> What it means that also standard viewer is working trough this
> extension.
>
>  
>
> Installation is quite simple just copy files and change in IIS request
> .fcgi to .* to new extension.
>
>  
>
> Simon is working on a viewer which is using just REST request. 
>
> This viewer doesn't need web tier ( php, jsp, asp) to run and it even
> doesn't need to be run from web server.
>
> You can open viewer html  in browser from desktop and use any MapGuide
> Site.
>
>  
>
> We have working prototype which will release in a 2-3 days so you will
> be able to try it.
>
>  
>
> Very long email from me, but topic is quite large.
>
> I would appreciate if you would share your thoughts on  this topic.
>
>  
>
> Thanks,
>
> Haris
>
>  
>
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
>   


More information about the mapguide-internals mailing list