| 1 | [[PageOutline]] |
| 2 | |
| 3 | This page is part of the [wiki:Future MapGuide Future] section, where ideas are proposed and refined |
| 4 | before being turned into RFCs (or discarded). Visit the [wiki:Future] page to view more! |
| 5 | |
| 6 | = Overview = |
| 7 | |
| 8 | This page is a living proposal for improving the scalability of the Tile Service. [[BR]] |
| 9 | Mapguide supports tiled maps via both WMS and it's own Tile Service using GETTILETIMAGE. |
| 10 | |
| 11 | Recently support was added in Openlayers & Fusion to access the Tile Service via an API.[[BR]] |
| 12 | [http://dev.openlayers.org/apidocs/files/OpenLayers/Layer/MapGuide-js.html OpenLayers. Layer. MapGuide][[BR]] |
| 13 | [http://trac.openlayers.org/ticket/995 #995 (add support for MapGuide OS layer type) - OpenLayers - Trac][[BR]] |
| 14 | |
| 15 | |
| 16 | = API Ideas = |
| 17 | |
| 18 | '''SETTILEIMAGE''' would allow the tile cache to seeded without needing to have remote access to the server file system. |
| 19 | |
| 20 | '''GETTILEPARAMS''' would return a list of scale ranges, tile sizes and bounds for a given tile cache. |
| 21 | |
| 22 | '''GETTILECACHE''' would return a 'map' of the tile cache, listing which tiles exist and which ones haven't yet been created |
| 23 | |
| 24 | '''HAVETILEIMAGE''' would enable a server to poll another server(s) in the cluster, [[BR]] |
| 25 | returning status codes of 200 ok or 404 Not Found respectively. This allows the server to[[BR]] |
| 26 | check the tile cache without triggering a tile render on the polled server. |
| 27 | |
| 28 | These would enable more extensive API based management of a cluster of Mapguide servers, via accurate seeding[[BR]] |
| 29 | and management of the tile caches. |
| 30 | |
| 31 | = Cacheability Ideas = |
| 32 | |
| 33 | [wiki:MapGuideRfc11] added support for a '''Stateless Http GETTILEIMAGE request''', however, these tiles are served [[BR]] |
| 34 | without any cache headers which means they can only be proxied using a custom 'aggressive' proxy service. [[BR]] |
| 35 | |
| 36 | [ticket:467 Add proper cache headers & file date to GETTILEIMAGE response] addresses this issue. |
| 37 | |
| 38 | Some of the issues to be resolved is how long to set the cache headers to cache the tiles before checking back [[BR]] |
| 39 | to the Mapguide Server. This could done with a serverconfig.ini default and then an overriding parameter in the [[BR]] |
| 40 | ResourceHeader. |
| 41 | |
| 42 | = WMS = |
| 43 | |
| 44 | [ticket:286: WMS Cache headers] - see above. |
| 45 | |
| 46 | [ticket:285: Publish MapDefinitions via WMS] Currently only layers are exposed via WMS, maps should be as well. |
| 47 | |
| 48 | The WMS service doesn't currently use the tile cache, which means every WMS request is rendered. [[BR]] |
| 49 | |
| 50 | Linking the WMS service up to utilize the tile cache would dramatically improve the performance [[BR]] |
| 51 | and capacity of WMS with Mapguide.[[BR]] |
| 52 | |
| 53 | |
| 54 | |
| 55 | |
| 56 | |
| 57 | |