[mapguide-internals] MapGuide RESTful Web Service
Haris Kurtagic
haris at sl-king.com
Wed Sep 5 06:00:10 EDT 2007
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
More information about the mapguide-internals
mailing list