Title: Workflow Enactment of Grid-Enabled Geospatial Web Services
1Workflow Enactment of Grid-Enabled Geospatial Web
Services
- Gobe Hobona, David Fairbairn, Philip James
UK e-Science All Hands Meeting - 12th September
2007 - Nottingham
2Overview
- Background
- OGC Web Services
- Workflow Enactment
- SAW-GEO Architecture
- User interface Geoportal
- Conclusions
3Background
- Open Geospatial Consortium (OGC)
- ISO19119 and OGSA
- JISC Grid/OGC Collision Programme
- Security SEE-GEO
- Workflow SAW-GEO
- OGC Interoperability Experiments (OWS-4)
4OGC 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
5Sample OWS Request Messages
ltGetCoverage service"WCS" version"1.0.0"
xmlns"http//www.opengis.net/wcs"
xmlnsnurc"http//www.nurc.nato.int"
xmlnsogc"http//www.opengis.net/ogc"
xmlnsgml"http//www.opengis.net/gml"
xmlnsxsi"http//www.w3.org/2001/XMLSchema-instan
ce" xsischemaLocation"http//www.opengis.net/
wcs http//schemas.opengis.net/wcs/1.0.0/getCovera
ge.xsd"gt ltsourceCoveragegtnurcArc_Samplelt/sourceCo
veragegt ltdomainSubsetgt ltspatialSubsetgt ltgmlEnvelo
pe srsName"EPSG4326"gt ltgmlposgt9.420000076293944
42.20000076293945lt/gmlposgt ltgmlposgt11.819999694
824217 43.90000049273173lt/gmlposgt lt/gmlEnvelopegt
.. lt/domainSubsetgt ltrangeSubsetgtltaxisSubset
name"Band"gtltsingleValuegt1lt/singleValuegtlt/axisSubs
etgtlt/rangeSubsetgt ltoutputgt ltcrsgtEPSG4326lt/crsgtltre
sponseCrsgtEPSG32626lt/responseCrsgtltformatgtTIFFlt/fo
rmatgt lt/outputgt lt/GetCoveragegt
ltwfsGetFeature service"WFS" version"1.0.0"
outputFormat"GML2" xmlnstopp"http//www.openp
lans.org/topp" xmlnswfs"http//www.opengis.net
/wfs" xmlnsogc"http//www.opengis.net/ogc"
xmlnsgml"http//www.opengis.net/gml"
xmlnsxsi"http//www.w3.org/2001/XMLSchema-instan
ce" xsischemaLocation"http//www.opengis.net/w
fs http//schemas.opengis.ne
t/wfs/1.0.0/WFS-basic.xsd"gt ltwfsQuery
typeName"toppstates"gt ltwfsPropertyNamegttopp
STATE_NAMElt/wfsPropertyNamegt
ltwfsPropertyNamegttoppPERSONSlt/wfsPropertyNamegt
ltogcFiltergt ltogcBBOXgt
ltogcPropertyNamegtthe_geomlt/ogcPropertyNamegt
ltgmlBox srsName"http//www.opengis.net/gml/s
rs/epsg.xml4326"gt ltgmlcoordinatesgt-75
.102613,40.212597 -72.361859,41.512517lt/gmlcoordi
natesgt lt/gmlBoxgt lt/ogcBBOXgt
lt/ogcFiltergt lt/wfsQuerygt lt/wfsGetFeaturegt
6Sample OWS Response Messages
lt/gmlfeatureMembergt ltgmlfeatureMembergt lttopps
tates fid"states.40"gt lttoppthe_geomgt ltgmlMultiP
olygon srsName"http//www.opengis.net/gml/srs/eps
g.xml4326"gt ltgmlpolygonMembergt ltgmlPolygongt ltgm
louterBoundaryIsgt ltgmlLinearRinggt ltgmlcoordinat
es decimal"." cs"," ts" "gt -77.476082,39.719528
-78.096222,39.725368 74.984978,41.099285
-74.989265,41.081665 -74.966675,41.082581
-77.476082,39.719528 lt/gmlcoordinatesgt lt/gmlLine
arRinggt lt/gmlouterBoundaryIsgt lt/gmlPolygongt lt/gm
lpolygonMembergt lt/gmlMultiPolygongt lt/toppthe_ge
omgt lttoppSTATE_NAMEgtPennsylvanialt/toppSTATE_NAME
gt lttoppPERSONSgt1.1881643E7lt/toppPERSONSgt lt/topp
statesgt lt/gmlfeatureMembergt ltgmlfeatureMembergt
.
- NCOLS 522
- NROWS 300
- XLLCENTER -1.6878262291489
- YLLCENTER 54.93369175561999
- CELLSIZE 3.013533976228086E-4
- NODATA_VALUE -9999.0
- 62.20000 61.70000 61.20000 61.20006 60.7000 60.400
00 60.40000 60.09999 59.5 - 61.79999 61.5 61.09999 61.09999 60.7000 60.40000 6
0.40000 60.20000 60.09999847 - 61.79999 61.5 61.099998 61.09999 60.7999 60.5 60.5
60.5 60.5 - 61.90000 61.59999 61.20000 61.20000 60.9000 60.700
00 60.70000 60.79999 60.5 - 62.5 62.20000 61.799999 61.79999 61.79999 61.4000
0 61.40000 61.09999 60.90000153 - 62.70000 62.40000 62.40000 62.40000 62 61.70000 61
.70000 61.40000 61.09999847 - 63.09999 63 62.59999 62.59999 62.4000 62 62 61.799
99 61.5 - 63.70000 63.5 63.20000 63.20000 62.9000 62.59999 6
2.59999 62.40000 62.09999847 - 63.90000 63.70000 63.40000 63.400001 63.0999 62.90
000 62.90000 62.59999 62.40000153 - 64.19999 64 63.70000 63.70000 63.5 63.29999 63.299
999 63.09999 62.79999924 - 64.40000 64.19999 64 64 63.7000 63.59999 63.599997
63.29999 63.09999847 - 64.90000 64.69999 64.5 64.5 64.4000 64.19999 64.19
999 64 63.79999924 - 64 64.90000 64.80000 64.80000 64.5999 64.5 64.5 6
4.40000 64.19999695
7Grid-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
8Geospatial 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
9Load Experiment
10Workflow 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
11WS-BPEL Overview
- Based on Activities
- Basic or Structured
- Variables
- Declaration
- Assignment
- Conditionals
- Loops
- Fault handlers
12An Example Geospatial Workflow
WPS 1 Generalise
WFS
Workflow Enactor
client
WPS 2 Clip
Based on OGC OWS-4 GeoProcessing Workflow Scenario
13Possible 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
14Components
- Geoserver
- 52North WPS
- ActiveBPEL Open Source Engine
- Globus Toolkit (GT4)
or Apache Axis 2
15SAW-GEO Architecture
16Geoportal
- 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
17ActiveBPEL Workflow Engine
18Discussion
- 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
19Conclusions
- 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
20Future 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 - http//www.edina.ac.uk/projects/seesaw
- Integration with SEE-GEO