iRODS primer 2 : integrated rule-oriented data system

cover image

Where to find it

Information & Library Science Library

Call Number
QA76.9.D3 X85 2017
Status
Available

Summary

Policy-based data management enables the creation of community-specific collections. Every collection is created for a purpose. The purpose defines the set of properties that will be associated with the collection. The properties are enforced by management policies that control the execution of procedures that are applied whenever data are ingested or accessed. The procedures generate state information that defines the outcome of enforcing the management policy. The state information can be queried to validate assessment criteria and verify that the required collection properties have been conserved. The integrated Rule-Oriented Data System implements the data management framework required to support policy-based data management. Policies are turned into computer actionable Rules. Procedures are composed from a microservice-oriented architecture. The result is a highly extensible and tunable system that can enforce management policies, automate administrative tasks, and periodically validate assessment criteria. iRODS 4.0+ represents a major effort to analyze, harden, and package iRODS for sustainability, modularization, security, and testability. This has led to a fairly significant refactorization of much of the underlying codebase. iRODS has been modularized whereby existing iRODS 3.x functionality has been replaced and provided by small, interoperable plugins. The core is designed to be as immutable as possible and serve as a bus for handling the internal logic of the business of iRODS. Seven major interfaces have been exposed by the core and allow extensibility and separation of functionality into plugins.

Contents

1. Introduction. -- 2. Integrated rule-oriented data system -- 2.1 Data grid overview --

3. iRODS architecture -- 3.1 Virtualization in iRODS -- 3.2 iRODS components -- 3.3 User environment variables -- 3.4 Configuration files -- 3.4.1 /odbc.ini -- 3.4.2 /.irods/.irodsA -- 3.4.3 /etc/irods/server_config.json -- 3.4.4 /.irods/irods_environment.json -- 3.4.5 Checksum configuration -- 3.4.6 Special characters -- 3.5 Plugin interfaces -- 3.5.1 Pluggable microservices -- 3.5.2 Composable resources -- 3.5.3 Pluggable authentication -- 3.5.4 Pluggable network -- 3.5.5 Pluggable database -- 3.5.6 Pluggable RPC API -- 3.5.7 Pluggable rule engine -- 3.6 Example plugins -- 3.6.1 Composable resources -- 3.6.2 Pluggable authentication --

4. Rule-oriented programming -- 4.1 Session state variables -- 4.2 Persistent state information variables --

5. The iRODS rule system -- 5.1 The iRODS rule architecture -- 5.2 Default iRODS rules -- 5.3 Session variables available for default iRODS rules -- 5.4 Dynamic policy enforcement points -- 5.4.1 Flow control -- 5.4.2 Parameter serialization -- 5.4.3 Dynamic pep signatures -- 5.5 Pluggable rule engine architecture -- 5.5.1 Rule engine plugin framework -- 5.5.2 Configuration (server_config.json) -- 5.6 The iRODS rule language -- 5.6.1 Comments -- 5.6.2 Directives -- 5.6.3 Boolean and numeric -- 5.6.4 Strings -- 5.6.5 Dot expression -- 5.6.6 Constant -- 5.6.7 Function -- 5.6.8 Rule -- 5.6.9 Data types and pattern matching -- 5.6.10 Control structures -- 5.6.11 Recovery chain for control structures -- 5.6.12 Types -- 5.6.13 Language integrated general query -- 5.6.14 Path literals -- 5.7 Delay execution -- 5.7.1 Syntax -- 5.7.2 Examples -- 5.8 Remote execution -- 5.8.1 Syntax -- 5.8.2 Examples --

6. iRODS microservices -- 6.1 Microservice input/output arguments -- 6.2 About microservices and microservice plugins -- 6.3 Examples -- 6.3.1 The plugin factory -- 6.3.2 The microservice definition -- 6.3.3 Building and installing the example code -- 6.3.4 Testing the microservice --

A. Exercises -- Short questions -- Essay questions -- Authors' biographies.

Other details