19
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 Eberle3rd June 20141 Process chaining capabilities based on OGC Web Processing Services Jonas Eberle, Anna Homolka Friedrich-Schiller-University

Embed Size (px)

Citation preview

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 7

3. Possibilities of process chaining

•Service chaining•BPEL•XProc

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 10

3. Possibilities of process chaining

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 15

4. A new WPS workflow description language

• XML example #1

Jonas Eberle 3rd June 2014 16

4. A new WPS workflow description language

• XML example #2

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]