opengeospatial / opengeospatial/ogcapi-processes

Part 3 workflows are not very flexible and require replication (tree-like instead of graphs)

Open
#421 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Part 3 (Workflows/Chaining)
Dominant language
AsciiDoc
Stars
63
Forks
46
Avg merge
2d 1h
Merged PRs (30d)
8

Description

The workflow language as defined in Part 3 is pretty much a tree instead of a graph structure, if I understand the documentation correctly. This is not very flexible and makes workflows that start and end with a single node but split in-between overly complex and hard to maintain.

A process that is a graph such as the openEO process graph looks like this:
grafik

A similar workflows expressed in Part 3 workflows looks conceptually like this:
grafik

You can also see this in the coastal erosion example, which loads the DEM collection twice:
https://docs.ogc.org/DRAFTS/21-009.html#_coastal_erosion_susceptibility_example_workflow

This leads to duplication, is hard to maintain by users and difficult to parallelize by servers.

The workflow language should ideally be a directed acyclic graph. Languages such as CWL and the openEO process graph allow that. Thus I'm wondering whether another existing option should be chosen instead of creating a new language with limitations that other's have already faced and solved for a reason.

I'm not sure whether it's relevant here, but additions such as (remote) collection input & output can be solved through pre-defined processes for example.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Part 3 workflow definition and the coastal erosion example linked in the issue. Compare the current structure with the referenced openEO process graph and CWL approaches. Done means agreeing on and documenting a directed acyclic graph model that avoids duplicated workflow nodes.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.