@@ -6,12 +6,26 @@ This document gives a brief overview over similarities and differences between
66
77In the following I use ** OAP1** as an abbreviation for ** OGC API - Processes - Part 1** .
88
9- ## General
9+ ## Introduction (tl;dr)
1010
1111OCG API - Processes defines just processing, while the openEO API has a much broader scope.
1212openEO covers many parts that other OGC API specifications define, some are aligned some are not.
1313
14+ Conceptually the APIs are similar, but have some conflicts that can't be resolved easily
15+ (e.g. process description with multiple outputs in OAP1, job listing with different job status values).
16+
17+ A key differentiator between OAP1 and openEO is that process chaining is a fundamental concept in openEO
18+ to build your own workflows while OAP1 is more meant to run larger "black box" workflows. You can add
19+ workflows with Part 3 of OGC API - Processes.
20+
21+ Another key differentiator is that openEO has a list of
22+ [ pre-defined but extensible processes] ( https://processes.openeo.org ) available
23+ while OGC API - Processes doesn't predefine processes.
24+
25+ As such the target audience of OAP1 and openEO is probably only partially overlapping.
26+
1427The openEO API covers the following "categories" of endpoints:
28+
1529- [ API discovery] ( #api-discovery ) - partially covered by OGC API - Processes - Part 1
1630- [ Authentication] ( #authentication ) - not defined by OGC
1731- [ Data Discovery] ( #data-discovery ) - covered by various other OGC APIs (Coverages, EDR, Features, Records, ...)
@@ -24,6 +38,8 @@ The openEO API covers the following "categories" of endpoints:
2438 - [ On-demand processing] ( #on-demand-processing ) - covered by other OGC APIs (Maps, Tiles, ...)
2539- [ File Storage] ( #file-storage ) - not covered by OGC APIs
2640
41+ ## General API mechanics
42+
2743Both APIs use HTTP as the basis and encourage HTTPS.
2844HTTP 1.1 is required for OAP1, while openEO doesn't specify a specific HTTP version.
2945The APIs follow REST principles and make use of HTTP content negotiation.
@@ -132,11 +148,18 @@ and OAP1 still provides a predefined set of fields which conflict with openEO (s
132148
133149The openEO API specifies a single encoding for process descriptions.
134150
135- An important difference is that in OAP1 you usually execute just one process
151+ An important difference is that in OAP1 you just execute one process
136152(you can optionally chain them using OGC API - Processes - Part 3).
137- This means a process in OAP1 are usually more complex.
138- In openEO a process is usually very fine-granular (e.g. addition of two numbers)
153+ This means a process in OAP1 is often more complex.
154+ In openEO a process is often very fine-granular (e.g. addition of two numbers)
139155and you usually chain multiple of them to a more complex process (graph).
156+ The process chaining into a full graph is fundamental in openEO.
157+
158+ Another major difference is that in openEO there are
159+ [ pre-defined process descriptions available for common use cases] ( https://processes.openeo.org ) .
160+ OGC API - Processes doesn't provide pre-defined process descriptions.
161+ In theory, you could re-use the openEO processes in OGC API - Processes
162+ if OGC API - Processes - Part 3 is implemented for chaining.
140163
141164### Pre-defined processes
142165
0 commit comments