TAO (stands for Tool Augmentation by user enhancements and Orchestration) is an open source, lightweight, generic, extensible and distributed orchestration framework. It allows to reuse (i.e. integrate) commonly used toolboxes (such as, but not limited to, SNAP, Orfeo Toolbox, GDAL, PolSARPro, etc.). This framework allows for processing composition and distribution in such a way that end users could define by themselves processing workflows and easily integrate additional processing modules, without any programming knowledge requirements.

In terms of use, the TAO platform provides a mean for orchestration of heterogeneous processing components and libraries in order to process scientific data. The key features of the TAO framework consist in:

  • Visual (i.e. user-done) integration of EO processing toolboxes
  • Easy visual definition of processing workflows by simple drag-and-drop operations
  • Integration of user-defined algorithms, written in Python or R, in the processing workflows
  • Visual definition of execution topologies (collection of machines)
  • DRMAA-compliant orchestrated execution of workflows
  • Self-contained containerized execution on remote nodes
  • User and public virtual workspaces
  • DIAS compatible EO data sources abstraction for querying and retrieval of EO data
  • OGC standard interfaces for workflow execution.

To have a simple view of the TAO platform, the platform model is split among four main macro-components. Such a macro-component is a logical collection of components with related functions. It has no direct relationship to the software implementation.

 

User Management

The TAO platform was designed and built to be a multi-user platform. Therefore, one of its basic features relates to the user management. An user can authenticate to the platform by several configurable mechanisms (local user base, LDAP or even single sign-on). User accounts can be linked to groups with appropriate system rights.

The framework is open source, entirely written in the Java language and can be accessed by clinking here.

Technology Stack

CS ROMANIA is responsible for the platform design and implementation, and also for the integration of various open-source processing toolboxes.