What is iRODS?
From the DICE home page, here is how it is described:
iRODS™, the Integrated Rule-Oriented Data System, is a data grid software system developed by the Data Intensive Cyber Environments research group (developers of the SRB, the Storage Resource Broker), and collaborators. The iRODS system is based on expertise gained through a decade of applying the SRB technology in support of Data Grids, Digital Libraries, Persistent Archives, and Real-time Data Systems. iRODS management policies (sets of assertions these communities make about their digital collections) are characterized in iRODS Rules and state information. At the iRODS core, a Rule Engine interprets the Rules to decide how the system is to respond to various requests and conditions. iRODS is open source under a BSD license.
A quick fact sheet is available here too!
What is it really?
iRODS is very hard to describe in one paragraph, I think it's a new sort of middleware platform, meant to depict all sorts of data in a hierarchical, logical namespace. Think of it as a resource server, in the 'REST-ful' sense of a resource. It organizes distributed collections under regular, logical path names.
- iRODS manages a common logical namespace over distributed collections of data.
- The data is based on an abstraction of a global file system.
- iRODS allows the specification of policies at each storage location to manage the data.
- iRODS manages access controls, as well as easy sharing and federation of data between organizations.
- iRODS automatically maintains metadata about distributed collections in a master catalog, as well as user-defined metadata.
- iRODS can automatically maintain audit logs of all activities on the grid.
There's a lot to the platform, it occupies a unique space, and sits in the middle of a lot of cool trends in computing, such as:
- 'big data'
- large scale cyber-infrastructure
- metadata and find-ability
- long term preservation and data management
- emerging standards for defining a trusted digital repository
- data life cycle management
- policy-based preservation
This blog is about the Java (and PHP) API for the iRODS data grid, and I hope to use this to develop this blog as a useful tool for developers working on the above problem set. So let's have a go!