Edge Server Environment
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
Fusion Edge Server Ledger
The fes_ledger.json file is important when running in Dynamic mode