@@ -6,12 +6,27 @@ 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
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
+ ### tl;dr
15
+
16
+ Conceptually the APIs are similar, but have some conflicts that can't be resolved easily
17
+ (e.g. process description with multiple outputs in OAP1, job listing with different job status values).
18
+
19
+ A key differentiator between OAP1 and openEO is that process chaining is a fundamental concept in openEO
20
+ to build your own workflows while OAP1 is more meant to run larger "black box" workflows. You can add
21
+ workflows with Part 3 of OGC API - Processes.
22
+
23
+ Another key differentiator is that openEO has a list of pre-defined but extensible processes available
24
+ while OGC API - Processes doesn't predefine processes.
25
+
26
+ As such the target audience of OAP1 and openEO is probably only partially overlapping.
27
+
14
28
The openEO API covers the following "categories" of endpoints:
29
+
15
30
- [ API discovery] ( #api-discovery ) - partially covered by OGC API - Processes - Part 1
16
31
- [ Authentication] ( #authentication ) - not defined by OGC
17
32
- [ Data Discovery] ( #data-discovery ) - covered by various other OGC APIs (Coverages, EDR, Features, Records, ...)
@@ -24,6 +39,8 @@ The openEO API covers the following "categories" of endpoints:
24
39
- [ On-demand processing] ( #on-demand-processing ) - covered by other OGC APIs (Maps, Tiles, ...)
25
40
- [ File Storage] ( #file-storage ) - not covered by OGC APIs
26
41
42
+ ## General API mechanics
43
+
27
44
Both APIs use HTTP as the basis and encourage HTTPS.
28
45
HTTP 1.1 is required for OAP1, while openEO doesn't specify a specific HTTP version.
29
46
The APIs follow REST principles and make use of HTTP content negotiation.
@@ -132,11 +149,18 @@ and OAP1 still provides a predefined set of fields which conflict with openEO (s
132
149
133
150
The openEO API specifies a single encoding for process descriptions.
134
151
135
- An important difference is that in OAP1 you usually execute just one process
152
+ An important difference is that in OAP1 you just execute one process
136
153
(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)
154
+ This means a process in OAP1 is often more complex.
155
+ In openEO a process is often very fine-granular (e.g. addition of two numbers)
139
156
and you usually chain multiple of them to a more complex process (graph).
157
+ The process chaining into a full graph is fundamental in openEO.
158
+
159
+ Another major difference is that in openEO there are
160
+ [ pre-defined process descriptions available for common use cases] ( https://processes.openeo.org ) .
161
+ OGC API - Processes doesn't provide pre-defined process descriptions.
162
+ In theory, you could re-use the openEO processes in OGC API - Processes
163
+ if OGC API - Processes - Part 3 is implemented for chaining.
140
164
141
165
### Pre-defined processes
142
166
0 commit comments