Nice patch! Big but very clean.

The only minor suggestion/note i have is that 
WMSLayerINfoImpl.getWMSLayer() does a lot of work inline. The other 
ResourceInfoImpl classes delegate out to ResourcePool for all resource 
loading operations. It would be nice to follow that same pattern. 
Especially if the proposal to make the catalog classes pure java beans 
ever comes to light.

-Justin


On 5/4/10 11:53 AM, Andrea Aime wrote:
> Hi,
> during the last few days I've been working on implementing
> WMS cascading for GeoServer trunk.
>
> The first patch is ready and attached to
> http://jira.codehaus.org/browse/GEOS-623.
>
> I'm going to make a formal GSIP tomorrow, but in the meantime
> allow me to share a few screenshots of the work and a brief
> description.
>
> Once patched the GUI allows to create a new "WMS store" by
> providing a capabilities link. After that we get to the usual
> layer listing, and then to the usual layer configuration
> page.
>
> The layer config page metadata are filled using the values
> found in the cascaded WMS capabilities document, including
> bounds, srs, descriptions, keywords and whatnot.
> The only visible difference compared to a normal layer config
> page is that you don't have a style chooser, since cascading
> works, at this point, by simply using the default style.
>
> The preview shows the cascaded layers with their own icon
> (thanks Rollie for being prevident and preparing WMS layer
> icons as well), and you can then follow and browse the
> cascaded maps as if they were local.
>
> Functionality implemented in the GetMap cascading:
> - standard cascading
> - reprojected cascading, trying to pass down to the remote
> server the destination SRS when possible, reprojecting
> on the client when not possible (see the EPSG:900913
> reprojection screenshot, looks nice because the srs
> was passed down)
> - request merging, if n consequent layers are cascaded
> from the same server a single GetMap will be issued
> - the WebMapServer instance is cached at the ResourcePool
> level making sure we don't do too many GetCapabilities
> requests (caching the WebMapServer object results in
> the caching of the GetCapabilities response)
>
> I've also implemented GetFeatureInfo cascading for the
> case in which the remote server supports GML2 output
> This has been tested against GS only, could not find
> a MapServer instance that actually does GML output,
> often it's listed in the caps but results to the request are
> consistently empty.
> GetFeatureInfo cascading works also in the reprojected
> case.
>
> What's missing? Well, I guess it's enough for the first
> cut (the sponsored one), though of course we can do better
> a number of things:
>
> - add support for alternate styles
> - allow the admin to specify a timeout (right now it's
> hard coded)
> - full support in Restconfig (we need to add new resources
> there)
> - improve the GeoTools client code so that we can use
> HTTP 1.1 persistent connections and limit the number
> of parallel connections we make to a single server
> (right now GS is badly behaved from an HTTP client
> point of view).
> - allow the user to choose the format used for cascading.
> Now we try png
> - maybe add a pure proxy mode, if the request contains
> only cascaded layers avoid decoding the image to just
> re-encode it afterwards
> - add support for WMS with access restrictions (this is
> really just a matter of configuration, the gt2 module
> does that already)
> - support cascaded layers in GetMap requests that use
> &SLD and &SLD_BODY
>
> Anyone interested in picking up from the above list? ;-)
>
> Cheers
> Andrea
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel


-- 
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

------------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to