With a new generation of Earth Observation (EO) monitoring satellites, launched within Europe's Copernicus programme, the user community faces significant Big Data challenges. In fact, the capacity of the Copernicus' Sentinel satellites to acquire data outstrips existing capacities to transmit, store, process, and analyse them. As a result, there is an urgent need to replace traditional workflows - which rely on distributing the data to thousands of users over the internet - with cloud computing approaches that bring the users and their software to the data instead. This is one of the central paradigms of the Big Data era. Many European organisations and initiatives have recognised this need at an early stage of the Copernicus programme, and are now working towards the establishment of back-ends capable of storing and processing Petabytes of Sentinel data. Since these endpoints differ regarding e.g. their data storage infrastructure, metadata standards or user interfaces, switching between back-ends is not a trivial task for the user community. The missing standardisation forms a significant entry barrier to cloud EO processing providers for the users.
Therefore, objectives of the openEO project have been to build a common, open source interface for standardising the communication between users and back-ends, and to develop interfaces for various clients and back-ends. openEO APIs were developed to standardise process chains via the programming libraries for Python, R, and JavaScript, by using web editors or via mobile applications. Furthermore, APIs have been developed to translate these standardised commands into the local syntaxes of chosen service providers (back-ends at VITO, EODC, mundialis, Sinergise, EURAC, JRC, CREODIAS, WEkEO DIAS and a proxy to Google Earth Engine). Serving as template for the connection of further back-ends, the existing open source APIs will simplify the use of cloud-based EO processing engines, allow switching between cloud-based back office providers and comparing them, and enable reproducible, open EO science. Thereby, openEO reduces the entry barriers for the adaptation of cloud computing technologies by a broad user community and paves the way for the federation of EO data infrastructure capabilities.
Other objectives have been to implement pre-defined processes for all aspects of the EO data life cycle and to develop use cases as proof-of-concept. 140+ processes have been implemented to find, access, and to process EO data. Additionally, user-defined functions can be processed on selected back-ends, using the openEO API. Five use cases have been developed to prove the usefulness of the developed processes and to validate the openEO interfaces.