ESA > Join & Share > Technology Projects > EO-RCP Project

EO-RCP Project

Earth Observation Rich Client Platform

Introduction and Objectives

ESA is offering the Earth Observation user community a suite of software tools that provide catalogue and data access function, data viewing, analysis and processing functions, as well as hosted processing services. These tools are complemented by third party software, which is used to integrate or combine EO data with information typically managed by Geographical Information Systems. This offering has a number of limitations, both for end users and developers:

  • Tools from each of the three domains (catalogue and data access, data manipulation, GIS) are not well integrated. Users have to switch between tools to achieve their results.
  • Tools follow their own designs, look and feel, terminology, etc. which complicates the end user's life.
  • Common functionality is duplicated in various tools.

EO-RCP is an effort to join and harmonize such functionality into a single, extensible tool.
The following applications are shaping the base functionality of EO-RCP:

  • BEAM and NEST for processing, including reuse of modules
  • EOLI-SA for catalog functionality and product ordering Beyond those functionalities, further extensions in various processing domains are encouraged by the open and extensible architecture.

The objective of the Earth Observation Rich Client Platform (EO-RCP) project is to study the trends on open source Rich Client Platform environments for advanced user interface generation and components creation and sharing, in an attempt to resolve the issues highlighted above.
Modularity offered by the features and the dynamic plug-in architecture of a Rich Client Platform (RCP) allows the assembly and reconfiguration of highly specialized applications, instead of monolithic applications.
Reusing pieces of software between projects is made easier: dependencies between plug-ins in an RCP environment are explicitly defined and enforced, making it easier to safely pick and choose only those plug-ins that a particular application needs rather than forcing everyone to participate in a "one size fits all" program. Additionally the reconfiguration of the application for different use cases is important as it help the users to focus on the task at hand instead.
Duplication of code is minimized by providing common functionality as part of the EO-RCP foundation. Plug-in developers then have access to this functionality. Of course a large set of software already exists today. The goal is thus to provide a means of integration for the existing functionality, be it open source software or commercial modules. Another aspect of the study is the preparation for the future in terms of processing capability. The Sentinel missions will provide very large products and will require very scalable processing. This scalability has to be considered during the design of a new software foundation.

Expected Results

EO-RCP provides the base for the integration of EO processing software into a common framework. The architecture of this foundation thus covers the general functionality of most currently existing EO processing software and allows the extension of this foundation with specific implementations. The key functionality that covers a very large portion of the EO processing workflow is the following:

  • Catalog access, search, browsing
  • Product ordering and download
  • Product processing, reading, writing
  • Chained execution for automated processing

For each of these functionalities different systems and tools already exist, which need to be interfaced and integrated.
In order to prove the functionality and viability of the architecture, all of the interfaces are supplied with specific implementations. Since the number of existing applications is huge and the scope of the EO-RCP project is limited, only a part of the interfaces will be linked to specific systems. Other functionality will be demonstrated using dummy implementations, which still display the general capability. A key aspect of theĀ EO-RCP architecture is the so called "External Service Adapter", which allows a clean separation of incompatibly licensed data processing modules by using separate processes.
This adapter has two reasons and benefits:

  • Separated processes allow the utilization of GPL licensed software without violating the license terms. This is particularly important for the integration and use of commercial and GPL licensed modules.
  • External processing of complex algorithms on more powerful hardware and potentially a Grid.

The External Service Adapter mirrors the processing and chained processing interfaces of EO-RCP in an additional process, which is connected via network.

The most important output of the study is a robust, well-documented architecture, which provides extension points for most currently used EO data processing workflows. Developers of such tools will be invited to review the architecture considering the needs of their own software modules. In order to provide the architecture, various modules are to be implemented either as full fledged implementation or as dummy demonstrating the general capability. Development is intended iteratively with new prototype releases every two months, once the architecture definition is finalized and implementation starts.
The following items are to be implemented and provided as part of the prototypes:

  • Catalog search using OpenSearch
  • Integration of BEAM/NEST processing modules
  • Chain processing capabilities, including integration of the NEST GPF executor
  • Configurable UI
  • Plug-In Developer Guide
  • Further documentation: FAQ, User manual, etc.


Solenix GmbH

Contributors to this page: Michele Iapaolo .

Page last modified on Friday 29 of April 2016 14:51:47 CEST by Michele Iapaolo.