Edge Server Environment

From Fusion Registry Wiki
Revision as of 01:10, 26 August 2022 by Mnelson (talk | contribs) (Overview)
Jump to navigation Jump to search

Overview

The Fusion Edge Server is responsible for exposing data and supporting metadata via a number of read only web service APIs. The data and metadata is the Environment, changes to the information in the data or metadata can only be made by supplying a new Environment.

This design means the Fusion Edge Server, when running in dynamic mode, will only ever reapply a complete Environment (in totality).

The Environment is made up of a collection of files, which are generated the output of the compile process of the Fusion Edge Compiler. These files contain prebuilt datastores for structures, data, metadata, prebuilt free text search indexes, and other pre-cached information which is used in dissemination.

The only way to modify an Environment is to re-run the compile process of the Fusion Edge Compiler. A built Environment can not be manually modified as it will result in corruption due to the mismatch in the digital signature applied to the Environment at compile time.

The Fusion Edge Compiler can create a new Environment by merging in new information into an existing Environment - for example when compiling a few additional Observations into an existing dataset. However, the output is always a new Environment with the new information added in. In this way Environments are fully immutable, they can only be changed by taking a copy of a previous Environment and adding to it.

Environment Contents

The Environment is a collection of files and folders (in bold) which are

cache
dab
data   holds a prebuilt data store for each Dataflow
datasearch   holds a prebuilt free text search dictionary
languages  details about multilingual metadata
ledger_indexes  details about previous Environments from which this was built
metadata   holds a prebuilt reference metadata database
structure  holds a prebuilt structural metadata database
xref       holds a prebuilt cache of cross reference information
fes_ledger.json  describes the release history of environments, holds embargo timestamps