22
Grid-enabling OGC Web Services Andrew Woolf, Arif Shaon STFC e-Science Centre Rutherford Appleton Lab

Grid-enabling OGC Web Services Andrew Woolf, Arif Shaon STFC e-Science Centre Rutherford Appleton Lab

Embed Size (px)

Citation preview

  • Grid-enabling OGC Web ServicesAndrew Woolf, Arif ShaonSTFC e-Science CentreRutherford Appleton Lab

  • OutlineOGC backgroundProfiling approachRefactoring approachGrid-enabling WPS

  • OGC backgroundKey architectural frameworksReference Model for Open Distributed Processing (RM-ODP, ISO 10746-{1,2,3,4})ISO TC211 Domain Reference Model (ISO 19101)

  • Enterprise viewpointroles, activities, policies (incl. VO)Information viewpointsemantics of information and information processing (static, invariant, dynamic schema)Computational viewpointinterfaces and computational objects (cf. CORBA IDL, WSDL portTypes)Engineering viewpointdistribution infrastructure (e.g. web services, WSRF vs OGSI)Technology viewpointchoices of technology (e.g. app servers, DBMS)RM-ODP

  • ISO 19101 Domain Reference Model

  • Spatial Data Infrastructure

  • Summary

    metadatadataservicesEnterprisediscoverydownload, viewprocessInformationISO 19115ISO 19139OGC Geography Markup Language (ISO 19136)OWS CommonComputationalOGC Catalogue Service for the Web (CSW)OGC Web Feature Service (ISO 19142)OGC Web Coverage ServiceOGC Web Map Service (ISO 19128)OGC Web Processing Service (WPS)EngineeringTechnology

  • Grid-enabling OGC: profilingUse existing specificationsIncorporate Grid functionality through convention, e.g.specific parameters for security tokensImplementation uses Grid middleware at backend

  • Grid-enabling OGC: refactoringProblems:tight coupling: service datadata providers have to be service providerslatencygeneral approach for asynchronousservice coherencedata (view, download, process)workflow abstractionabstraction: data, operationsservice consistencydata resource: WPS vs. W{M,F,C}S

  • Grid-enabling OGC: refactoringWSRF:separates service and stateful resource upon which service actsWS-Resource (implied resource pattern):identity (WS-Addressing)lifetime (WS-ResourceLifetime)state/properties (WS-ResourceProperties)publish-subscribe mechanism for state changes (WS-Notification)

  • Grid-enabling OGC: refactoringExisting OGCWSRF-refactored

  • Grid-enabling WPSWPS provides standardised means of publishing, discovery and use of geospatial processes on the webFundamentally, both WPS and Grid provide a remote interface for invoking computational processes

  • Grid-enabling WPSJSDL provides a standardised description of a computational job and its required resourcesSimilarities with WPS:process description information (Identifier, JobIdentification/JobName)process outputs and inputs (DataInputs, POSIXApplication/Input,Argument,Output, DataStaging/Source)sufficient to produce a valid JSDL documentDifferences with WPS:resource requirements (filesystem parameters, disk space, operating system, CPU, etc.)data staging instructions for input and output

  • Grid-enabling WPSWPS+JSDL as interface to encapsulated Grid resource

    JSDL consumed by compliant implementation, e.g. GridSAMTwo broad options:conceptually distinct data input parameters (through a specific JSDL parameter)ordinary data input parameters

  • Grid-enabling WPSThree approaches to distinct JSDL data input parameters:URL to a complete pre-created JSDL document, or valid snippethttp://foo.bar.1/wps?version=1.0.0&request=Execute&service=WPS&Identifier=WeatherGenerator&DataInput=other_inputs=xxx;JSDL=http://www.foo.com/myfoo.jsdl@Format=text/xml&storeExecuteResponse=true&status=trueURL-encoded JSDL document or snippethttp://foo.bar.1/wps?version=1.0.0&request=Execute&service=WPS&Identifier=WeatherGenerator&DataInput=other_inputs=xxx;JSDL=%3CJobDefinition%3E%3CJobDescription%3E%3CResources%3E%3CTotalDiskSpace%3E%3CExact%3E5%3C%2FExact%3E%3C%2FTotalDiskSpace%3E%3CTotalCPUCount%3E%3CExact%3E1%3C%2FExact%3E%3C%2FTotalCPUCount%3E%3C%2FResources%3E%3C%2FJobDescription%3E%3C%2FJobDefinition%3E@Format=text/xml@Schema=http://server/jsdl.xsd&storeExecuteResponse=true&status=trueMicroformathttp://foo.bar.1/wps?version=1.0.0&request=Execute&service=WPS&Identifier=WeatherGenerator&DataInput=other_inputs=xxx;JSDL=[TotalDiskSpace=5;TotalCPUCount=1]@Format=text/kvp&storeExecuteResponse=true&status=true

  • Grid-enabling WPSJSDL parameters encoded as individual WPS DataInput parametershttp://foo.bar.1/wps?version=1.0.0&request=Execute&service=WPS&Identifier=WeatherGenerator&DataInput=other_inputs=xxx;TotalDiskSpace=5;TotalCPUCount=1&storeExecuteResponse=true&status=trueBUT....JSDL parameters are not inputs to the WPS process, but rather specify required resources

  • Grid-enabling WPSSecurityOGC security is subject of considerable ongoing workfor now, used lightweight (and dodgey) solution:MyProxy parameters embedded in requestsecure transport layer

  • Grid-enabling WPSImplementation:UK National Grid ServiceBADC Trajectory Servicepart of OWS-6 testbedWPS 1.0.0-compliant

  • Grid-enabling WPSGrid-enabled WPSPylons FrameworkUK NGSGridMyProxy ServerExecute Process (SOAP) Verify Cert.Job IdQuery/ResponseResponseWPS Response

  • Grid-enabling WPS

  • ConclusionsOGC adopts a sophisticated architectural approach to distributed geospatial data/processingNB: OGC-OGF MoU, OGF-28 (Munich Mar. 2010)Grid-enabling OGC:Profiling approachRefactoring approachExample: grid-enabled WPS profile

  • More info...OWS-6 WPS Grid Processing Profile Engineering Reporthttp://portal.opengeospatial.org/files/?artifact_id=34977OWS-6 interactive demonstrationhttp://www.opengeospatial.org/pub/www/ows6/index.htmlWPS Change Request for controlling & checking asynch processeshttps://portal.opengeospatial.org/files/?artifact_id=36732

    **********************