The iRODS Primer has been updated for iRODS 4.x and is now available from Morgan Claypool.
iRODS Primer 2: Integrated Rule-Oriented Data System
Synthesis Lectures on Information Concepts, Retrieval, and Services
March 2017, 131 pages, (doi:10.2200/S00760ED1V01Y201702ICR057)Hao Xu, University of North Carolina at Chapel Hill
Terrell Russell, University of North Carolina at Chapel Hill
Jason Coposky, University of North Carolina at Chapel Hill
Arcot Rajasekar, University of North Carolina at Chapel Hill
Reagan Moore, University of North Carolina at Chapel Hill
Antoine de Torcy, University of North Carolina at Chapel Hill
Michael Wan, University of California, San Diego
Wayne Shroeder, University of California, San Diego
Sheau-Yen Chen, University of California, San Diego
Abstract
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.