Workflow Enactment of Grid-Enabled Geospatial Web Services Gobe Hobona, David Fairbairn, Philip James UK e-Science All Hands Meeting - 12 th September Nottingham
Overview Background OGC Web Services Workflow Enactment SAW-GEO Architecture User interface – Geoportal Conclusions
Background Open Geospatial Consortium (OGC) ISO19119 and OGSA JISC Grid/OGC Collision Programme Security : SEE-GEO Workflow : SAW-GEO OGC Interoperability Experiments (OWS-4)
OGC Web Services Web Feature Services (WFS) Disseminates vector geospatial data Web Map Services (WMS) Generates geovisualisations/maps from any geo-data source Web Coverage Services (WCS) Disseminates raster geospatial data Web Processing Services (WPS) Runs geocomputational models or geospatial operations on user-supplied datasets
Sample OWS Request Messages <wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2" xmlns:topp=" xmlns:wfs=" xmlns:ogc=" xmlns:gml=" xmlns:xsi=" xsi:schemaLocation=" topp:STATE_NAME topp:PERSONS the_geom , , <GetCoverage service="WCS" version="1.0.0" xmlns=" xmlns:nurc=" xmlns:ogc=" xmlns:gml=" xmlns:xsi=" xsi:schemaLocation=" nurc:Arc_Sample ….. 1 EPSG:4326 EPSG:32626 TIFF
Sample OWS Response Messages … , , …… , , , , Pennsylvania E7 …. NCOLS 522 NROWS 300 XLLCENTER YLLCENTER CELLSIZE E-4 NODATA_VALUE
Grid-enabling OWS SOAP-based proxy service Created from OGC XML schemas (XSD) Requests create temporary datasets Resource management at two levels Temporary datasets managed by proxy service Persistent data managed through OWS e.g. WFS-T Security limitations OWS currently do not offer message encryption Approach to wrap OWS in firewall and allow external access only through proxy service
Geospatial Data is Very Large Vector data Thousands of coordinates Multiple dimensions Raster data Thousands of pixels (very high resolution) Multispectral imagery (200+ band imagery) Solution Pass data by URL references and get client to stream data in
Load Experiment
Workflow Enactment Recognised by both ISO19119 and OGSA Several options for workflow enactment SCUFL, BPEL, Keppler etc Selected BPEL because OASIS Standard, i.e. WS-BPEL 2.0 Multi-vendor support including IBM, Sun Microsystems, ActiveEndpoints, Oracle etc Availability of open source enactors
WS-BPEL Overview Based on Activities Basic or Structured Variables Declaration Assignment Conditionals Loops Fault handlers
An Example Geospatial Workflow Based on OGC OWS-4 GeoProcessing Workflow Scenario client Workflow Enactor WPS 1 Generalise WPS 2 Clip WFS
Possible Applications for Geo-Workflows Emergency Management Where each activity depends on the result of a previous activity Geographic modelling Where several steps are needed before a final model is produced e.g. ESRI Model Builder Climate Change scenarios Where a number of possible routes for workflows are possible depending on the state of certain variables
Components Geoserver 52North WPS ActiveBPEL Open Source Engine Globus Toolkit (GT4) …or Apache Axis 2
SAW-GEO Architecture
Geoportal User Browser-based BPEL Upload Hot deployment AJAX-based SOAP client Workflow Monitoring ActiveBPEL Admin Console Offers views of deployed processes Exports a list of available services to the SOAP client as XML Red font: Developed for SAW-GEO
ActiveBPEL Workflow Engine
Discussion Importing OGC XSD into SOAP services offered high interoperability However, variations in how tiers interpreted the XSD varying namespaces cyclic imports Necessary to throw faults at SOAP tier from faults at OGC tiers, because BPEL can handle SOAP faults Variations in GML between workflow nodes, potentially requiring shim services when chaining OWS
Conclusions SOAP wrappers needed for Grid-enabling OGC web services OGC XSD appropriate for creating SOAP wrappers Geospatial data best passed through URL references to avoid overwhelming the workflow enactor BPEL can support Grid-enabled OGC web services
Future Work Experimental deployment on the Belfast e-Science Centre (BeSC) DEBUT system Investigate deployment on upcoming NGS GT4 infrastructure User Evaluation (November-December 2007) Volunteers needed – Please register on the website Integration with SEE-GEO