Chapter 32. Archive Tools - org.csstudio.archive.engine and related

Table of Contents

org.csstudio.archive.engine
org.csstudio.archive.config
org.csstudio.archive.config.rdb
org.csstudio.archive.writer
org.csstudio.archive.writer.rdb
org.csstudio.archive.reader
org.csstudio.archive.reader.rdb
org.csstudio.archive.rdb

The Archive Engine uses plugins to allow customization. It was developed based on the idea of using a relational database (MySQL, Oracle, PostgreSQL, ...) for storing both the sample engine configuration and the archived data. By replacing for example the plugin that implements the write support, one can store samples in a modified RDB table format or even a totally different storage medium. See Chapter 11, Archive System for setup and usage of the archive tools.

org.csstudio.archive.engine

This plugin contains the archive sample engine code. This includes the code that connects to PVs, samples them by various means, as well as a web server to provide access to status information. To obtain the sample engine configuration and to write samples to the actual storage, it uses interfaces from plugins described in the following sections.

The engine plugin also includes an ArchiveEngine.product file that is used to build the executable. This product file selects specific implementing plugins, for example to create an RDB-based archive engine. Sites that plan to build the archive engine for a different configuration or sample storage implementation will need to create a different product file.

org.csstudio.archive.config

This plugin defines the API and extension point for reading an archive engine configuration. It provides access to the list of groups, channels, and the sample configuration of each channel. The archive engine uses this API to determine which channels it should archive and how.

org.csstudio.archive.config.rdb

This plugin implements the configuration API for an RDB, meaning it reads an archive configuration from MySQL, Oracle or PostgreSQL. It also provides ArchiveConfigTool.product, a command-line application that can be used to export a sample configuration into an XML file and (re-)import an archive engine configuration from such an XML file.

By replacing this plugin with a site-specific variant, one could for example store the archive engine configuration in a different table format or even an entirely different system like LDAP.

org.csstudio.archive.writer

This plugin defines the API and extension point for writing archive samples to a data store. The archive engine uses this API to write samples to the archive.

org.csstudio.archive.writer.rdb

This plugin implements the sample writer API for an RDB, meaning it allows the archive engine to write samples to MySQL, Oracle or PostgreSQL.

By replacing this plugin with a site-specific variant, one could for example store the archive engine configuration in a different table format or even an entirely different storage system.

org.csstudio.archive.reader

This plugin defines the API and extension point for reading archived data. It is for example used by the Data Browser to obtain historic data for a channel.

org.csstudio.archive.reader.rdb

This plugin implements the archive reader API for the RDB table structure used by the RDB-based archive engine. When using an archive engine that writes to a different RDB table layout or even an entirely different storage system, you will have to implement the archive reader API for that system.

org.csstudio.archive.rdb

This plugin defines the RDB table structure that is used by the org.csstudio.archive.config.rdb, org.csstudio.archive.writer.rdb and org.csstudio.archivereader.rdb plugins. It also defines the fundamental RDB connection preferences for those plugins, i.e. the RDB URL, user name and password.