Jonas Eberle3rd June 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 Eberle3rd June 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 Eberle3rd June 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 Eberle3rd June 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 Eberle3rd June Use cases & requirements Possible use cases –Pre-defined workflows –Data access fallback processes Workflow Process #1 Process #2 Data processing If process #1 fails, process #2 is being started. Data download Data processing Data analysis Output files generation Static variables User inputs Data file output
Jonas Eberle3rd June 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 Eberle3rd June Possibilities of process chaining Service chaining BPEL XProc
Jonas Eberle3rd June 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 Eberle3rd June Possibilities of process chaining BPEL: BPEL engine necessary (e.g., Apache ODE) WPS needs WSDL descriptions Example sequence:
Jonas Eberle3rd June Possibilities of process chaining Example sequence:
Jonas Eberle3rd June 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 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 Eberle3rd June Possibilities of process chaining XProc example:
Jonas Eberle3rd June 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 Eberle3rd June 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 Eberle3rd June A new WPS workflow description language XML example #1
Jonas Eberle3rd June A new WPS workflow description language XML example #2
Jonas Eberle3rd June 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: –Github: –Proposal:
Jonas Eberle3rd June 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 Eberle3rd June Thank you for your attention! Questions? Contact information: Jonas Eberle Friedrich-Schiller-University Institute for Geography Department Earth Observation Loebdergraben Jena, Germany phone: