The European Space Agency
Home
APEx Application Propagation Environments
Main navigation
  • Algorithm Services
  • Project Environments
    Web Portal
    Geospatial Explorer
    Documentation Hub
    User Forum
    Product Catalogue
    Collaborative Workspaces
  • Resources
    • Algorithm Services Catalogue
    • Data Catalogue
  • Documentation
  • FAQ
  • About APEx
  • News
Contact us
Main navigation
  • Algorithm Services
  • Project Environments
  • Resources
  • Documentation
  • FAQ
  • About APEx
  • News
APEx - Documentation Portal
  1. Algorithm Services
  2. On-Demand EO Services
  • Welcome
  • On-demand EO services
    • Using openEO service
    • APEx-Compliant Platforms
  • Project Tools
    • Use Cases
    • Geospatial Explorer
    • Project Portal
    • User Workspace
    • Interactive Development Environment
    • Product Catalogue
    • Documentation Portal
    • User Forum
  • Algorithm Services
    • On-Demand EO Services
    • Use Cases
    • Algorithm Porting
    • Algorithm Onboarding
    • Algorithm Upscaling
    • Algorithm Enhancement
    • Toolbox Cloudification
    • Algorithm Intercomparison
  • Guides
    • Creating an APEx account
    • Creating APEx single sign-on token
    • Creating openEO based services
    • Creating EOAP based services
    • Upscaling openEO based services
    • Ingesting STAC metadata in APEx Product Catalogue
    • Linking APEx STAC catalogue with an openEO service
    • File format recommendations
  • Interoperability and Compliance Guidelines
    • Definitions & Actors
    • Algorithm Service Development Options
    • Algorithm Developer and Provider Guidelines
    • Algorithm Hosting Platforms Guidelines
    • Geospatial Explorer
    • Federated Business Model
  1. Algorithm Services
  2. On-Demand EO Services

On-Demand EO Services

What is an on-demand service?

On-demand services are scalable, cloud-based algorithms delivered as-a-Service, that users can trigger with their user-specific parametrisation.

Therefore, currently APEx-compliant on-demand services should either adopt an openEO User Defined Process (UDP) or an EOAP Process implementation. This ensures that the algorithm can be hosted on one of the APEx-compliant algorithm hosting platforms and executed as an OGC API Process or through the openEO API. There are additional APEx compliance and interoperability guidelines which help ensuring FAIR compliance.

Also, the resulting on-demand services should be compliant to the FAIR data principles (Findable, Accessible, Interoperable and Reusable).

How to build an on-demand service?

The easiest and most cost-effective way to build these on-demand services is to use an existing platform that is already part of the ESA Network of Resources (NoR). It is important to note that APEx itself is not a processing platform, but rather an initiative to streamline and aggregate EO based services building on top of existing EO platforms. Consequently, APEx treats compliant EO platforms or hosting environments neutrally and algorithm PIs can decide where to deploy the resulting service.

Which option to choose?

To help out projects, we created dedicated pages to explain the benefits of EOAP and openEO based services.

Building an openEO UDP based service

To integrate your algorithm with openEO [1], you need to convert it into a User Defined Process ( UDP)[2]. If your application is already built using an openEO process graph or if your workflow is simple enough, the conversion to a UDP should be straightforward. If not, APEx can provide the guidance and support you need to efficiently translate your algorithm into an openEO implementation and UDP service.

Once your workflow is ready as an openEO process graph, you can create a UDP by parameterizing the process graph. This notebook demonstrates exactly how to do that.

After your UDP is created, it can be registered in the APEx Algorithm Services Catalogue and associated with one or more backends or platforms capable of running it. As APEx continues to evolve, additional tools will become available that aid this process, including functionality to check if your service is still functional.

For further guidance on creating and using UDPs, you can explore the following resources:

  • APEx openEO process (UDP) writer guide
  • APEx openEO process (UDP) integration guide
  • UDP support in Python
  • Jupyter notebook example
  • Official openEO specification

Development and Testing Environments

While an openEO UDP can be developed on any supported environment using the existing openEO tools, we recommend testing the UDP on an APEx-compliant hosting platform. This ensures platform compatibility and facilitates the deployment of your UDP as an on-demand service.

For a comprehensive overview of currently APEx-compliant hosting platforms, please refer to this page.

Building an EOAP Process based service

Another option is to package your software using Docker containers. This approach, based on the OGC Best Practice for Earth Observation Application Packaging (EOAP), is very generic and is particularly relevant if you have an existing piece of complex software that you want to make available as a service.

This APEx-compliant, cloud service implementation option, consists in containerizing your software (using Docker technologies) along with CWL wrappers (Common Workflow Language)[3], together forming a reusable, scalable Earth Observation Application Package (EOAP) [4]. APEx can provide the guidance and support you need to efficiently translate your algorithm into an EOAP implementation.

After your EOAP is created, it can be registered in the APEx Algorithm Services Catalogue and associated with one or more backends or platforms capable of running it. As APEx continues to evolve, additional tools will become available that aid this process, including functionality to check if your service remains in operational state, when it has been deployed onto an APEx-compliant algorithm hosting platform.

This tutorial explains more about this option.

Development and Testing Environments

To develop and test an OGC Application Package, you can use one of the following environments, which include the necessary tools and basic infrastructure to support the development process:

  • ELLIP
  • APEx Instantiation Services
    • Workspace and IDE

For a comprehensive overview of currently APEx-compliant hosting platforms, please refer to this page.

Onboarding your service on the ESA Network of Resources

To further enhance the reach of your developed EO service and to offer it in the ESA NoR portfolio as a commercial service and take advantage of the ESA NOR sponsorship, akey feature of the resulting on-demand services is that they can be onboarded in the ESA Network of Resources (NoR). This integration enhances the service’s visibility and opens up a potential additional revenue stream for the project.

An important step of the onboarding on the NoR is setting the price, expressed in euros per km². The final price of the service is determined by the project consortium and can be supported by APEx tooling. In general, the price needs to cover:

  • The processing cost
  • A margin for fluctuation in processing cost
  • Optionally, a revenue margin for the project

Currently, it is the responsibility of the algorithm hosting platform to add services to their NoR offering. This approach ensures that APEx retains a neutral position, allowing for direct negotiations between platform provider and service provider. Consequently, it is also the responsibility of the platforms to provide an SLA (Service Level Agreement) to the end user. In case of service malfunctions, the end user will interact directly with the platform for support.

How can APEx support your project?

The level of support available depends on your project’s status:

  • Ongoing or upcoming ESA EOP projects
    We recommend discussing APEx support directly with your TO.
  • Completed ESA EOP projects
    Please reach out to us to explore how APEx can help propagate and maintain your project’s results.
  • Non-ESA projects
    APEx Algorithm Services will be available through the ESA Network of Resources (NoR) starting in 2026.

The goal of APEx is to simplify the complex task of building efficient, operational, cloud-based on-demand services. ESA recognizes that achieving this often requires specific skills that may not be present in the project consortium or that could significantly impact the project budget. To assist your project in these activities, APEx can provide the following Algorithm Services:

  • Algorithm Porting
    Discover how APEx can assist your project in implementing your algorithm using APEx-compliant technologies, such as openEO User Defined Processes (UDP) or OGC Application Packages.
  • Algorithm Onboarding
    Explore how APEx can assist in deploying your algorithms within an APEx-compatible hosting platform and sharing them across the EO community through the APEx Algorithm Services Catalogue.
  • Algorithm Upscaling
    Learn how APEx facilitates and simplifies the execution of algorithms at scale.
  • Algorithm Enhancement
    Discover how APEx supports improving the computational performance of your algorithms or workflows.
  • Toolbox Cloudification
    Transform the key functionalities of your favorite EO toolbox into cloud-based services with APEx.
  • Algorithm Intercomparison
    Learn how APEx facilitates comparing algorithms and workflows.
Not sure which services are useful for your project?

Visit our use cases page to explore various project scenarios and see how APEx can support your specific needs.

References

1.
openEO
2.
OpenEO User Defined Processes
3.
Commonwl.org: Common Workflow Language Specifications
4.
OGC Best Practice for Earth Observation Application Package
Algorithm Services
Use Cases