190 likes | 199 Views
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 ). About me.
E N D
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)
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
Agenda • Definitions • Use cases & requirements • Possibilities of process chaining • Service chaining • BPEL • XProc • Advantages & Disadvantages • A new WPS workflow description language • Summary & Discussion
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)
2. Use cases & requirements • Possible use cases • Pre-defined workflows • Data access fallback processes Workflow Static variables User inputs Data download Data processing Data analysis Output files generation Process #1 Process #2 If process #1 fails, process #2 is being started. Data file output Data processing
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
3. Possibilities of process chaining • Service chaining • BPEL • XProc
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
3. Possibilities of process chaining BPEL: • BPEL engine necessary (e.g., Apache ODE) • WPS needs WSDL descriptions Example sequence:
3. Possibilities of process chaining Example sequence:
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
3. Possibilities of process chaining XProc example: https://code.google.com/p/xproc-examples/source/browse/trunk/06_simple_xquery/pipe.xpl
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
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
4. A new WPS workflow description language • XML example #1
4. A new WPS workflow description language • XML example #2
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
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?
Thank you for your attention! Questions? Contact information: Jonas Eberle Friedrich-Schiller-University Institute for Geography Department Earth Observation Loebdergraben 32 07743 Jena, Germany phone: +49 3641 94 88 89 email: jonas.eberle@uni-jena.de