Jonas Eberle3rd June 20141 Process chaining capabilities based on OGC Web Processing Services Jonas...
-
Upload
heather-elliott -
Category
Documents
-
view
216 -
download
2
Transcript of Jonas Eberle3rd June 20141 Process chaining capabilities based on OGC Web Processing Services Jonas...
Jonas Eberle 3rd June 2014 1
Process chaining capabilities based on OGC Web Processing Services
Jonas Eberle, Anna Homolka
Friedrich-Schiller-University Jena, Germany
Department for Earth Observation (Prof. Christiane Schmullius)
Jonas Eberle 3rd June 2014 2
About me
• Ph.D candidate at Department for Earth Observation, University of Jena, Germany– Operational web services for automated change detection of
global spatial time-series data to support local stakeholders
– Focus on automated data access, processing, analysis and monitoring
• Master Thesis about process chaining with OGC WPS at German Aerospace Center – Remote Sensing Data Center
• Software in use:– MapServer, MapCache, pyCSW, istSOS, PyWPS
– Drupal CMS, jQuery, OpenLayers
Jonas Eberle 3rd June 2014 3
Agenda
1. Definitions
2. Use cases & requirements
3. Possibilities of process chaining– Service chaining
– BPEL
– XProc
– Advantages & Disadvantages
4. A new WPS workflow description language
5. Summary & Discussion
Jonas Eberle 3rd June 2014 4
1. Definitions
• Process chaining / Orchestration– Workflow of different OGC WPS processes
• OGC WPS specification 1.0– Usage of BPEL engine
– WPS process as orchestration engine
– Simple service chaining integrated in execute method
• BPEL = Business Processing Executing Language– Standard of OASIS organization
– Executed by a BPEL-compliant software (e.g., Apache ODE)
Jonas Eberle 3rd June 2014 5
2. Use cases & requirements
• Possible use cases– Pre-defined workflows
– Data access fallback processes
Workflow
Process #1Process #1 Process #2Process #2
Data processing
Data processing
If process #1 fails, process #2 is being started.
Data download
Data download
Data processing
Data processing
Data analysis
Data analysis
Output files generationOutput files generation
Static variables
Static variables
Use
r in
puts
Use
r in
puts
Data file output
Data file output
Jonas Eberle 3rd June 2014 6
2. Use cases & requirements
• Requirements– Execution as usual WPS process
– Asynchronous process execution is needed
– Status updates of workflow is necessary
– Simple XML language to describe workflow
– Workflow language:• Definition of workflow inputs, outputs & static variables• Try/Catch• If/Else• Terminate with error message
Jonas Eberle 3rd June 2014 8
3. Possibilities of process chaining
Service Chaining:•Using an WPS request (HTTP GET) as input variable•Only one output can be used from prior process•Not possible with HTTP POST
Only recommended for service inputs, but not for complex chaining
Jonas Eberle 3rd June 2014 9
3. Possibilities of process chaining
BPEL:•BPEL engine necessary (e.g., Apache ODE)•WPS needs WSDL descriptions
Example sequence:
Jonas Eberle 3rd June 2014 11
3. Possibilities of process chaining
XProc:•Recommendation of and developed by the W3C XML Processing Model Working Group•XProc = XML Pipeline language•Currently „Call for Review“ for XProc 2.0•http://www.w3.org/TR/2010/REC-xproc-20100511/
•Usage of XSLT, XQuery to transform and parse XML/Outputs•Execution engine is needed•WPS can be executed directly through HTTP GET/POST, no need for SOAP / WSDL descriptions
Jonas Eberle 3rd June 2014 12
3. Possibilities of process chaining
XProc example:
https://code.google.com/p/xproc-examples/source/browse/trunk/06_simple_xquery/pipe.xpl
Jonas Eberle 3rd June 2014 13
3. Possibilities of process chaining
• Advantages of BPEL/XProc– XML language independent from OGC WPS
– XProc provides tags of try/catch, if/else, loops, etc.
• Disadvantages of BPEL/XProc– Complex because of flexibility
– Hard to read because of complete WPS Execute statements
– How to realize status updates of workflow process?
– Implementing asynchronous executions is complex
• Solution? Workflow language targeted to OGC WPS
Jonas Eberle 3rd June 2014 14
4. A new WPS workflow description language
• Objectives– XML just describes the workflow
– WPS orchestration process parses XML and executes each individual WPS process
– Individual status updating during process orchestration
• Why another workflow description language?– Simple but flexibel with focus on OGC WPS
– Orchestration engine implemented as WPS process
Jonas Eberle 3rd June 2014 17
4. A new WPS workflow description language
• Implementation in PyWPS 3– Python-based OGC WPS 1.0 implementation
– Python process to parse and run workflow description• WPS client: owslib• Status updates of process
– Further aim: Have outputs available when process has finished and workflow is still running
• Google Summer of Code:– Wiki page: http://wiki.rsg.pml.ac.uk/pywps/AnnaHomolka
– Github: https://github.com/AnnaHomolka/PyWPS
– Proposal: http://goo.gl/5aubDX
Jonas Eberle 3rd June 2014 18
5. Summary & Discussion
• Proposal of a new workflow description language for OGC WPS processes– BPEL/XProc are too general (Execution, Orchestration,
Asynchronous)
– Easy to read and understand
– Implementation with PyWPS
• Further suggestions? Ideas?
Jonas Eberle 3rd June 2014 19
Thank you for your attention!
Questions?
Contact information:
Jonas EberleFriedrich-Schiller-University
Institute for GeographyDepartment Earth Observation
Loebdergraben 3207743 Jena, Germany
phone: +49 3641 94 88 89email: [email protected]