The following sections describe the components of the infrastructure on which the DE operates.
The DE provides access and management of data via the CyVerse Data Store, which is built on top of iRODS.
The DE integrates the Data Store with HTCondor and the Agave Platform to provide a large set of tools for performing resource intense analyses.
Nearly all applications use a database. The DE is backed by a PostgreSQL database. The schemas can be found here.
RabbitMQ is used throughout our services, but primarily to integrate our services with iRODS.
The DE uses Elasticsearch to provide search and other capabilities.
Docker is used throughout the DE architecture. Most importantly, all of the tools that run in the DE’s HTCondor cluster run within docker containers, allowing us to integrate new tools without affecting existing tools.
Additionally, the components of the DE application are packaged as Docker containers.
All of these images can be accessed through our organization page on Docker Hub.
The DE is composed of backend services and a user interface (UI).
The DE backend is built as a micro-services architecture. Each of these services are contained in the services/ folder.
The functionality of the micro-service architecture is aggregated in the Terrain
service, and
exposed as a RESTful api.
More information about the backend micro-service architecture and implementation may be found here.
All of the UI services are provided by the DE api. The application itself is built with GXT, a UI component library built on top of GWT.
More information about the UI design and implementation may be found here.