OwsNotes / !DataServicesProposal = Service Proposals = == Implementing a CSML-API service == A minimal CSML API must be able to do the following with a CSMLDataset 1. Serve the CSMLFeatureCollection element. 1. Expose the CSML affordances associated one of its CSMLFeatures. 1. Serve the output of CSML affordances as a CSMLDataset + associated data files. This will be called a CSMLBundle. Optionally it would also be useful to: 1. Serve parts of the CSMLFeatureCollection for efficient querying of properties such as grid axes and units. OwsNotes/OgcServicesReview discusses how the different OGC services could be used to expose CSML affordances. Based on that page and the premises above we could implement a CSML-API service as a combination of WFS and WPS services: === A Basic WFS service === This would serve CSMLFeatureCollections. Querying parts of the CSMLFeatureCollection structure would be suppored using XLINK property queries. A nice additional feature would be to allow delivery of features as JSON for easier AJAX client integration. === A WPS-affordance service (WPSa) === CSML affordances would be implemented as WPS processes. Each process would produce a CSMLBundle output. We would need to decide whether affordance operations block until complete or whether the WPS store function must be implemented. WPS-store adds more flexibility and better response but requires cache control. == Implementing visualisation services == We want to: 1. Plot geospatial data as lat/lon horizontal slices. 1. Overlay one feature upon another. 1. Produce both "quick-look" and "publication-quality" images. Work on the IPCC DDC provides a good prototype for what is possible. We could again implement a pair of OGC services. === A WMS service === The IPCC DDC already serves CSML GridSeries features through a WMS. More work is required to make this code more generic (in particular mapping the WMS and CSML data models). Other features that can usefully be viewed as a projection in lat/lon could be renderred to images and served via WMS, for instance trajectories. Tools such as OpenLayers can then be easily configured to overlay WMS sources. === A WPS-vis service (WPSv) === Publication quality plots and plots that aren't lat/lon projections (e.g. timeseries) would be serves as a WPS. The IPCC DDC currently implements this as a custom request on the WMS server. A WPS could support queueing of requests that might take a long time (e.g. animations) using WPS-store. Overlays could also supported with more coding time (but also see OwsNotes/CrossSiteIssues).