@@ -6,12 +6,25 @@ This document gives a brief overview over similarities and differences between
6
6
7
7
In the following I use ** OAP1** as an abbreviation for ** OGC API - Processes - Part 1** .
8
8
9
- ## General
9
+ ## Introduction (tl;dr)
10
10
11
11
OCG API - Processes defines just processing, while the openEO API has a much broader scope.
12
12
openEO covers many parts that other OGC API specifications define, some are aligned some are not.
13
13
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 pre-defined but extensible processes available
22
+ while OGC API - Processes doesn't predefine processes.
23
+
24
+ As such the target audience of OAP1 and openEO is probably only partially overlapping.
25
+
14
26
The openEO API covers the following "categories" of endpoints:
27
+
15
28
- [ API discovery] ( #api-discovery ) - partially covered by OGC API - Processes - Part 1
16
29
- [ Authentication] ( #authentication ) - not defined by OGC
17
30
- [ Data Discovery] ( #data-discovery ) - covered by various other OGC APIs (Coverages, EDR, Features, Records, ...)
@@ -24,6 +37,8 @@ The openEO API covers the following "categories" of endpoints:
24
37
- [ On-demand processing] ( #on-demand-processing ) - covered by other OGC APIs (Maps, Tiles, ...)
25
38
- [ File Storage] ( #file-storage ) - not covered by OGC APIs
26
39
40
+ ## General API mechanics
41
+
27
42
Both APIs use HTTP as the basis and encourage HTTPS.
28
43
HTTP 1.1 is required for OAP1, while openEO doesn't specify a specific HTTP version.
29
44
The APIs follow REST principles and make use of HTTP content negotiation.
@@ -132,11 +147,18 @@ and OAP1 still provides a predefined set of fields which conflict with openEO (s
132
147
133
148
The openEO API specifies a single encoding for process descriptions.
134
149
135
- An important difference is that in OAP1 you usually execute just one process
150
+ An important difference is that in OAP1 you just execute one process
136
151
(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)
152
+ This means a process in OAP1 is often more complex.
153
+ In openEO a process is often very fine-granular (e.g. addition of two numbers)
139
154
and you usually chain multiple of them to a more complex process (graph).
155
+ The process chaining into a full graph is fundamental in openEO.
156
+
157
+ Another major difference is that in openEO there are
158
+ [ pre-defined process descriptions available for common use cases] ( https://processes.openeo.org ) .
159
+ OGC API - Processes doesn't provide pre-defined process descriptions.
160
+ In theory, you could re-use the openEO processes in OGC API - Processes
161
+ if OGC API - Processes - Part 3 is implemented for chaining.
140
162
141
163
### Pre-defined processes
142
164
0 commit comments