Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 3.04 KB

File metadata and controls

51 lines (41 loc) · 3.04 KB

Introduction

Documentation map

Document What it covers
BES Modules Overview of the plugin module system and module responsibilities.
BES Framework Core framework concepts, request/response flow, and extension points.
BES Configuration Runtime configuration, bes.conf, and module configuration files.
Creating New Modules Guidance for adding new data or response modules.
BES PPT/TfTP Low-level PPT/TfTP protocol details for BES connections.

The Hyrax server architecture

The BES

The Back-end Server (BES) for Hyrax is a unix daemon that builds DAP2 and DAP4 responses for various kinds of data. Since the daemon runs on Unix hosts, it often works with data that are stored in files or collections of files found on file systems. However, the BES can also use data stored in database systems, web object stores (e.g., S3), other kinds of web APIs and remote data accessed using plain HTTP.

In addition to the DAP2/4 protocols, the BES can package responses to queries for data in a number of well-known binary file types, including NetCDF3/4, GeoTIFF, ASCII/CSV and JPEG2000.

All the functionality specific to DAP or particular types of data is implemented using a group of 'plugin modules.' These modules isolate the operations for specific kinds of daa from the BES software itself. Each kind of data that can be read is accessed using a different module and each response other than the DAP2/4 responses is returned using a module. For more detail, see BES Modules and BES Framework. For guidance on adding new modules, see Creating New Modules.

The BES does not contain (much) software that implements the DAP2/4 protocols. Instead, it uses the libdap4 library for that. See github.com/opendap/libdap4.

The BES does not implement the WEB API for DAP2/4, instead the OLFS (OPeNDAP Lightweight Front-end Server) is used to do that. See github.com/opendap/olfs.

The BES framework is designed to be extensible and can be used to combine reading various kinds of data with building different kinds of responses. The framework is designed to support lazy data read operations, only reading those data that are needed and only when they are needed. Note that some kinds of well-known binary responses must be built in full before they are returned, but this is not a requirement of the framework but the responses, or their APIs. For configuration details and installed layout, see BES Configuration. For the PPT/TfTP protocol used between clients and the BES, see BES PPT/TfTP.

Information about the Hyrax data server can be found here in the latest and most comprehensive Hyrax documentation.

The BES API Documentation is here