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. The following descriptions are included to help explain the architecture of iRODS.
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 (data storage, policy enforcement, etc.). Nine major interfaces will be exposed by the core and will allow extensibility and separation of functionality into plugins. A few plugins are included by default in iRODS to provide a set of base functionality.
The planned plugin interfaces and their status are listed here:
|Pluggable RPC API||Complete||4.0.0b2|
|Pluggable Rule Engine||Complete||4.2.0|
|Pluggable First Class Objects||Planned|